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             //}
相关推荐
猫猫的小茶馆18 分钟前
【Linux 驱动开发】二. linux内核模块
linux·汇编·arm开发·驱动开发·stm32·嵌入式硬件·架构
算力魔方AIPC32 分钟前
DeepX OCR:以 DeepX NPU 加速 PaddleOCR 推理,在 ARM 与 x86 平台交付可规模化的高性能 OCR 能力
arm开发·人工智能·ocr
小鹿软件办公11 小时前
首批搭载 Windows 系统的 ARM PC 及英伟达处理器今年面世
arm开发·armpc
切糕师学AI17 小时前
ARM 中的 SVC 监管调用(Supervisor Call)
linux·c语言·汇编·arm开发
陌上花开缓缓归以17 小时前
linux jiffies 初始化不为0问题分析
linux·arm开发
天骄t19 小时前
裸机开发:ARMv7-A中断驱动LED/蜂鸣器实战
arm开发
秋深枫叶红20 小时前
嵌入式第四十九篇——ARM系列——IMX6ULL开发板
arm开发·嵌入式硬件
南烟斋..21 小时前
ARM Cortex-A7(IMX6ULL)嵌入式裸机开发指南:从点灯到中断
arm开发·单片机·嵌入式硬件
ArrebolJiuZhou21 小时前
03 rtp,rtcp,sdp的包结构
linux·运维·服务器·网络·arm开发
松涛和鸣1 天前
59、 IMX6ULL按键驱动开发:轮询到中断的实现
linux·服务器·c语言·arm开发·数据库·驱动开发