基于IMX6ULLmini的Linux裸机开发系列六:中断向量表

ARMv7-A

一级查表

等中断真正发生的时候,自动跳转指定位置(基址+偏移)

习惯放在代码的起始地方,复位中断放在代码的零地址,被定义的指定中断放在代码的第四个字节的位置

addr TYPE FUNCTION MODE
0x00 Reset 复位中断 SVC
0x04 Undefined instructions 未定义指令中断 Undef
0x08 Supervisor Call 软中断 SYC
0x0C Prefetch abort 指令预取中止中断 ABT
0x10 Data abort 数据访问中止中断 ABT
0x14 RESERVED 未使用 未使用
0x18 IRQ interrupt IRQ 中断 IRQ
0x1C FIQ interrupt FIQ 中断 FIQ

通过触发不同类型的中断,系统进入到相应的运行模式

描述了不同的运行模式

B1.3.1 ARM processor modes (ARMv7-A架构手册)

描述了不同的中断类型

B1.8.1 Exception vectors and the exception base address (ARMv7-A架构手册)

二级查表,执行中断函数

预先注册、回调执行

3.2 Cortex A7 interrupts (芯片数据手册)

 

 偏移32个单位才和数据数据手册一一对应

...

猜你喜欢

转载自blog.csdn.net/qq_51519091/article/details/132367192