148 lines
5.7 KiB
Markdown
148 lines
5.7 KiB
Markdown
---
|
||
tags: [嵌入式系统, 复习, 嵌入式基础]
|
||
create time: 2026-06-10 11:11
|
||
---
|
||
|
||
# 嵌入式系统基础
|
||
|
||
## 概述
|
||
本文档覆盖嵌入式系统的核心概念,包括定义、特征、硬件组成、操作系统对比以及应用领域。这是整个嵌入式系统课程的基石,理解这些内容是后续学习ARM架构、指令集和操作系统的基础。
|
||
|
||
## 正文
|
||
|
||
### 1. 嵌入式系统的定义
|
||
|
||
**嵌入式系统**(Embedded System)的标准定义为:
|
||
|
||
> 以**应用为中心**,以**计算机技术**为基础,软硬件**可裁剪**,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的**专用计算机系统**。
|
||
|
||
理解这个定义,需要抓住几个关键词:
|
||
|
||
| 关键词 | 含义 |
|
||
|--------|------|
|
||
| 以应用为中心 | 不是通用计算,而是为特定任务而设计 |
|
||
| 软硬件可裁剪 | 根据需求定制,去掉不需要的功能以节省资源 |
|
||
| 专用计算机系统 | 本质上仍是计算机,但专用于特定场景 |
|
||
|
||
> [!question] 为什么说嵌入式系统"不等于单片机"?
|
||
> 单片机只是嵌入式系统的硬件平台之一。嵌入式系统是一个完整的系统概念,包含硬件、驱动、操作系统和应用软件。
|
||
|
||
### 2. 嵌入式系统的核心特征
|
||
|
||
1. **专用性** —— 面向特定应用,功能明确
|
||
2. **实时性** —— 必须在规定时间内响应外部事件(硬实时/软实时)
|
||
3. **可靠性** —— 往往运行在无人值守或关键任务环境
|
||
4. **资源受限** —— CPU、内存、存储空间有限
|
||
5. **软硬件协同设计** —— 硬件和软件需同步考虑和优化
|
||
6. **低功耗** —— 很多场景依赖电池供电
|
||
|
||
> [!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. 嵌入式系统架构分层
|
||
|
||
嵌入式系统的软件架构通常分为以下层次:
|
||
|
||
```mermaid
|
||
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. 嵌入式系统的产品形态
|
||
|
||
```mermaid
|
||
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] 嵌入式系统的"软硬件协同设计"具体是什么意思?
|
||
> 传统的设计流程是先设计硬件再写软件,但嵌入式系统需要在设计初期就同时考虑软硬件。例如,如果软件算法可以补偿硬件精度不足,就可以选用更便宜的传感器,从而降低成本和功耗。
|
||
|
||
## 关联笔记
|
||
- [[嵌入式系统/试题册/index|试题册索引]]
|