5.7 KiB
5.7 KiB
tags, create time
| tags | create time | |||
|---|---|---|---|---|
|
2026-06-10 11:11 |
嵌入式系统基础
概述
本文档覆盖嵌入式系统的核心概念,包括定义、特征、硬件组成、操作系统对比以及应用领域。这是整个嵌入式系统课程的基石,理解这些内容是后续学习ARM架构、指令集和操作系统的基础。
正文
1. 嵌入式系统的定义
嵌入式系统(Embedded System)的标准定义为:
以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
理解这个定义,需要抓住几个关键词:
| 关键词 | 含义 |
|---|---|
| 以应用为中心 | 不是通用计算,而是为特定任务而设计 |
| 软硬件可裁剪 | 根据需求定制,去掉不需要的功能以节省资源 |
| 专用计算机系统 | 本质上仍是计算机,但专用于特定场景 |
[!question] 为什么说嵌入式系统"不等于单片机"? 单片机只是嵌入式系统的硬件平台之一。嵌入式系统是一个完整的系统概念,包含硬件、驱动、操作系统和应用软件。
2. 嵌入式系统的核心特征
- 专用性 —— 面向特定应用,功能明确
- 实时性 —— 必须在规定时间内响应外部事件(硬实时/软实时)
- 可靠性 —— 往往运行在无人值守或关键任务环境
- 资源受限 —— CPU、内存、存储空间有限
- 软硬件协同设计 —— 硬件和软件需同步考虑和优化
- 低功耗 —— 很多场景依赖电池供电
[!tip] 硬实时 vs 软实时
- 硬实时:必须在截止时间前完成,否则造成灾难性后果(如汽车ABS制动系统)
- 软实时:允许偶尔超时(如视频播放的轻微卡顿)
3. 嵌入式系统的最小系统组成
一个可工作的嵌入式最小系统需要以下组件:
- 处理器(MCU/MPU):系统的大脑
- 存储器:ROM/Flash(存放程序)+ RAM(运行时数据)
- 时钟电路:为处理器提供工作节拍
- 电源电路:提供稳定的工作电压
- 复位电路:确保系统从已知状态启动
- JTAG调试接口:用于程序烧写和在线调试
[!question] 为什么嵌入式系统通常使用Flash而不是硬盘来存储程序? Flash是非易失性存储,没有机械部件,抗震性好,功耗低,访问速度快,非常适合嵌入式场景。
4. 嵌入式操作系统 vs 通用操作系统
| 比较维度 | 嵌入式OS | 通用OS |
|---|---|---|
| 设计目标 | 面向特定应用 | 面向多种应用 |
| 体积 | 可裁剪,极小 | 功能全面,体积大 |
| 实时性 | 要求高(RTOS) | 不强调实时 |
| 资源需求 | 低(KB~MB级) | 高(GB级) |
| 用户界面 | 简单或无 | 复杂GUI |
| 典型代表 | FreeRTOS, uC/OS-II, RT-Thread | Windows, Linux, macOS |
**嵌入式实时操作系统(RTOS)**的核心指标:
- 调度器执行时间:调度算法本身的耗时
- 任务切换时间:从一个任务切换到另一个任务的耗时
5. 嵌入式系统的应用领域
嵌入式系统几乎无处不在:
- 消费电子:智能手机、平板电脑、可穿戴设备
- 汽车电子:发动机控制、ABS、车载娱乐系统
- 智能家居:智能音箱、智能门锁、家电控制
- 工业控制:PLC、工业机器人、自动化产线
- 医疗设备:心脏起搏器、监护仪、输液泵
- 航空航天:飞行控制、导航系统
6. 智能移动终端带来的变革
智能移动终端(以智能手机为代表)带来了深刻的变革:
- 交互方式:从键盘鼠标 → 触摸屏、语音、手势
- 计算模式:从集中式 → 云端+终端协同
- 信息获取:从固定网络 → 随时随地移动获取
- 生态系统:从封闭系统 → 开放应用商店生态
7. 嵌入式系统架构分层
嵌入式系统的软件架构通常分为以下层次:
graph TD
A["Application Layer"] --> B["Middleware"]
B --> C["RTOS / OS"]
C --> D["BSP / Driver"]
D --> E["Hardware"]
style A fill:#4fc3f7
style B fill:#81d4fa
style C fill:#b3e5fc
style D fill:#e1f5fe
style E fill:#fff9c4
- Hardware:处理器、存储器、外设
- BSP/Driver:板级支持包和设备驱动,屏蔽硬件差异
- RTOS/OS:提供任务调度、内存管理、同步机制
- Middleware:网络协议栈、文件系统、数据库等通用服务
- Application:面向用户的具体应用
8. 嵌入式系统的产品形态
graph LR
subgraph forms["Product Forms"]
direction TB
F1["Single Chip MCU"]
F2["SOM Module"]
F3["SBC Board"]
F4["Full System"]
end
F1 --> F2
F2 --> F3
F3 --> F4
style F1 fill:#ffcc80
style F2 fill:#ffab91
style F3 fill:#ef9a9a
style F4 fill:#f48fb1
- 单芯片MCU:所有功能集成在一颗芯片上(如STM32)
- SOM模块:核心板模块,含处理器和基础电路
- SBC单板计算机:完整的单板系统(如树莓派)
- 完整系统:包含外壳、电源、外设的完整产品
[!question] 嵌入式系统的"软硬件协同设计"具体是什么意思? 传统的设计流程是先设计硬件再写软件,但嵌入式系统需要在设计初期就同时考虑软硬件。例如,如果软件算法可以补偿硬件精度不足,就可以选用更便宜的传感器,从而降低成本和功耗。