1.工作模式介绍
(1) 用户模式(Usr)
用户程序的工作模式,运行在操作系统的用户态。没有权限操作其他硬件资源,只能执行自己的数据,也不能切换到其他模式下。要想访问硬件资源或切换到其它模式只能通过软中断或产生异常。
(2) 系统模式(Sys)
运行操作系统的特权任务。与用户模式共用一套寄存器,都没有SPSR(Saved Program Statement Register,已保存程序状态寄存器),但Sys比Usr有更高的权限,可以访问所有系统资源。
(3) 普通中断模式(IRQ)
用于通用中断处理,通常在硬件产生中断信号后自动进入。
(4) 快速中断模式(FIQ)
相对IRQ而言,用来处理对时间要求比较紧急的中断请求。主要用于高速数据传输、通道处理。
(5) 管理模式(Svc)
CPU上电后的默认模式。主要做系统的初始化、软中断处理。当Usr的用户程序请求使用硬件资源时,通过软中断进入Svc。系统复位或开机、软中断时进入此模式(由系统调用执行软中断WSI命令触发)
(6) 数据访问中止模式(ABT)
用于支持虚拟内存和/或存储器保护。当用户程序访问非法地址,没有权限读取的内存地址时,进入ABT。
(7) 未定义指令中止模式(Und)
支持硬件协处理器的软件仿真,CPU在指令的译码阶段不能识别该指令操作时,进入此模式。
2.FIQ与IRQ的区别
FIQ处理时禁止中断
3.硬件权限级别
Sys>异常模式>Usr
4.中断向量表
当异常或中断发生时,CPU将PC设置到中断向量表(异常向量表),根据异常信号的类型,跳转到相应向量项地址(内容是指令)
5.切换并设置堆栈指针