一、ARM寄存器的作用
1、R0~R3:
2、
4、R13: sp作为栈寄存器。
5、R14:lr保存函数调用或者中断程序返回时要执行的指令地址。
6、R15: pc程序取值地址。
7、cpsr:程序状态寄存器。
8、spsr:执行中断程序切换模式时保存cpsr。
二、CPSR的 T 位和 J 位反应了寄存器的状态。
三、在复位后,ARM处理器处于 SVC 模式, ARM 状态。
四、ARM发生异常时,ARM核心会自动做哪些事情?从异常返回时,我们要做哪些事情?
发生异常时ARM核心会做以下操作
A.将下一条指令的地址存入相应的连接寄存器LR。
B.将CPSR复制到SPSR中
C.根据异常类型,强制设置CPSR 的运行模式位
D.强制PC从相关异常向量地址取下一条指令执行,从而跳到相应的异常处理程序处,同时设置中断禁止位。
异常返回时,我们要执行以下操作
A.将连接寄存器LR的值减去相应的偏移量后送到PC
B.将SPSR复制回CPSR
C.清除中断禁止位
五、 FIQ的什么特点使得它处理的速度比IRQ快?
FIQ异常优先级比IRQ高
FIQ向量位于异常向量表的最末,故异常处理程序可以从异常量处连续执行。
FIQ模式有5个额外的私有寄存器(R8-R12)
中断处理必须保护其使用的非私有寄存器。