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处理器:小端存储(默认)
内存大小端存储:
内存大端:高地址存放低数据位、低地址存放高数据位
内存小端:高地址存放高数据位、低地址存放低数据位