您的位置 首页 5G

ARM中止的根本进程

ARM中断的基本过程:在IRQ0脚给个上升沿后,过程是这样的(比较通用的过程)。1)如果你没有打开该中断的使能寄存器,没有任何反应。2)…

ARM中止根本进程

在IRQ0脚给个上升沿后,进程是这样的(比较通用的进程)。
1)假如你没有打开该中止的使能寄存器,没有任何反响。
2)假如你打开了使能寄存器,但在对应的屏蔽寄存器中屏蔽了该中止,也没有任何反响。
3)上述两个寄存器都设置正确了,中止发生了,CPU保存当时程序运转环境,跳到中止进口,ARM芯片一般是0x?地址处。
4)假如你没有设置中止向量,即0x?处不是你的代码,程序就会飞掉,当然也或许正常运转,这种状况一般发生在正好飞到正常代码处。
5)设置好中止向量了,中止向量一般是个跳转句子,跳到你的正式的中止处理进程,在这里你能够封闭一切中止,清中止,处理等等,然后退出。记住某些处理器一定要清中止,不然下次再给个上升沿就没有反响了。

中止途径

假如是irq中止

发生irq异常中止 转到 0x18 1 跳 中止跳

假如启用向量中止形式

主动转向对应向量地址 每地址对应一条跳转指令 2 跳

跳转到中止处理程序

假如运用汇编编写中止处理程序

在该处即可编写处理程序

假如运用c言语编写中止处理程序

需求增加与c言语接口程序 3 跳

办法:1 汇编编写

在内存空间界说一贯量表,用来寄存各中止c言语中止处理程序进口地址[即函数进口地址],

在上述程序跳转处处编写 将c言语处理程序进口地址放入pc (即跳转到c函数处)。

2 c编写

在内存空间界说指针表[与汇编向量表对应],用来寄存各中止汇编转向c函数进口地址,

编写中止处理函数,将对应中止指针内容放入函数进口地址。

假如不启用中止向量形式

从0x18直接转向中止处理程序即可

小结: 上述1 跳为向量中止形式主动完结,可加速寻觅中止源。

2 跳为与c言语相结合,汇编和c使用一起界说的中止向量地址表完结挂钩。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部