5716| 2
|
I.MX中断实验 中断处理函数为什么要进入SVC模式后再执行 |
1金钱
最佳答案第一个问题:为什么中断处理函数不能在IRQ模式下执行?
中断处理函数(汇编)执行完是要返回中断前的位置,这个返回地址就保存在r14_irq里面,如果有中断嵌套,那么这个r14_irq就会被覆盖,导致中断回不去了。
第二个问题:进入SVC模式后 将LR压栈的意义是什么?
汇编里面,调用blx之类的指令必须要保存LR,不然它就回不去了,因为blx这种指令会自动复写lr以便system_irqhandler执行完能回来。
参考资料:
https://ww ...
| ||
发表于 2020-12-17 21:22:44
|
显示全部楼层
| ||
坚决不用寄存器,拒绝重复造轮子。
|
||
| ||
|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )
GMT+8, 2024-11-25 20:35
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网