ARM包括以下几种异常类型:1.复位(如加电,系统复位等)2.未定义指令 3.软中断 4.指令预取中止 5.数据访问中止 7.外部中断请求 8.快速中断请求
中断处理过程:
1.保存处理器当前状态,中断屏蔽以及各条件标志位。即将CPSR寄存器中的值保存到SPSR寄存器中。
2.设置CPSR寄存器中的CPU运行模式位,使之切换到相应模式中去,并且关中断。
3.将寄存器 lr_mode(即 r14)寄存器设置成返回地址。
4.将指令指针寄存器设置成该异常中断的中断向量地址。从而跳转到相应的异常中断处理程序处执行。
从异常中断处理程序中返回
1.恢复被中断程序的状态,即将SPSR寄存器内容复制到CPSR中
2.返回到发生中断异常指令的下一条指令处执行。即将 lr_mode寄存器的内容复制到指令指针寄存器中。
阅读(296) | 评论(0) | 转发(0) |