0.1 嵌入式系统基础
2026/7/19大约 3 分钟预备知识预备知识嵌入式MCU
0.1 嵌入式系统基础
📚 本节导读
学习时长:约 15 分钟
难度级别:⭐☆☆☆☆
前置知识:无
🎯 学习目标
- 理解嵌入式系统与通用计算机的区别
- 了解 MCU 的基本组成(CPU、Flash、RAM、外设)
- 了解嵌入式开发流程
一、什么是嵌入式系统
嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪的专用计算机系统。与 PC 或手机不同,嵌入式系统通常只完成一项或几项特定任务。
| 对比维度 | 嵌入式系统 | 通用计算机 |
|---|---|---|
| 资源 | 受限(KB 级 RAM、MB 级 Flash) | 丰富(GB 级 RAM、TB 级存储) |
| 功能 | 专用(单一/少数任务) | 通用(多任务并行) |
| 功耗 | 极低(mW 级) | 较高(W 级) |
| 操作系统 | RTOS 或裸机 | Linux/Windows/macOS |
| 典型设备 | 智能手表、传感器、家电控制板 | 服务器、PC、笔记本 |
二、MCU 基本组成
MCU(Microcontroller Unit,微控制器) 是将 CPU、存储器、外设集成在单一芯片上的微型计算机。OneOS 主要在 MCU 上运行。
2.1 核心组件
┌─────────────────────────────────────┐
│ MCU 芯片 │
│ ┌─────────┐ ┌──────────────────┐ │
│ │ CPU │ │ Flash ROM │ │
│ │ Cortex-M │ │ (程序存储器) │ │
│ └────┬─────┘ └──────────────────┘ │
│ │ │
│ ┌────┴──────────────────────────┐ │
│ │ 系统总线 (Bus) │ │
│ └────┬──────────────────────────┘ │
│ │ │
│ ┌────┴─────┐ ┌──────────────────┐ │
│ │ SRAM │ │ 外设 │ │
│ │ (运行内存) │ │ GPIO/UART/I2C/SPI│ │
│ └──────────┘ └──────────────────┘ │
└─────────────────────────────────────┘2.2 各组件说明
| 组件 | 用途 | OneOS 中的角色 |
|---|---|---|
| CPU(Cortex-M) | 执行指令、处理运算 | 运行内核调度器和任务代码 |
| Flash ROM | 存储程序代码和只读数据 | 存储 OneOS 内核、驱动、应用代码 |
| SRAM | 运行时数据存储 | 存放任务栈、全局变量、堆内存 |
| GPIO | 通用输入输出引脚 | 控制 LED、读取按键 |
| UART | 串行通信 | 控制台输出、调试日志 |
| I2C/SPI | 总线通信 | 连接传感器、显示屏等外设 |
| Timer | 硬件定时器 | 提供系统时钟节拍(SysTick) |
2.3 常见 MCU 资源
| 级别 | Flash | SRAM | 典型芯片 | 能否运行 OneOS |
|---|---|---|---|---|
| 入门 | 16-64KB | 4-8KB | STM32F0 | 最小配置可运行 |
| 中级 | 128-512KB | 20-64KB | STM32F1/F4 | ✅ 推荐 |
| 高级 | 1-2MB | 256-512KB | STM32F7/H7 | ✅ 功能全开 |
三、嵌入式开发流程
1. 硬件选型
└── 选择 MCU(STM32 / GD32 等)
2. 环境搭建
├── IDE(Keil MDK / IAR / VS Code)
├── 编译器(ARM GCC / ARMCC)
└── 调试器(J-Link / ST-Link)
3. 软件开发
├── 编写应用代码
├── 配置 RTOS(Kconfig / menuconfig)
└── 编译链接
4. 下载调试
├── 通过调试器烧录 Flash
├── 断点调试、变量监控
└── 串口日志输出
5. 测试验证
└── 功能测试、压力测试、功耗测试四、关键概念速查
| 术语 | 含义 |
|---|---|
| 固件(Firmware) | 烧录在 MCU Flash 中的程序 |
| 寄存器(Register) | CPU 内部的高速存储单元,或外设的控制寄存器 |
| 中断(Interrupt) | 硬件信号打断 CPU 当前执行,转而处理紧急事件 |
| ISR | 中断服务程序(Interrupt Service Routine) |
| NVIC | 嵌套向量中断控制器,管理中断优先级 |
| SysTick | Cortex-M 内置的 24 位系统定时器,RTOS 时钟节拍来源 |
| HAL | 硬件抽象层(Hardware Abstraction Layer) |
📝 本节小结
- 嵌入式系统资源受限,MCU 集成 CPU + Flash + SRAM + 外设
- OneOS 运行在 Cortex-M 等 MCU 上,需要足够的 Flash 和 SRAM
- 嵌入式开发流程包括硬件选型、环境搭建、编码、下载调试、测试验证
- 理解中断、寄存器、SysTick 等概念是学习 RTOS 的基础