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协处理器:内存、缓存、中断等