ARM工作模式

ARM

  • ARM架构
  • ARM七个工作模式
  • 寄存器
  • 异常向量表
  • 存储格式(内存大小端)
  • 汇编指令

ARM架构

ARM工作模式_第1张图片
RAM:随机访问存储器
ROM:只读访问存储器
AHB:先进高速总线
APB:先进外设总线
USB:统一串行总线
norflash:可以被寻址
nandflash:不可以被寻址
ALU:算数逻辑单元

ARM七个工作模式

ARM工作模式_第2张图片

user:  用户模式(USR):正常程序执行模式,不能直接切换到其他模式
system:系统模式(SYS):运行操作系统的特权任务,与用户模式类似,但具有可以直接切换到其他模式等特权
FIQ:   快中断模式(FIQ):支持高速数据传输及通道处理,FIQ异常响应时进入此模式
IRQ:   中断模式(IRQ):用于通用中断处理,IRQ异常响应时进入此模式
Supervisor:管理模式(SVC):操作系统保护模式,系统复位和软件中断响应时进入此模式(由系统调用执行软中断SWI命令触发)
Abort: 中止模式(ABT):用于支持虚拟内存和/或存储器保护,在ARM7TDMI没有大用处
Undef: 未定义模式(UND):支持硬件协处理器的软件仿真,未定义指令异常响应时进入此模式

寄存器

ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个位状态寄存器。
Cortex有40个32位寄存器
r0 - r12:通用寄存器
r13 (sp):栈指针寄存器
r14(lr):链接寄存器
r15(pc):程序计数器:指向程序运行的下一行
cpsr:当前程序状态寄存器
spsr:备份程序状态寄存器
ARM工作模式_第3张图片

异常向量表

函数指针的数组

1.拷贝cpsr到spsr上
2.设置
3.保存返回地址到LR_
4.设置pc为相应的异常向量
返回时:
1.从spsr_恢复cpsr
2.从LR_恢复PC

总结:恢复cpsr和pc

ARM工作模式_第4张图片

存储格式(内存大小端)

存储器格式:
大端格式:高字节在低地址,低字节在高地址
小端格式:高字节在高地址,低字节在低地址

汇编指令

1.基本框架

	area reset, code, readonly
	code32
	entry           //{


	end             //}

你可能感兴趣的:(arm开发)