ARM处理器7种类型异常
按优先级从高到低的排列如下:
复位异常(Reset)
数据异常(Date Abort)
快速中断异常(FIQ)
外部中断异常(IRQ)
预取异常(Prefetch Abort)
软件中断异常(SWI)
未定义指令异常(Underfined instruction)
当异常发生时
处理器会把PC设置为一个特定的存储器地址。
这一地址放在被称为向量表(vector table)的特定地址范围内。
向量表的入口是一些跳转指令,跳转到专门处理某个异常或中断的子程序。
当异常发生时,分组寄存器r14和SPSR用于保存处理器状态。
ARM异常处理器模式
每一种异常都会导致内核进入一种特定的模式。
用户和系统模式是仅有的不可通过异常进入的两种模式,也就是说,要进入这两种模式,必须通过编程改变CPSR。