嵌入式硬件第五弹——ARM(1)

1. 概念

1. 1 计算机CPU内核

1.1.1 CISC

Complex Instruction Set Comupter 复杂指令集计算机 :x86 芯片面积大、加工成本高、复杂、体积大、功耗大

1.1.2 RISC

Reduced Instruction Set Comupter 精简指令集计算机 :芯片面积小、加工成本低、功耗低、体积小(便携式设备)

1.2 Cortex

  • A: Application 应用,手机、应用电子领域
  • R:real time 实时性,汽车电子,航空航天
  • M:Micro 微控制器 MCU 单片机领域

1.2.1 CortexA7 32位

  • R0 - R12 :通用寄存器(内核) ,存放数据
  • pc寄存器:program counter, 程序计数器,本质上是一个指针 指向当前代码正在执行指令的 下一条指令
  • lr寄存器:linked register, 链接寄存器,保存函数返回地址
  • sp寄存器:stack pointer, 栈指针寄存器,用来管理栈区
  • cpsr寄存器:current program status register,当前程序状态 寄存器,保存程序运行到某一步 时的状态
  • ALU:算术逻辑单元
  • spsr:save program status register ,保存/备份程序状态寄存器 ,异常发生时,保存cpsr寄存器中程序状态
  • MMU:Mermory Manager Unit,内存管理单元 用于管理虚拟内存到物理内存映射,从而 提高物理内存的利用率。 裸机必须要关闭MMU,打开icache,关闭dcache。
  • Cache:高速数据缓存,直接从Cache访问数据,提高CPU访问数据的效率
    icache:instruction cache,指令缓存,用于指令
    dcache:data cache,数据缓存,用于数据

1.3 两类总线通信

1.3.1 单总线通信

通过一根线 / 一组线和外设通信,和某个外设通信时, 其他外设接不进来

1.3.2 双总线通信

AHB总线:先进高速总线(USB、网卡、RAM),连接通信速率快的外设

APB总线:先进外设总线(GPIO、UART),连接通信速率慢的外设

1.4 RAM&ROM

1.4.1 RAM

掉电数据丢失 易失性存储器

1.4.2 ROM

掉电数据不丢失 非易失性存储器

flash:

  • nor flash: 每一个字节可以被寻址,地址总线和数据总线
  • nand flash:无法被寻址,以固定块大小写入或读取数据 512byte

1.5 ARM的7种基本工作模式

  • User:非特权模式,大部分任务执行在这种模式
  • FIQ:当一个高优先级(fast)中断产生时将会进入这种模式
  • IRQ:当一个低优先级(normal)中断产生时将会进入这种模式
  • Supervisor:当复位或软中断指令执行时将会进入这种模式
  • Abort:当存取异常时将会进入这种模式
  • Undef:当执行未定义指令时会进入这种模式
  • System:使用和User模式相同寄存器集的特权模式

1.6 异常处理

当ARM处理器产生异常时:

将当前程序状态寄存器CPSR拷贝到对应异常模式SPSR_<mode>中;

然后切换到ARM态和对应异常模式,必要时关闭中断;

保存返回地址到LR中;

跳转到异常向量表执行异常处理。

返回时:

从SPSR恢复CPSR;

从LR恢复PC。

异常向量表

相关推荐
老k一步步来11 小时前
STM32 HAL库CAN通信核心函数详解,参数以及作用
stm32·单片机·嵌入式硬件
gwf21611 小时前
SSD读写速度深度解析:顺序读写vs随机读写、IOPS、延迟,你的硬盘性能到底怎么看?
git·嵌入式硬件·缓存·github·智能硬件
Freak嵌入式15 小时前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
wuyk55515 小时前
77.嵌入式 C 语言中 enum 枚举的工程化实践:告别魔法数字,提升代码可维护性
c语言·开发语言·stm32·单片机·嵌入式硬件
义嘉泰15 小时前
XT25F128F-W Flash芯片全面解析
人工智能·嵌入式硬件·芯片
QH1392923188016 小时前
Keysight N9917B N9918B手持式综合微波分析仪
网络·科技·嵌入式硬件·集成测试·信息与通信
longxingiot16 小时前
轻量化单片机数传终端降低物联网开发门槛
单片机·嵌入式硬件·物联网
国产HT1621B17 小时前
YL1650 LED驱动芯片详解:从原理到实战应用(附51单片机驱动代码)
stm32·单片机·嵌入式硬件·mcu·fpga开发·lcd驱动
BUG研究员_17 小时前
51单片机UART串口通信波特率产生过程
单片机·嵌入式硬件·51单片机