1 ARM 架构
1. 什么是 ARM 架构
ARM 架构是一种 处理器架构标准,规定了 CPU 的基本工作规则,例如:
- 能执行哪些指令
- 寄存器如何组织
- 程序如何跳转
- 中断和异常如何处理
- 数据如何访问内存
可以理解为:
ARM 不是一颗具体芯片,而是一套 CPU 设计规范。
2. 什么是“架构”
这里的“架构”指的是 CPU 的指令体系结构(ISA)和运行规则,不是平时说的软件系统结构。
常见架构有:
- ARM
- x86
- RISC-V
它们的区别主要体现在:
- 指令集不同
- 寄存器设计不同
- 功耗和性能特点不同
- 应用场景不同
3. ARM 的全称与特点
ARM 常写作:
Advanced RISC Machine
其中最重要的是 RISC:
精简指令集计算机(Reduced Instruction Set Computer)
ARM 架构的典型特点:
- 指令相对精简
- 执行效率高
- 功耗低
- 易于扩展
- 非常适合嵌入式和移动设备
4. ARM 为什么应用广泛
ARM 在实际工程中非常常见,主要原因有:
4.1 低功耗
适合电池供电设备,例如:
- 手机
- 平板
- 可穿戴设备
- 物联网设备
4.2 性能与功耗平衡好
既可以做低端 MCU,也可以做高性能处理器。
4.3 生态大
很多芯片厂商都基于 ARM 架构设计产品,例如:
- ST
- NXP
- TI
- 瑞萨
- 高通
- 苹果
- 华为海思
5. ARM 和 STM32 的关系
这部分非常重要。
ARM 是什么
ARM 是一种 CPU 架构/内核标准
STM32 是什么
STM32 是 ST 公司推出的一系列 单片机产品
很多 STM32 使用的是 ARM 的 Cortex-M 内核,例如:
- STM32F103:Cortex-M3
- STM32F4:Cortex-M4
- STM32H7:Cortex-M7
因此可以理解为:
STM32 是芯片产品,ARM 是 STM32 内部 CPU 使用的架构。
6. ARM 不是具体芯片
ARM 本身通常不等于某一块开发板或某一颗 MCU。
ARM 更像是:
- 一套处理器规则
- 一种 CPU 内核设计标准
- 一种指令集和执行模型
芯片厂商会在 ARM 内核基础上,再集成:
- Flash
- RAM
- GPIO
- UART
- TIM
- SPI
- I2C
- ADC
最后做成完整芯片。
7. ARM 架构的核心优势
ARM 架构的主要优势包括:
7.1 功耗低
这是 ARM 最突出的优势之一。
7.2 执行效率高
精简指令集有利于高效实现流水线。
7.3 可扩展性强
既适合低端控制器,也适合高性能处理器。
7.4 嵌入式适配性强
很适合工业控制、机器人、消费电子、物联网等场景。
8. ARM 常见系列
ARM 架构下常见的 Cortex 系列主要分为三类:
8.1 Cortex-M 系列
面向 微控制器(MCU)
特点:
- 低功耗
- 实时性较好
- 常用于嵌入式控制
常见型号:
- Cortex-M0
- Cortex-M3
- Cortex-M4
- Cortex-M7
应用场景:
- STM32
- GD32
- 工业控制器
- 机器人控制板
8.2 Cortex-A 系列
面向 应用处理器
特点:
- 性能更强
- 通常运行 Linux/Android
- 适合复杂操作系统
常见型号:
- Cortex-A53
- Cortex-A72
应用场景:
- 手机
- 平板
- 树莓派类平台
- 嵌入式 Linux 开发板
8.3 Cortex-R 系列
面向 高实时、高可靠系统
特点:
- 可靠性高
- 实时性强
- 常用于关键控制领域
应用场景:
- 汽车电子
- 航空航天
- 工业安全控制
9. Cortex-M3、M4、M7 的区别
这些名字表示 ARM 架构下不同型号的 CPU 内核。
Cortex-M3
- 通用型较强
- 适合普通控制场景
Cortex-M4
- 在 M3 基础上增强
- 增加 DSP 能力
- 有些型号支持 FPU
- 适合电机控制、数字信号处理
Cortex-M7
- 性能更高
- 主频更高
- 适合复杂控制和高性能嵌入式应用
10. ARM 架构和指令集的关系
ARM 架构的重要组成之一就是 指令集。
指令集决定 CPU 可以执行哪些命令,例如:
- 加法
- 减法
- 跳转
- 访存
- 比较
- 位运算
因此:
C 语言代码最终会被编译成 ARM 能识别和执行的机器指令。
11. ARM 架构和寄存器
ARM 架构定义了 CPU 寄存器的组织方式。
常见寄存器包括:
- 通用寄存器
- PC(程序计数器)
- SP(栈指针)
- LR(链接寄存器)
- 程序状态寄存器
其中:
PC
指向下一条要执行的指令。
SP
指向当前栈顶。
LR
保存函数返回地址。
这些寄存器在函数调用、中断响应、任务切换中都非常重要。
12. ARM 架构和中断
ARM,尤其是 Cortex-M 系列,对中断支持非常强。
常见相关机制有:
- NVIC 中断控制器
- 中断优先级
- 异常响应机制
- 自动现场保护
这使 ARM 很适合嵌入式控制系统,例如:
- 定时中断
- 外部中断
- 串口中断
- DMA 中断
13. ARM 架构和操作系统的关系
ARM 本身不是操作系统,而是底层硬件架构。
在 ARM 上可以运行很多不同的软件系统。
在 Cortex-M 上常见
- 裸机程序
- FreeRTOS
- μC/OS
- RTX
在 Cortex-A 上常见
- Linux
- Android
- 嵌入式 Ubuntu
因此可以理解为:
ARM 是硬件基础,操作系统是运行在 ARM 之上的软件。
14. ARM 和 FreeRTOS 的关系
在 STM32 + FreeRTOS 开发中,可以这样理解层次关系:
最底层
ARM Cortex-M 内核
负责执行指令、处理中断、支持上下文切换
中间层
STM32 外设硬件
如 GPIO、UART、TIM、ADC
再上一层
CMSIS / HAL / FreeRTOS
最上层
用户应用代码
因此 FreeRTOS 的很多底层机制都和 ARM 架构有关,例如:
- SysTick 系统节拍
- PendSV 任务切换
- 寄存器压栈与出栈
- 中断优先级控制
- 栈指针切换
15. ARM 和 x86 的简单区别
ARM
- 功耗低
- 常用于嵌入式和移动设备
- 适合单片机、手机、开发板
x86
- 传统上多用于 PC 和服务器
- 性能强
- 功耗通常更高
入门阶段可以这样简单区分。
16. 学 ARM 时常见的关键词
后续学习中经常会遇到这些 ARM 相关术语:
- Cortex-M3
- Cortex-M4
- Cortex-M7
- CMSIS
- NVIC
- SysTick
- PendSV
- MSP
- PSP
- Thumb 指令
- FPU
这些内容都和 ARM 架构密切相关。
17. 当前阶段最重要的理解
在 STM32 + FreeRTOS 学习中,最重要的是先理顺以下几个概念:
ARM 是什么
一种 CPU 架构
STM32 是什么
采用 ARM Cortex-M 内核的单片机
FreeRTOS 是什么
运行在 ARM 单片机上的实时操作系统内核
CMSIS 是什么
ARM 为 Cortex-M 提供的一套标准接口
只要这几个关系理顺,后面学习:
- 中断
- 启动文件
- 任务切换
- 系统时钟
- 栈和寄存器
都会更容易理解。
18. 一句话总结
ARM 架构是一种面向低功耗、高效率处理器的设计规范,它规定了 CPU 的指令集、寄存器、中断异常和运行机制,广泛应用于单片机、嵌入式系统和移动设备。
19. 结合 STM32 + FreeRTOS 的总结
对当前学习来说,可以直接理解为:
ARM 架构就是 STM32 这类单片机内部 CPU 的底层工作规则,FreeRTOS、HAL 和用户程序最终都运行在 ARM Cortex-M 内核之上。
