×
单片机 > 单片机程序设计 > 详情

ARM中断的基本过程

发布时间:2020-06-02 发布时间:
|
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利用共同定义的中断向量地址表完成挂钩。

关键字:ARM中断  基本过程 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
基于AT91M42800A的LED显示系统设计