零基础吃透ARM体系架构与底层原理

ARM

1.计算机分类

CISC: Complex Instruction Set Computer 复杂指令集(x86)

特点:特点:指令功能多、芯片复杂、成本高、体积大、功耗大

RISC: Reduced Instruction Set Computer 精简指冷集

特点:特点:指令功能少、芯片简单、成本低、体积小、功耗低

2.ARM内核版本

ARM7 ARM9 ARM11

1.Cortex-A:Application 应用领域

复制代码
Cortex-A5(智能机 摩托罗拉)

Cortex-A7(IMX6ULL, STM32MP157)

Cortex-A8(Samsung Gaxlay Note)

Cortex-A9 (Samsung Exnoy 4412)

2.Cortex-R:Real-Time 实时性领域(汽车电子)

3.Cortex-M:IMCU 单片机领域(控制)

复制代码
Cortex-M3 (stm32f103)

Cortex-M4 (stm32f407, stm32mp157)

3.ARM体系架构

ALU :算术逻辑单元,完成算术运算

PC :programmer counter程序计数器,本质是一个指针,指向当前程序正在执行指令的下一条指令

LR : linked register 链接寄存器,保存函数的返回地址

SP :stack pointer 栈指针寄存器,管理栈区空间

CPSR : current programmer status register 当前程序状态寄存器

SPSR : save programmer status register 保存/备份程序状态寄存器,保存当异常发生时cpsr寄存器中的值

MMU :Memory Mangement Unit 内存管理单元,将程序中的虚拟地址转换为物理地址

(裸机:关掉MMU Linux驱动:打开MMU)

CACHE :高速缓存,CPU直接从CACHE中访问数据,提高CPU访问数据效率

D-CACHE:data cache 数据缓存(关闭dcache)

I-CACHE:instruction cache 指令缓存(打开icache)

冯·诺依曼架构 :数据和指令共享同一块存储空间

哈佛架构:数据和指令拥有独立的存储空间(计算机)

nor flash : 任何一个字节可以被寻址,带有地址总线和数据总线

nand flash:块设备数据,以512byte为一块进行读写数据

中断向量表 :本质是一个数组,数组中存放的是中断服务函数的入口地址

异常向量表:本质是一个数组,数组中存放的跳转到异常服务函数的指令

逻辑右移(LSR) :最高位补0,不考虑数值的符号位(无符号数)

1011 0010 >>(LSR) 1: 0101 1001

算术右移(ASR) :最高位补符号位,考虑数值的符号位(有符号数)

1011 0010 >>(ASR) 1:1101 1001

循环右移(ROR) :循环将每次移出的最低位补到最高位

1011 0010 >>(ROR) 1 : 0101 1001 >>(ROR) 1:1010 1100

imx6ull -> Cortex-A7(内核版本) -> armv7(汇编指令集版本)

s3c2440 -> ARM920T(内核版本) -> armv4(汇编指令集版本)

Exnoy 4412 -> Cortex-A8(内核版本) -> armv8(汇编指令集版本)

ARM处理器:小端存储(默认)

内存大小端存储:

内存大端:高地址存放低数据位、低地址存放高数据位

内存小端:高地址存放高数据位、低地址存放低数据位

相关推荐
H_oRIZoN_2 小时前
Linux入门DAY44 ARM 入门 Day02|ARM 汇编指令、模式切换、栈操作、汇编 C 混合编程
linux·单片机·嵌入式硬件·arm·linux应用编程
susplus12 小时前
【初识ARM】ARM相关基础概念
学习·arm
myy-learn14 小时前
ARM-知识扫盲1
arm
祖力5521 小时前
ARM基础
嵌入式硬件·arm
下辈子不要当码农21 小时前
ARM学习(1)
学习·arm
一直C1 天前
ARM入门学习Day01|ARM体系架构核心知识点梳理
arm·寄存器
T1mzhou2 天前
ARM64 Linux 6.10 内核驱动(12):dd.c:probe/ remove、延迟 probe
linux·服务器·c语言·arm开发·arm
T1mzhou2 天前
ARM64 平台安全学习记录
linux·服务器·arm开发·arm
zhangzhangkeji2 天前
stm32 3-4 : 按键控制 LED,光敏传感器控制蜂鸣器
stm32·arm