ARM处理器的工作模式:
-
用户模式(User):这是大多数应用程序运行的模式,权限较低,不能直接访问硬件和某些系统资源。
-
超级用户模式(Supervisor):也称为管理模式,通常用于操作系统内核,具有更高的权限,可以访问所有资源和硬件。
-
中断模式(IRQ):当外部中断发生时,处理器进入此模式,允许处理器快速响应中断请求。
-
快速中断模式(FIQ):用于处理更高优先级的中断,响应速度比IRQ模式更快。
-
监控模式(Monitor):用于执行可信任代码,常见于安全性相关的应用,支持可信计算。
-
异常模式(Abort):当出现内存访问错误等异常时,处理器进入此模式,用于处理这些异常。
-
未定义模式(Undefined):当处理器遇到未定义的指令时,进入此模式,用于处理未定义的行为。
ARM处理器的七种主要异常处理类型:
-
重置异常(Reset):系统启动时触发,初始化处理器状态。
-
未定义指令异常(Undefined Instruction):遇到未识别的指令时触发,处理器进入未定义模式。
-
软件中断异常(Software Interrupt):由软件请求系统服务时触发,通常用于调用操作系统功能。
-
预取异常(Prefetch Abort):当指令预取失败(如访问非法内存)时触发。
-
数据异常(Data Abort):在数据访问失败时触发,如访问非法地址。
-
IRQ中断(IRQ Interrupt):普通中断,处理优先级较低的外部中断。
-
FIQ中断(FIQ Interrupt):快速中断,处理优先级较高的外部中断,响应速度更快。
ARM寄存器:
-
通用寄存器(R0-R15):
- R0-R12:用于数据处理和存储临时变量。
- R13(SP):栈指针,指向当前栈顶。
- R14(LR):链接寄存器,存储返回地址。
- R15(PC):程序计数器,指向当前执行指令的地址。
-
特殊寄存器:
- CPSR:当前程序状态寄存器,包含标志位和当前处理模式信息。
- SPSR:保存程序状态寄存器,用于保存异常发生时的CPSR状态。