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

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

一、ARM异常中断

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

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

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

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

  • 异常细分下来总共有8种:复位未定义指令软件中断SWI指令预取终止数据访问终止保留IRQFIQ。其中FIQ和IRQ是由向量中断控制器(VIC)来进行管理的外部中断,细分下来总共有大概30种左右的中断源。这些中断也对应一个中断向量表,大概是从0x0000020-0x000000c0。也就是说,由于IRQ数量众多,所以还需要一个二级普通中断向量表!这些中断源经由VIC之后可以由VIC自由决定其属于那一种中断。
相关推荐
蒸蛋一级爱好者11 小时前
TFTP协议
单片机·嵌入式硬件
优信电子11 小时前
STM32/C51驱动 DHTC11 温湿度传感器
stm32·单片机·嵌入式硬件·c51·温湿度传感器·dhtc11·环境测量
QiLinkOS12 小时前
【从实验室到商业战场:发明专利如何重塑科技与企业的共生生态】
大数据·c语言·数据结构·c++·人工智能·单片机·算法
周周记笔记12 小时前
【元器件专题】三极管-如果B极给一个方波信号,那么V0输出也可以设计为一个方波信号
单片机·嵌入式硬件
HPT_Lt13 小时前
ZCC10012支持100V/1.2A 超低静态电流同步降压转换器 兼容LM5164
单片机·嵌入式硬件
2zcode14 小时前
基于STM32的多功能万年历电子闹钟设计与实现
stm32·单片机·嵌入式硬件
一抹晴空14 小时前
Keil MDK AC6 compiler编译报错,与AC5区别
c语言·arm开发·单片机
0南城逆流014 小时前
【STM32】RTT-Studio中HAL库开发教程十四:MSMART串口组件
stm32·单片机·嵌入式硬件
小慧102414 小时前
STM 32 TIM定时器(2)
stm32·单片机
无痕幽雨15 小时前
STM32实现MQTT及JSON包思路二
stm32·单片机·嵌入式硬件