ARM系统学习笔记
ARM系统简介
1.1 ARM工作模式
ARM有两种工作状态:
第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令
第二种为Thumb状态,此时处理器执行16位、半字节对齐的Thumb指令
ARM支持7种工作模式:
1、用户模式(usr)(10000):
正常执行程序
2、快速中断模式(FIQ)(10001):
高速数据传输
3、外部中断模式(IRQ)(10010):
普通中断处理
4、管理模式(svc)(10011)
操作系统使用的保护模式
5、数据访问终止模式(abt)(10111):
用于虚拟存储和存储保护
6、系统模式(sys)(11111):
用于运行特权级的操作系统任务
7、未定义指令中止模式(und)(11011):
用于支持通过软件仿真硬件的协处理器
1.2 ARM寄存器
ARM微处理器共有37个寄存器,其中31个通用寄存器,6个状态寄存器。寄存器无法同时被访问,具体可以访问哪些寄存器取决于ARM处理器工作状态及具体的运行模式。
不分组寄存器:R0~R7
分组寄存器:R8~R14
1、R13通常用作堆栈指针SP
2、R14用作子程序链接寄存器(Link Register-LR)指向函数的返回地址
程序寄存器:R15(PC指针(程序运行的位置)&