ARM工作模式

ARM

ARM架构

RAM:随机访问存储器

ROM:只读访问存储器

AHB:先进高速总线

APB:先进外设总线

USB:统一串行总线

norflash:可以被寻址

nandflash:不可以被寻址

ALU:算数逻辑单元

ARM七个工作模式

复制代码
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:备份程序状态寄存器

异常向量表

函数指针的数组

1.拷贝cpsr到spsr上

2.设置

3.保存返回地址到LR_

4.设置pc为相应的异常向量

返回时:

1.从spsr_恢复cpsr

2.从LR_恢复PC

复制代码
总结:恢复cpsr和pc

存储格式(内存大小端)

存储器格式:

大端格式:高字节在低地址,低字节在高地址

小端格式:高字节在高地址,低字节在低地址

汇编指令

1.基本框架

c 复制代码
	area reset, code, readonly
	code32
	entry           //{


	end             //}
相关推荐
Zephyrus_20232 小时前
LSM6DSV16X驱动移植+调试
c语言·arm开发
瑞禧生物tech2 小时前
四臂聚乙二醇-磷脂 4-Arm PEG-DSPE 反应原理解析
arm开发
振南的单片机世界3 小时前
地址总线定“找谁”,数据总线定“搬多少”
arm开发·stm32·单片机
有想法的py工程师1 天前
手工处理 Oracle Cloud ARM 实例在线 DD Rocky Linux 10报错
linux·arm开发·oracle
带土11 天前
2. ARM处理器概论
arm开发
大阳1231 天前
ARM.7(UART,I2C)
arm开发·单片机·嵌入式硬件·i2c·at24c02
secondyoung3 天前
Cortex-R52学习:MPU内存保护机制
arm开发·单片机·学习·arm·mpu
szxinmai主板定制专家3 天前
基于 ARM+FPGA精密多轴实时运动控制卡设计方案,适用于半导体设备等高精度领域(一)
arm开发·人工智能·嵌入式硬件·fpga开发·架构·语音识别
你疯了抱抱我3 天前
【Mac】安装并配置HomeBrew;ARM GCC;make;OpenOCD
arm开发·macos
WHS-_-20226 天前
When RDMA Meets Wireless
arm开发