ARM单片机的中断详细过程(重要)

ARM单片机的中断详细过程(重要)

一、ARM异常中断

ARM的异常(中断源)总共分为三类(八种):

  • 三类:
    • (1)执行指令引起的直接异常:软件中断,未定义的指令和预取指令终止(地址无效、权限问题、内存故障、缓冲一致性)等。
    • (2)指令执行引起的间接异常:读取和存储数据时的数据终止。
    • (3)外部产生的异常(与指令流无关):复位,IRQ,FIQ(快速中断)。
  • 在8种异常中断中,向量中断控制器VIC仅仅控制外部中断源,然后将其输出为FIQ和IRQ!!!"向量中断控制器VIC"的作用就是控制允许哪些中断源可以产生中断 、可以产生那类中断 、产生中断后执行哪段服务程序 。

二、关于中断向量表(多级中断向量表)

异常有四种:中断、陷阱、故障、终止。每一种异常都有对应的处理子程序,所以系统启动时初始化有一个中断向量表在从地址0开始的32个字节的空间内。

  • 异常细分下来总共有8种:复位 ,未定义指令 ,软件中断SWI ,指令预取终止 ,数据访问终止 ,保留 ,IRQ ,FIQ。其中FIQ和IRQ是由向量中断控制器(VIC)来进行管理的外部中断,细分下来总共有大概30种左右的中断源。这些中断也对应一个中断向量表,大概是从0x0000020-0x000000c0。也就是说,由于IRQ数量众多,所以还需要一个二级普通中断向量表!这些中断源经由VIC之后可以由VIC自由决定其属于那一种中断。
相关推荐
炸膛坦客9 小时前
单片机开发工具篇:(十四)配置输出 .map 文件及其本地路径
c语言·单片机·嵌入式硬件
笨笨饿10 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网
我叫洋洋12 小时前
Cadence CIS 元器件库合并实战:3000+ 焊盘、156 个符号零冲突并入自有库
数据库·单片机·嵌入式硬件·oracle·电路
ebiobiz14 小时前
极海 APM32 使用 Nimmake 编译指南
c++·python·单片机·嵌入式硬件·mcu
小神兵15 小时前
对电压源与电流源的的简单理解
单片机·嵌入式硬件·物联网
comyccccc16 小时前
三极管与MOS管工作原理全解析学习笔记
单片机·嵌入式硬件
FPGA小徐17 小时前
运放电路:负载必须接地时,如何做电流采样(浮地负载 vs 接地负载)
单片机·嵌入式硬件
女神下凡19 小时前
芯参谋(37):EEPROM_电路设计指南
arm开发·单片机·嵌入式硬件·fpga开发·设计规范
沐欣工作室_lvyiyi20 小时前
基于云平台的输液智能监测控制系统设计与实现(论文+源码)
stm32·单片机·单片机毕业设计·电子信息工程毕业设计
Zwawa21 小时前
蜂鸣器为什么会响:有源、无源和低电平触发
单片机·嵌入式