Cortex-M3进入中断(异常)时堆栈保存参数,其中有一个不能理解

2019-12-21 12:07发布

stm32f103zet6+MDK5.14
我想了解CM3在进入中断(或者说是异常)时到底需要保存哪些参数.额,其中有一个参数我不能理解,
如下图中"???"的那个,应该能看的清...还请大神帮忙指导下
000.png (57.06 KB, 下载次数: 0) 下载附件 2017-5-8 16:15 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
xiaohewanwan
2019-12-21 18:43
本帖最后由 xiaohewanwan 于 2017-5-8 17:26 编辑

这个权威指南说得很清楚了吧。异常后的LR保存的不是异常发生的地址,而是一个特殊的值了,比如图中的0xfffffff9。函数返回时cpu可以通过检测LR的值来判断是否要是异常退出以及退出到什么模式下。
这样的用法可以避免出现特殊的异常返回指令,可以让c语言来直接写中断处理程序。

一周热门 更多>