硬件基础5--arm基础

📅 2026/7/17 4:55:37
硬件基础5--arm基础
ARMARMAdvanced RISC Machine是全球最流行的处理器架构之一广泛应用于智能手机、嵌入式系统、物联网设备等领域。冯.诺依曼架构:指令和数据共享一块空间哈佛架构指令和数据分别有独立的存储空间绝大多数计算器使用哈弗架构RISCReduced Instruction Set Computer, 精简指令集芯片简单、成本低 、体积小、功耗小CISCComplex Instruction Set Computer复杂指令集性能强、芯片复杂、成本高、体积高功耗大x86复杂指令集架构ARM精简指令集架构ARM处理器:ARM1 ARM7 ARM8 ARM9CortexAApplication 高端应用领域 消费电子 CortexA7 CortexA8 CoretxA9 CortexA97CortexRReal-time 实时性领域CortexM: Micro 微控制领域stm32f103 ARMCortex-M3 st:意法半导体Samsung Gaxly Note:CortexA8Enxoy 4412:CorteA9通用寄存器内核16ALU 运算逻辑单元pcprogrammer counter R15程序计数器本质上是一个指针指向当前正在处理的指令的下一条指令lrlinked regiterR14链接寄存器保存函数返回地址spstack pointerR13栈指针寄存器用于管理栈区空间CPSRcurrent programmer status register当前程序状态寄存器存放程序运行到某一步时相关的状态溢出、进位、借位SPSRsave programmer status register保存程序状态寄存器当异常发生时保存CPSR寄存器中的值MMUMemory Management Unit内存管理单元,将程序中的虚拟内存空间映射到实际物理内存空间提高物理内存利用率CACHE: 高速缓存提高CPU访问数据的速度DCACHE: data cache, 数据缓存ICACHE:instruction cache指令缓存eeprom AT24C02 2048bit 256bytenor flash:每一个字节都可以被寻址带有地址总线和数据总线数据访问时可以向RAM一样单片机NOR Flash 是“内存型”闪存适合存代码nand flash: 块设备数据通常以512byte去访问电脑、SOC地址数据和命令共用IO引脚NAND Flash 是“磁盘型”闪存适合存数据内核版本:CortexA97指令集版本:armv8imx6ull - Cortex-A7 - armv7s3c2440 - ARM920T - armv4teExnoy4412 - Cortex-A9 - armv8大端存储内存低地址存放高数据位内 存高地址存放低数据位小端存储内存低地址存放低数据位内存高地址存放高数据位SOC中断向量 标号根据向量找 到中断向量表中的中断服务函数中断向量表 数组数组中存 放的是中断服务函数的入口地址void (*p[5])(void) {fn1, fn2, fn3, fn4, fn5};异常向量跳转到异常服务函数指令的地址异常向量表 数组数组中存放的是跳转到对 应异常服务函数的指令0x00:b reset_handler0x04:b undefine_handlervoid rest_handler(void) // 复位异常函数{}void undefine_handler(void) // 未定义指令异常函数{}逻辑右移LSR最高位补0不需要考虑数值的符号位无符号数算术右移ASR最高位补符号位考虑数值的符号位有符号数循环右移ROR循环将每次移出的最低位补到最高位1011 0010 (lsr) 1 : 0101 10011011 0010 (asr) 1 : 1101 10011011 0010 (ror) 10101 1001 1010 1100单总线内核和外设之间通过一组线连接通信双总线内核和外设之间通过两组线通信AHB: Advanced High Bus先进高速总线(USB、网口、RAM)APBAdvanced Peripheral Bus先进外设总线Timer、GPIO、UART