ARM中有5种异常模式,有7种中断源。这7种中断源中有些中断是我们希望发生的,但有些中断是我们不希望发生的。
我们希望发生的中断:
软中断:属于svc模式,通过SWI指令便可以产生软中断,进入到svc模式。
irq中断:属于irq模式,当产生普通的外部中断时,处理器便进入到IRQ模式。
fiq中断:属于fiq模式,当产生高优先级外部中断时,处理器便进入到FIQ模式。
我们不希望发生的中断:
复位:属于svc模式,当系统上电时便会产生复位中断,系统进入到svc模式。复位中断不需要中断返回。
取指中止中断:属于abt模式,当预取指发生错误时,便产生取指中止中断,进入到abt模式。
数据中止中断:属于abt模式,当访问数据存储器时,便产生数据中止中断,进入到abt模式。
未定义指令中断:属于und模式,当执行到一条未定义指令时,便产生未定义指令中断,系统进入到und模式。
中断的优先级:
ARM中有6个优先级。各个中断的优先级顺序如下:(1 6 6s 5 2 4 3)
复位: 1数据中止中断:2fiq中断:3irq中断:4预取址中止中断:5未定义指令中断和软中断:6
关于各种中断在中断返回时还需要给LR减去一个不同的偏移量的问题我觉得没必要深入研究了,这还要涉及到ARM指令的流水线技术,平时写中断代码都是用C写的,没必要知道这个。用到时再去查表即可。
处理器在进入异常和退出异常时所做的工作:
进入异常时:
1、将要返回处的地址保存在对应异常模式的LR中。(复位不需要保存返回地址)
2、将cpsr的内容复制到对应异常模式的spsr中。
3、强制修改cpsr的内容,进入到相应异常模式以及根据需要修改某些位。
4、强制PC从相应的中断向量地址处进行取址。
注:以上这些步骤都是有cpu自动完成的,也就是当有中断产生时,硬件就会自动完成上述步骤。
退出异常时:
1、将LR中保存的地址赋给PC。
2、将spsr的内容恢复给cpsr。
3、将irq中断禁止位清零。
注:只需要在异常处理程序中写一句返回指令(如上面的表4.1所示)即可全部实现上述的步骤。
上一篇:基于嵌入式ARM微处理器的指纹识别方案
下一篇:一种基于ARM S3C2410X和Linux的嵌入式网络摄像机设计
- 热门资源推荐
- 热门放大器推荐
设计资源 培训 开发板 精华推荐
- LT6656AIDC-5、5V 扩展电源范围电压基准的典型应用
- EVAL-AD73311EB,低成本、低功耗、CMOS 通用模拟前端评估板
- 随身WIFI的USB拓展
- 使用 NXP Semiconductors 的 TDA8580 的参考设计
- MC34072ADR2G 交流耦合反相放大器的典型应用
- 使用 Murata Manufacturing 的 LBWA1ZV1CD-716 的参考设计
- 使用 Analog Devices 的 ADP1720-33 的参考设计
- 老陈白光点阵四路MAX7219*4显示驱动板
- ADR291GRUZ 低噪声、微功率 2.5V 精密电压基准的典型应用电路,具有开尔文连接的优势
- 【物联网】鸿蒙智能wifi开关+4212484A
- 柔灵科技陈涵:将小型、柔性的脑机接口睡眠设备,做到千家万户
- 微灵医疗李骁健:脑机接口技术正在开启意识与AI融合的新纪元
- USB Type-C® 和 USB Power Delivery:专为扩展功率范围和电池供电型系统而设计
- 景昱医疗耿东:脑机接口DBS治疗技术已实现国产替代
- 首都医科大学王长明:针对癫痫的数字疗法已进入使用阶段
- 非常见问题解答第223期:如何在没有软启动方程的情况下测量和确定软启动时序?
- 兆易创新GD25/55全系列车规级SPI NOR Flash荣获ISO 26262 ASIL D功能安全认证证书
- 新型IsoVu™ 隔离电流探头:为电流测量带来全新维度
- 英飞凌推出简化电机控制开发的ModusToolbox™电机套件
- 意法半导体IO-Link执行器电路板为工业监控和设备厂商带来一站式参考设计