ARM-V7架构
运行模式
User(USR):用户模式
linux系统用户进程,资源访问受限System(SYS):系统模式
linux内核,共用寄存器,资源自由访问IRQ:一般中断模式
硬件产生中断信号FIQ:快速中断模式
时间紧急的中断,高速信号的传输、采集Supervisor(SVC):管理模式
默认模式,系统初始化,软中断Abort(ABT):数据访问终止模式
非法访问地址或寄存器、段错误Undef(UND):未定义指令模式
程序跑飞、篡改Monitor:用于用户安全扩展模式
Hyp :用于虚拟化扩展
寄存器组
通用寄存器
- r0~r3:用来传递函数参数、暂存数据
- r4~r11:用来保存被调函数的局部变量、暂存数据
- r12:记录函数调用过程中上一次sp指针的值
- r13(sp):函数堆栈寄存器
- r14(lr):记录函数返回地址
- r15(pc):程序计数器
程序状态寄存器
- cpsr:该寄存器包含运算标志位、中断禁止位、当前运行模式标志等一些状态位以及一些控制位
- spsr:发生异常切换模式时,将cpsr复制到发生异常的模式下的spsr
系统寄存器
cp15协处理器:内存、缓存、中断等