嵌入式硬件day4

一.ARM架构与内核分类

1.ARM内核系列:

Cortex-A系列:用于高性能应用,运行Linux/Android

Cortex-B系列:用于实时性要求高的场景

Cortex-M序列:用于低功耗嵌入式控制

2.指令集架构:

ARMv1~ARMv9 是ARM指令集架构版本;

Cortex-A7 基于 ARMv7-A 架构,32位;

3.RISC(精简指令集计算机)

ARM属于此类,指令固定长度、执行效率高

4.CISC(复杂指令集计算机)

x86属于此类,指令长度可变、功能复杂

二.计算机系统组成

硬件系统:运算器、控制器、存储器、输入设备、输出设备

CPU = 运算器 + 控制器 + 寄存器等

三.ARM内核中的器件:

1.ALU(算数逻辑单元)

执行整数运算和逻辑操作;

2.FPU(浮点单元)

处理浮点数运算;

3.缓存(Cache)

指令缓存(I-Cache) 与 数据缓存(D-Cache);

4.内存管理单元(MMU)

实现虚拟内存(Cortex-A系列),用于Linux等复杂OS;

内存保护单元(MPU)

内存区域保护(Cortex-M系列,用于实时系统);

5.寄存器组:

R13(sp):栈指针寄存器

R14(LR):链接寄存器,保存子程序返回地址

R15(PC):程序计数器,指向下一条指令地址

CPSR:当前程序状态寄存器(包含标志位、模式位等)

SPSR:备份程序状态寄存器(异常情况下保存CPSR)

6.流水线:三级流水线示例:

预取、译码、执行

四.存储器类型

1.RAM(随机存取存储器)

易失性、速度快、可直接寻址

2.ROM(只读存储器/闪存)

非易失性、速度较慢、存储固件/系统代码

五.常见处理器类型

  • MPU:微处理器,通用型,偏向处理。

  • MCU:微控制器,集成度高(CPU+内存+外设),偏向控制。

  • DSP:数字信号处理器,擅长数学运算。

  • SoC:片上系统,集成多个功能模块(CPU、GPU、DSP、外设等)

六、总线结构

AMBA总线:

AHB:高性能总线,连接CPU、内存、DMA等

APB:低速外设总线,连接UART、GPIO等外设

七.ARM内核处理器工作模式

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

2.FIQ:当一个高优先级中断产生时将进入这种模式

3.IRQ:当一个低优先级中断产生时将进入这种模式

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

5.Abort:存取异常时会进入此模式

6.Udef:执行未定义指令时会进入此模式

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

Cortex-A特有的模式:

Monitor:执行安全监控代码的模式,也是一种特权模式

八.异常向量表

1.异常处理流程

当异常产生时, ARM core:

  • 保存现场 :拷贝 CPSR(当前程序状态寄存器)到 SPSR_<mode>(对应异常模式的备份状态寄存器)

  • 切换状态:

    • 强制进入 ARM 指令集状态(从Thumb状态切换回来)

    • 切换到对应的异常模式(如IRQ模式、FIQ模式等)

    • 禁用中断(防止嵌套,如进入IRQ时自动禁用IRQ)

  • 保存返回地址 :将返回地址存入 LR_<mode>(对应异常模式的链接寄存器)

  • 跳转 :设置 PC 指向异常向量表中对应的地址

返回时软件需要:

  • 从 SPSR_<mode> 恢复 CPSR

  • 从 LR_<mode> 恢复 PC

  • 注意:这些操作只能在ARM状态下执行

相关推荐
深圳市恒锐丰科技杨生6 小时前
# HT3310|集成锂电池充电 + 三档电机驱动控制芯片 SOT23‑6
嵌入式硬件·硬件工程
FakeOccupational7 小时前
【电路笔记 STM32】Cortex-M7 UART DMA模式(DMA&空闲中断&普通模式+DMA&半满/全满中断&循环模式)
笔记·stm32·嵌入式硬件
sramdram7 小时前
国产32位CH32V系列RISC-V单片机
单片机·嵌入式硬件·risc-v·国产32位单片机·risc-v单片机
万物智能信息科技8 小时前
人体感应芯片PIR模块驱动开发—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
驱动开发·嵌入式硬件·华为·开源·harmonyos
youcans_8 小时前
【STM32C5教程】(4)GPIO 外部中断实验
stm32·单片机·嵌入式硬件·mcu·stm32c5
深圳市恒锐丰科技杨生9 小时前
# CSM9118|芯晞微电 7.5V/1.5A 单通道 H 桥电机 / 线圈驱动
嵌入式硬件·硬件工程
硅基手札9 小时前
【I2C 技术系列 09】I2C 传输模式:轮询 / 中断 / DMA
驱动开发·stm32·单片机·嵌入式硬件·mcu·计算机外设
启友玩AI10 小时前
微安级唤醒、毫安级识别:基于 CI3422 的 AI 眼镜语音交互开发实战
c语言·人工智能·科技·嵌入式硬件·ai·ar·语音识别
wuyk55510 小时前
样章-第10讲-看门狗异常恢复与卡机排查方法论
stm32·单片机·嵌入式硬件·重构
开发笔记-阿牛10 小时前
AM收音机蓝牙二合一设计复盘
人工智能·单片机·嵌入式硬件·音视频·音频