嵌入式硬件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 小时前
STM32_TIM_寄存器操作
stm32·单片机·嵌入式硬件
0南城逆流06 小时前
【STM32】知识点介绍七:PWM功能
stm32·单片机·嵌入式硬件
智者知已应修善业7 小时前
【51单片机独立按键控制数码管移动反向,2片74CH573/74CH273段和位,按键按下保持原状态】2023-3-25
经验分享·笔记·单片机·嵌入式硬件·算法·51单片机
我是一棵无人问荆的小草7 小时前
单片机通电后延迟启动策略
单片机·嵌入式硬件
坏柠7 小时前
ESP32-S3 蓝牙 BLE 从零到一:广播、服务、特征,用一个智能灯的例子全讲透
嵌入式硬件
三佛科技-1873661339711 小时前
FT32F030F6AP7高性能32位RISC内核MCU解析(兼容STM32F030K6TP7)
stm32·单片机·嵌入式硬件
LCMICRO-1331084774611 小时前
长芯微LDC90810完全P2P替代ADC128D818,是一款八通道系统监控器,专为监控复杂系统状态而设计。
stm32·单片机·嵌入式硬件·fpga开发·硬件工程·模数转换芯片adc
嵌入式老菜鸟qq12524277312 小时前
关于S2-LP休眠
单片机·嵌入式硬件·mcu·射频工程
somi712 小时前
ARM-01-硬件基础
arm开发·嵌入式硬件
weixin_4629019712 小时前
ESP32 LED控制器
单片机·嵌入式硬件