一、异常
1.异常类型
2.IRQ中断流程
1.cpu每个指令周期检查是否发送异常;
2.若发现异常,保存CPSR(程序状态寄存器),将当前处理模式设置为ARM、IRQ模式,将被打断应用程序地址的下一个指令保存到LR寄存器,例如当前程序地址为0x6000008,LR为0x6000004,即下一个指令的地址;
3.PC指针指向0x18,程序到0x18取出指令,这个指令跳转到中断异常处理函数;
4.中断异常处理函数中,分三步处理
①保护现场:寄存器、CPU状态入栈;
②根据中断号,跳转到对应的中断处理函数中执行;
③执行完毕恢复现场:寄存器、CPU状态出栈
5.恢复现场后,PC指向原来中断的地方,重新回到断点执行程序