嵌入式硬件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状态下执行

相关推荐
sramdram3 小时前
基于32位微控制器的FOC汽车水泵方案
单片机·嵌入式硬件·汽车·微控制器·32位微控制器
开发笔记-阿牛6 小时前
解析一款有意思的产品||CK6159A语音芯片设计的儿童专注力训练机-舒尔特玩具
stm32·单片机·嵌入式硬件·音频
残影飞雪7 小时前
ESP32-C5下载烧录固件失败报错的原因
单片机·嵌入式硬件
搞全栈小苏8 小时前
SIMetrix_simplis8.4安装教程——附安装包
stm32·单片机·嵌入式硬件·电力电子
qq_573967829 小时前
STM32控制器
stm32·单片机·嵌入式硬件
某林21210 小时前
履带小车底盘stm32F103RCT6开发
人工智能·stm32·单片机·嵌入式硬件·架构·人机交互·ros2
sramdram10 小时前
低功耗MCU微控制器在动态血糖仪(CGM)中的应用方案
单片机·嵌入式硬件·mcu·mcu微控制器
Dlrb121110 小时前
ARM--IMX6ULL的SDK学习,BSP开发工程管理,以及链接脚本与Makefile的编写
单片机·嵌入式硬件·arm·sdk·链接脚本·i.mx6ull·cortex-a7
李永奉11 小时前
杰理可视化SDK开发-配置ANC主动降噪功能模块教程
单片机·嵌入式硬件·物联网
云泽80811 小时前
嵌入式环境搭建(一):Keil MDK5 安装流程及 DFP 器件包配置实战
嵌入式硬件·keil5·keil mdk5·dfp器件包配置