Cortex |
您所在的位置:网站首页 › 0xfffffff0是什么 › Cortex |
【EXC_RETURN】 在进入异常服务程序后,硬件自动更新LR的值为特殊的EXC_RETURN。当程序从异常服务程序返回,把这个EXC_RETURN值送往PC时,就会启动处理器的异常中断返回序列。因为LR的值EXC_RETURN是由硬件自动设置的,所以只要没有特殊需求,就不要改动它。RETURN的高28位全为1,只有bit[3:0]的值有特殊含义。位段如下:
【LR的值在异常期间被设置为EXC_RETURN(线程模式使用主堆栈)】 【注意】 进入中断时LR的值是CPU自动设置的,不会有错,为什么退出中断时会有可能LR值变成非法的了呢?只有一个原因:中断例程修改了LR的值,改错了。 由EXC_RETURN的格式可见,我们不能把0xFFFFFFF0~0xFFFFFFFF的地址作为任何返回地址。其实也不用担心会弄错,因为Cortex-M3已经把这个范围标记成“取指不可区”了。
参考摘录: 《Cortex-M内核系列和STM32-讲座2教程.pdf》 《ARM Cortex-M3权威指南.pdf》 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |