自学嵌入式 day45 ARM体系架构

一、SOC

RAM:随机访问存储器,存放随机变量,掉电数据丢失

ROM:只读存储器,存放单片机的程序、指令,掉电数据不丢失

注:

1、冯诺依曼架构中将数据与指令存放在同一存储器中

2、哈佛架构是将数据与指令存放在不同的存储器中

二、内核

1、ALU:算术逻辑单元

2、R0~R15:通用寄存器

注:(1)R13(SP):堆栈指针,存放栈区的地址

(2)R14(LR):链接返回,存放要返回的地址

(3)R15(PC):程序计数,指向当前执行的指令的下一个指令地址

3、CPSR:当前程序状态寄存器,存放当前的程序状态

4、SPSR:是CPSR的备份,方便程序返回是恢复之前CPSR的状态

5、cache:高速缓冲存储器,CPU可以直接访问,用来存放当前正在执 行的程序中的活跃部分,以便快速地向CPU提 供指令和数据。

1)i cache:代码高速缓冲存储器

2)d cache:数据高速缓冲存储器

6、MMU:内存处理单元,把物理单元映射为虚拟内存

三、计算机的指令集

CPU的指令集其实就是用指令对计算机实现控制 和计算的指令集合,分复杂指令集和精简指令集 。

RISC:Reduced Instruction Set Computer,精简指令集

CISC:Complex Instruction Set Computer,复杂指令集

注:1、AHB:先进的高速总线

2、APB:先进的外设总线

四、RAM
五、ROM

1、nor flash 可被寻址

2、nand flash 不可寻址

六、处理器工作模式

ARM有7个基本工作模式:

User:非特权模式,大部分任务执行在这种模式

FIQ:当一个高优先级(fast)中断产生时将会进入这种模式

IRQ:当一个低优先级(normal)中断产生时将会进入这种模式

Supervisor:当复位或软中断指令执行时将会进入这种模式

Abort:当存取异常时将会进入这种模式

Undef:当执行未定义指令时会进入这种模式

System:使用和User模式相同寄存器集的特权模式

七、异常处理
八、汇编指令

1、查手册:

2、mov

Rd:目标寄存器,包括所有通用寄存器

Rm:源寄存器

#<const>:立即数

LSL:逻辑左移;

LSR:逻辑右移

ROR:循环右移;

九、汇编程序

1、start.s

area reset, code, readonly

code32

entry

mov r0,#2

mov r2,r0,ror #2

end

注:调试:

(1)

(2)

相关推荐
LDyun_4 小时前
2026暑期云手机选型指南:从稳定性、成本到风控六大核心评判维度
arm开发·ios·智能手机·安卓·玩游戏
zlinear数据采集卡5 小时前
2mV纹波的代价:硬核拆解ZLinear模拟前端放大器与正负可调电源设计
arm开发·单片机·嵌入式硬件·fpga开发·架构·开源
2601_954706497 小时前
云虚拟化终端架构解析:ARM 云端集群部署与自动化运维实践
运维·arm开发·架构
米尔的可达鸭7 小时前
深入操作系统 Socket 底层:套接字控制块、FD映射、阻塞IO核心完整实现
arm开发·数据结构·websocket·网络协议·算法·架构·安全架构
zlinear数据采集卡8 小时前
硅片里的“自动纠错“:硬核拆解LHAMP188自动归零技术原理与三种封装的PCB布局实战
arm开发·单片机·嵌入式硬件·fpga开发·开源
是摆烂第一名呀11 小时前
RK3576+GMSL摄像头底层适配与调试
linux·arm开发·驱动开发·嵌入式硬件·数码相机
zlinear数据采集卡21 小时前
从气动比例阀到任意波形:硬核拆解ZLinear采集卡的DAC输出架构与工业闭环控制实战
arm开发·架构
是摆烂第一名呀2 天前
【rk3506】U-Boot串口时钟未配置,导致串口彻底失效
linux·arm开发·驱动开发·嵌入式硬件
2601_949816352 天前
C++内存对齐与结构体填充深度精讲:底层规则、内存裁剪、适配优化与工程避坑
开发语言·arm开发·c++
是摆烂第一名呀2 天前
【RK3506】RGB屏幕与背光调试记录
linux·arm开发·驱动开发·嵌入式硬件