当发生异常时,ARM处理器对异常中断的响应过程如下:
1、将CPSR的内容保存到将要执行的异常中断模式的SPSR中。例如,如果异常类型是FIQ,则SPSR_FIQ=CPSR,
2、设2当前程序状态寄存器CPSR中的模式字段位。
3、将异常发生时程序的下一条指令地址保存到新的异常模式的R14(也就是LR)寄存器。
注意,异常发生时程序的下一条指令地址就是断点地址,其地址值应该是K+4。这个值将被保存到LR寄存器中。由于异常类型有好几种,有的异常发生时PC已经被更新;另一部分异常发生时PC没有被更新,因此根据异常中断的类型不同,LR寄存器的值会有一条指令(4字节)地址的差异。
文章由供应商小编原创,转载请注明文章来源出处,谢谢合作!
阅读(2442) | 评论(0) | 转发(0) |