1.异常向量和优先级
异常发生时,处理器会将PC设定为一个特定的存储器地址,这些特定的存储器地址称为异常向量。所有的异常向量被集中放在程序存储器的一个连续地址空间中,称为异常向量表。每个异常向量占4字节,异常向量处是一些跳转指令,跳转到相应的异常处理函数。
通常存储器地址映射地址0x00000000是为异常向量表保留的。但某些嵌入式系统配置使能的时候,低端的异常向量可以选择映射到特定的高端地址0xFFFF0000。Cortex-A8处理器支持通过CP15的C12寄存器将异常向量的首地址设置在任意位置。
每一种异常都会导致内核进入一种特定的模式。此外,也可以通过编程改变CPSR,进入ARM处理器模式。用户模式和系统模式是仅有的不可通过异常进入的俩种模式,要进入这俩种模式,必须通过编程改变CPSR。