您的位置 首页 方案

ARM7的反常处理

一直困惑,中断向量表的运行机制,从软件角度来说是说不通的,因为中断向量表采用的不是分支选择程序,而是顺序执行的跳转指令LDR或B,我想

一向困惑,中止向量表的运转机制,从软件视点来说是说不通的,由于中止向量表选用的不是分支挑选程序,而是次序履行的跳转指令LDR或B,我想许多初学者一定有这样的困惑;

咱们有必要细心​了解ARM的中止运转是什么样一个状况:

1进入反常:1)将本来履行的程序的下一条指令保存到LR中;这个好了解;2)仿制CPSR到呼应的SPSR中进行保存,这是为了保存反常前的状况;3)依据产生的反常类型改动CPSR形式的值;4)令程序计数器PC的值指向反常处理向量所指的下一条指令。这句话很要害,ARM内核呼应反常后使PC值强制指向​​反常处理向量所指的下一条指令,而不是软件完结的,不然脑袋想破都没有用。

PC值改动也就改动了程序的履行,跳转到详细的中止程序,而中止向量表是​预先设定好的放置中止跳转指令的“表”;​​跳转到向量表则是由ARM内核完结。

这是纠结了几晚的工作,应该是正确的了解了,发出来供商讨​​​

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/263196.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部