分享

ARM中各种异常模式的进入和返回

 戴维图书馆 2016-10-20
 
入口地址
异常
相应的处理器模式
LR中存储的地址*
是否禁止IRQ
是否禁止FIQ
0x00
复位异常
svc
N/A
ü
ü
0x04
未定义指令异常
und
PC-4
ü
0x08
软件中断异常
svc
PC-4
ü
0x0c
预取指中止异常
abt
PC
ü
0x10
数据中止异常
abt
PC
ü
0x14
保留
ü
0x18
中断请求异常
irq
PC
ü
0x1c
快速中断请求异常
fiq
PC
ü
ü
(* 这里仅讨论三级流水线结构的ARM处理器,采用ARM指令)
1、 在进入异常时,处理器完成以下工作(由硬件完成):
u       保存相应的地址到LR(参见上表)
u       保存CPSR到SPSR
u       修改CPSR中的:
2        T位:强制进入ARM状态(相对于THUMB状态)
2        I位:禁止IRQ
2        M[4:0](模式位):进入相应的处理器模式
2        F位:在复位异常和快速中断请求异常发生时,需要禁止FIQ
 
2、 在退出异常时,程序完成以下工作(由软件完成):
u       恢复保护的寄存器(if necessary)
u       复制SPSR到CPSR
u       开启屏蔽的中断(if necessary)
u       从LR中获取返回地址(可能需要进行相应的计算),并赋给PC,返回

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多