×
单片机 > 单片机程序设计 > 详情

arm异常处理流程

发布时间:2020-08-25 发布时间:
|

1. 什么是异常?


cpu正常运行的时候,出现一些突发事件,我们的cpu就必须暂停当前程序的运行,去处理这些异常




2. cpu中有哪些异常?


1.reset       上电 重启


2.undef      流水线中某个非法指令到达执行状态的时候执行


3. swi         软中断指令


4.prefetch  当一个指令被从内存中预取时,由于某种原因而失败,如果它能到达执行状态这个异常才会产生


5.data       如果一个预取指令试图访问一个非法的内存单元,这是异常产生


6.IRQ       通常的中断


7 fiq          快速中断


 


3. 异常会让cpu进入什么模式?


1.reset    -----》svc


2.undef  ------》undef模式


3. swi    -------》svc


4. prefetch----》abort


5. data    ----》abort


6. IRQ     ----》irq


7. fiq      ----》fiq


 


4. arm cpu异常处理流程


1)  拷贝 CPSR 到 SPSR_

注1:这些操作只能在 ARM 态执行.


注2:linux内核的异常向量表


D:\linux-3.14-fs4412\arch\arm\kernel\entry-armv.S



注3:  进入异常入口之后,:要保存现场【r0-r12】,压栈还原现场,【r0-r12】需要退栈。


关键字:arm  异常  处理流程 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析