转载请注明:转自http://blog.youkuaiyun.com/gcc_sky
一、ARM 处理器模式( 表示特权模式,可访问所有系统资源)
用户模式(User, usr):正常程序执行的模式二、ARM 寄存器
快速中断模式(FIQ, fiq)*:用于高速数据传输和通道处理
外部中断模式(IRQ, irq)*:用于通常的终端处理
特权模式(Supervisor, sve)*:供操作系统使用的一种保护模式
数据访问中止模式(Abort, abt)*:用于虚拟存储及存储保护
未定义指令中止模式(Undefined, und)*:用于支持通过软件方针硬件的协处理器
系统模式(System, sys)*:用于运行特权级的操作系统任务
1. 通用寄存器
未备份寄存器,包括R0~R7,在所有模式下指的都是同一个物理寄存器2. 程序状态寄存器
备份寄存器,包括R8~R14,每个寄存器对应两个不同的物理寄存器
程序计数器PC,R15
CPSR(当前程序状态寄存器)可以在任何处理器模式下被访问。
SPSP(备份程序状态寄存器),每一种处理器模式下都有一个专用的物理状态寄存器,当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容。在异常中断程序退出时,可以用SPSR中保存的值来恢复CPSR。
用户模式和系统模式都不是异常中断模式,所以它们没有SPSR。
1. 异常中断种类
复位
未定义的指令
软件中断
指令预取中止
数据访问中止
外部中断请求
快速中断请求
2. ARM 处理器对异常中断的响应过程
3. 从异常中断处理程序中返回
1. ARM 体系中的存储空间
ARM 体系使用单一的平板地址空间。该地址空间的大小为2^32个字节。2. ARM 存储器格式
big-endian:地址为A的字单元包括字节单元A、A+1、A+2、A+3,其中字节单元由高位到低位字节顺序为A、A+1、A+2、A+3;
little-endian:地址为A的字单元包括字节单元A、A+1、A+2、A+3,其中字节单元由高位到低位字节顺序为A+3、A+2、A+1、A;