Files
final-exam/嵌入式系统/复习文档/嵌入式系统基础.md
T

148 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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|试题册索引]]