关于ARM的工作模式、中断源、中断优先级和标志寄存器的解释

工作模式

ARM有7种工作模式:

关于ARM的工作模式、中断源、中断优先级和标志寄存器的解释

 后五种为异常模式。


中断源:

中断源及其进入的对应模式:

关于ARM的工作模式、中断源、中断优先级和标志寄存器的解释

中断优先级

ARM中有6个优先级,如下所示:

1.复位 2.数据中止中断 3.fiq中断 4.irq中断 5.预取址中止中断 6.未定义指令中断和软件中断


 标志寄存器:

ARM处理器共有37个寄存器。这37个寄存器按其在用户编程中的功能划分,可分为2类寄存器,即31个通用寄存器和6个状态寄存器。这6个状态寄存器在ARM公司文件中其名称分别为:CPSR、SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq和SPSR_fiq。后五个寄存器对应着五个异常工作模式。

处理器在进入异常和退出异常时所作的工作

进入异常时:

1.将要返回处的地址保存在对应异常模式的LR中(复位不需要保存返回地址)。

2.将CPSR的内容复制到对应异常模式的SPSR中。

3.强制修改CPSR的内容,进入到相应异常模式以及根据需要修改某些位。

4.强制PC从相应的中断向量地址处进行取值。

:以上这些步骤都是由CPU自动完成的,也就是说,当有中断产生时,硬件就会自动完成上述步骤。

退出异常时:

1.将LR中保存的地址赋值给PC。

2.将SPSR的内容恢复给CPSR。

3.将irq中断禁止位清零。

:只需要在异常处理程序中写一句返回指令即可实现上述步骤。

上一篇:ARM uart-2


下一篇:交叉编译内容总结