嵌入式系统知识点总结

软件架构设计师考试复习资料
📅 更新于 2026年5月 | 📖 覆盖考试大纲核心考点

💡 一、嵌入式系统基本概念

定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

1.1 核心特点

技术特性
  • 专用性强:面向特定应用,功能专一
  • 可裁剪性:软硬件可根据需求精简
  • 强实时性:对时间响应有严格要求
  • 高可靠性:长时间稳定运行,故障率低
产品特性
  • 体积小:结构紧凑,嵌入到设备中
  • 功耗低:适合电池供电场景
  • 成本敏感:批量生产,价格敏感
  • 软硬一体:软件为主,硬件为辅

1.2 嵌入式系统分类

按实时性分类

类型 特点 典型应用 响应时间要求
硬实时系统 必须在严格时限内完成响应,超时即失败 飞行控制、汽车ABS、核电站控制 微秒~毫秒级
软实时系统 允许偶尔超时,系统整体性能可接受 视频播放、网络通信、手机 毫秒~秒级
非实时系统 无严格时间约束 平板电脑、智能电视 无硬性要求

按安全性分类

安全攸关系统

故障可能导致人员伤亡、重大财产损失或环境破坏。需要严格的安全认证(如DO-178B航空软件标准、IEC 61508功能安全标准)。

例:航空电子、医疗设备、轨道交通信号系统

非安全攸关系统

故障后果相对可控,不涉及生命安全。开发流程相对灵活。

例:家用电器、消费电子、娱乐设备

1.3 与通用计算机对比

对比项 嵌入式系统 通用计算机
设计目标 面向特定应用,专用性强 通用计算,功能全面
硬件资源 资源受限(CPU、内存、存储) 资源丰富,可扩展
软件形态 代码固化在ROM/Flash中 安装在硬盘上
开发方式 交叉开发,需要专门工具 本地开发,工具丰富
人机交互 简单或无人机界面 丰富的GUI
功耗要求 低功耗设计,电池供电 持续供电,功耗要求低
可靠性 高可靠性,长时间运行 一般可靠性
成本 成本敏感,批量优化 成本相对不敏感

🔧 二、嵌入式硬件基础

2.1 硬件系统组成

嵌入式处理器
存储系统
I/O接口
外设
通信接口

2.2 存储体系

存储层次结构(由快到慢)
层次 存储类型 特点 用途
第一层 寄存器 速度最快,容量最小(字节级) CPU内部数据暂存
第二层 Cache(高速缓存) 速度快,容量小(KB~MB级) 缓解CPU与主存速度差异
第三层 主存(SDRAM/SRAM) 速度中等,容量中等(MB~GB级) 程序运行空间
第四层 Flash/ROM 非易失,读快写慢 存储程序代码和常量
第五层 外存(SD卡/eMMC) 容量大,速度慢 大容量数据存储
关键概念 - 易失性 vs 非易失性:
  • 易失性存储器(RAM):断电后数据丢失。包括SRAM(静态,快但贵)和DRAM(动态,慢但便宜)
  • 非易失性存储器(ROM/Flash):断电后数据保持。包括ROM、EPROM、EEPROM、NOR Flash、NAND Flash

2.3 常见总线

总线类型 全称 特点 应用场景
I2C Inter-Integrated Circuit 两线制(SDA+SCL),半双工,速率100K~3.4Mbps 传感器、EEPROM、RTC
SPI Serial Peripheral Interface 四线制,全双工,高速(可达50Mbps+) Flash、LCD、ADC
UART Universal Asynchronous Receiver/Transmitter 异步串行,两线制(TX+RX) 调试接口、模块通信
USB Universal Serial Bus 高速串行,支持热插拔 外设连接、数据传输
CAN Controller Area Network 多主结构,差分信号,可靠性高 汽车电子、工业控制
Ethernet 以太网 高速(10M~1Gbps+),标准化程度高 网络通信、工业以太网

⚙️ 三、嵌入式处理器分类

🖥️ 微处理器(MPU) 通用

特点:功能强大的独立处理器芯片,需要外接存储器和外设接口。

典型代表:ARM Cortex-A系列、MIPS、PowerPC、x86

应用:智能手机、路由器、工控机、服务器

优势:处理能力强,可运行复杂操作系统(Linux、Android)

🔌 微控制器(MCU/单片机) 集成

特点:将CPU、存储器、I/O接口集成在单一芯片上,即"单片化"。

典型代表:STM32、51单片机、PIC、AVR、ESP32

应用:家电控制、传感器节点、小型设备

优势:体积小、功耗低、成本低、开发简单

📊 数字信号处理器(DSP) 专用

特点:针对数字信号处理优化,采用哈佛架构,支持MAC运算。

典型代表:TI TMS320系列、ADI SHARC

应用:音频处理、图像处理、雷达、通信基带

优势:编译效率高,执行速度快,适合实时信号处理

🎮 图形处理器(GPU) 并行

特点:大规模并行计算架构,擅长大批量简单计算。

典型代表:NVIDIA Jetson、Mali、Adreno

应用:图像渲染、AI推理、自动驾驶

优势:减少CPU依赖,加速图形和并行计算任务

3.1 片上系统(SoC)

SoC(System on Chip):将完整计算机系统集成到单一芯片上,包含处理器核心、内存控制器、外设接口、甚至RF模块等。是嵌入式系统的主流发展方向。
狭义SoC

信息系统核心的芯片集成,将关键部件集成在一块芯片上。如手机SoC集成CPU+GPU+Modem+ISP。

广义SoC

一个微小型系统,从确定系统功能开始,完成软硬件划分和设计的整个过程。强调系统级设计方法学。

典型SoC芯片对比
芯片 厂商 架构 特点 典型应用
骁龙8 Gen3 高通 ARM 集成5G基带、AI引擎 旗舰手机
Apple M系列 苹果 ARM 统一内存架构,高能效 Mac、iPad
瑞芯微RK3588 瑞芯微 ARM 8K视频、NPU集成 边缘AI、智能终端
全志V853 全志 RISC-V+ARM 低功耗、集成NPU 智能摄像头

💻 四、嵌入式操作系统

嵌入式操作系统(EOS):负责嵌入式系统的全部软硬件资源的分配、调度、控制和协调。具有可裁剪、可配置、实时性等特点。

4.1 EOS核心特点

  • 可剪裁性:根据应用需求,移除不需要的功能模块
  • 可移植性:支持多种硬件平台,BSP抽象层设计
  • 强实时性:中断响应快,任务调度确定
  • 强紧凑性:内核小(几KB~几百KB),资源占用少
  • 高质量代码:经过严格测试,可靠性高
  • 强定制性:可根据产品需求深度定制
  • 标准接口:提供POSIX等标准API

4.2 常见嵌入式操作系统

操作系统 类型 特点 应用领域
FreeRTOS RTOS 开源、小巧、可裁剪、支持多平台 IoT、传感器、小型设备
RT-Thread RTOS 国产开源、组件丰富、社区活跃 IoT、消费电子、工业控制
μC/OS RTOS 可抢占、代码开放、确定性好 工业控制、医疗设备
VxWorks RTOS 商用、高可靠性、安全性高 航空航天、军事、通信
QNX RTOS 微内核架构、高可靠性 汽车电子、医疗、轨道交通
嵌入式Linux 非实时/软实时 开源、生态丰富、功能强大 智能手机、路由器、工控
Android 非实时 基于Linux、应用生态丰富 手机、平板、智能电视、车机
HarmonyOS 微内核RTOS 分布式、微内核、跨设备 手机、IoT、智能穿戴、车机

⏱️ 五、实时操作系统(RTOS)

RTOS(Real-Time Operating System):能够在确定的时间内对外部事件做出响应的操作系统。核心特征是确定性可预测性

5.1 实时性指标

中断延迟

从中断发生到开始执行中断服务程序的时间。越短越好。

任务切换时间

从一个任务切换到另一个任务所需的时间。通常微秒级。

响应时间

从事件发生到系统完成响应的总时间。硬实时系统必须有上限。

5.2 调度算法

实时系统常用调度算法
算法 原理 特点 适用场景
速率单调调度(RMS) 静态优先级,周期越短优先级越高 开销小、可预测、理论成熟 周期性任务、硬实时系统
最早截止时间优先(EDF) 动态优先级,截止时间越近优先级越高 CPU利用率可达100% 混合周期/非周期任务
最短空闲时间优先(LLF) 动态优先级,空闲时间越短优先级越高 与EDF类似,但切换频繁 复杂实时系统
时间片轮转调度 同优先级任务轮流执行 公平、简单 同优先级多任务
抢占式优先级调度 高优先级任务可抢占低优先级 响应快、实时性好 大多数RTOS默认

🎯 考点提示

RMS调度可调度性判断:对于n个周期性任务,若总CPU利用率 U = Σ(Ci/Ti) ≤ n(2^(1/n) - 1),则可调度。当n→∞时,极限值约为0.693(即69.3%)。

EDF调度:只要CPU利用率≤100%,任务集就可调度。但实现复杂度高于RMS。

5.3 实时系统任务模型

任务状态转换
就绪态
Ready
运行态
Running
阻塞态
Blocked
就绪态

↕ 挂起态(Suspended):任务被暂停,不在调度队列中

任务间通信机制:
  • 信号量(Semaphore):用于同步和互斥,分二值信号量和计数信号量
  • 消息队列(Message Queue):任务间传递数据的异步机制
  • 邮箱(Mailbox):单条消息的快速传递
  • 事件标志组(Event Flags):多个事件的组合等待
  • 共享内存:最高效的通信方式,需配合互斥机制
  • 管道(Pipe):类似Unix管道,流式数据传递

5.4 优先级反转问题

问题描述:高优先级任务因等待低优先级任务持有的资源,而被中优先级任务抢占,导致高优先级任务被无限期延迟。

✅ 解决方案一:优先级继承

当高优先级任务等待资源时,提升持有资源的低优先级任务的优先级到等待者的优先级。

优点:实现简单,开销小

缺点:只能解决单级反转

✅ 解决方案二:优先级天花板

任务获取资源时,立即提升优先级到可能使用该资源的所有任务中的最高优先级。

优点:预防性解决,避免死锁

缺点:需要预先知道资源使用情况

🏗️ 六、嵌入式软件架构

6.1 软件层次架构

应用软件层(Application)
中间件/框架层(Middleware)
操作系统层(OS / RTOS)
板级支持包(BSP)/ 硬件抽象层(HAL)
硬件层(Hardware)
各层职责说明
层次 职责 关键组件
硬件层 提供物理计算资源 CPU、内存、外设、总线
BSP/HAL 屏蔽硬件差异,提供统一接口 驱动程序、初始化代码、硬件配置
操作系统层 资源管理、任务调度、提供系统服务 内核、文件系统、网络协议栈、设备驱动框架
中间件层 提供通用服务,简化应用开发 数据库、GUI框架、通信协议、AI推理引擎
应用软件层 实现具体业务逻辑 用户应用程序、业务功能模块

6.2 嵌入式系统初始化流程

片级初始化
CPU核心、时钟、中断控制器
板级初始化
外设、GPIO、总线控制器
系统级初始化
OS内核、任务调度、应用启动
片级初始化

初始化CPU核心,配置时钟系统,设置中断控制器,初始化内存控制器。这是最底层的初始化,直接操作硬件寄存器。

板级初始化

初始化板载外设(UART、SPI、I2C等接口),配置GPIO,初始化存储设备。通常由BSP完成。

系统级初始化

加载操作系统内核,初始化文件系统和网络协议栈,创建任务并启动调度器,最后启动应用程序。

6.3 嵌入式软件设计要点

可裁剪性设计
  • 静态编译:编译时移除未使用代码
  • 动态库:运行时按需加载模块
  • 控制函数流程:条件编译、配置宏
可配置性设计
  • 数据驱动:通过配置文件控制行为
  • 静态编译:编译时参数化配置
  • 配置表:运行时查表执行
强实时性设计
  • 表驱动:查表代替计算,减少运行时开销
  • 配置:预先计算,运行时直接使用
  • 汇编优化:关键路径使用汇编语言
高可靠性设计
  • 编码标准:MISRA C、CERT C等规范
  • 安全保障:看门狗、内存保护、栈溢出检测
  • 容错技术:冗余设计、错误检测与恢复

🛠️ 七、嵌入式系统开发

7.1 开发模型

交叉开发模型:在宿主机(Host,通常是PC)上开发和编译程序,然后下载到目标机(Target,嵌入式设备)上运行和调试。
需求分析
系统设计
软硬件划分
详细设计
编码实现
交叉编译
下载调试
系统测试
发布部署

7.2 开发工具链

工具类型 功能 常用工具
交叉编译器 在宿主机上生成目标机代码 arm-none-eabi-gcc、arm-linux-gnueabihf-gcc
调试器 远程调试目标机程序 GDB + OpenOCD、J-Link、ST-Link
仿真器 模拟目标机运行环境 QEMU、Renode
IDE 集成开发环境 Keil MDK、IAR、STM32CubeIDE、VS Code + PlatformIO
烧录工具 将程序写入目标机Flash J-Flash、STM32 ST-LINK Utility
版本控制 代码管理 Git、SVN
构建系统 自动化编译链接 Make、CMake、SCons

7.3 调试方法

JTAG/SWD调试

通过硬件调试接口,实现断点、单步、变量查看等。最常用的调试方式。

串口打印

通过UART输出调试信息。简单有效,是最基础的调试手段。

逻辑分析仪

分析总线时序、协议数据。用于调试通信接口问题。

示波器

观察模拟信号波形。用于调试电源、时钟、信号完整性。

仿真调试

在PC上模拟目标环境。适合早期开发和算法验证。

Core Dump分析

保存崩溃现场,离线分析。用于定位难以复现的问题。

🌏 八、鸿蒙操作系统(HarmonyOS)

HarmonyOS:华为开发的分布式操作系统,采用微内核架构,支持多种设备类型(手机、IoT、穿戴、车机等),实现跨设备无缝协同。

8.1 系统架构

应用层
Ability、UI框架、应用服务
框架层
Ability框架、UI框架、多媒体框架
系统服务层
分布式服务、安全服务、AI服务
内核层
微内核 + Linux内核(多内核架构)

8.2 核心特性

分布式能力
  • 分布式软总线:设备自动发现、组网
  • 分布式数据管理:跨设备数据同步
  • 分布式任务调度:任务跨设备迁移
  • 一次开发,多端部署:统一开发框架
微内核优势
  • 安全性:内核攻击面小,形式化验证
  • 可靠性:服务隔离,故障不扩散
  • 可扩展性:模块化,易于移植
  • 确定性:任务调度可预测

8.3 微内核 vs 宏内核对比

对比项 宏内核(Linux) 微内核(鸿蒙)
内核结构 所有服务在内核空间运行 仅基本服务在内核,其他在用户空间
性能 高,系统调用开销小 相对低,进程间通信开销大
稳定性 内核崩溃导致系统崩溃 服务崩溃可恢复,不影响内核
安全性 攻击面大 攻击面小,形式化验证可行
可移植性 移植复杂 移植容易,仅需适配微内核
开发难度 调试相对简单 分布式调试复杂
典型代表 Linux、Windows QNX、鸿蒙、seL4、Fuchsia

🎯 九、考试重点与易错点

📝 高频考点

  1. 嵌入式系统定义与特点:专用性、可裁剪性、实时性、可靠性
  2. 处理器分类:MPU、MCU、DSP、GPU、SoC的区别与应用
  3. 实时操作系统:RTOS特点、调度算法(RMS、EDF)、优先级反转
  4. 微内核 vs 宏内核:结构、优缺点、典型代表
  5. 嵌入式软件架构:层次结构、BSP/HAL作用、初始化流程
  6. 鸿蒙操作系统:微内核架构、分布式能力
易错点
  • MCU vs MPU:MCU是单片机,集成度高;MPU需要外接存储和外设
  • 硬实时 vs 软实时:硬实时必须满足时限,软实时允许偶尔超时
  • RMS vs EDF:RMS静态优先级,EDF动态优先级;RMS利用率上限约69%,EDF可达100%
  • 优先级继承 vs 优先级天花板:继承是被动提升,天花板是主动提升
  • 片级→板级→系统级初始化:顺序不能颠倒
记忆技巧
  • MPU = Main Processing Unit:主处理器,功能强
  • MCU = Micro Controller Unit:微控制器,集成高
  • DSP = Digital Signal Processor:数字信号处理专用
  • SoC = System on Chip:系统级芯片,集成全
  • RMS = Rate Monotonic:速率(周期)单调
  • EDF = Earliest Deadline First:最早截止时间

💡 公式速记

RMS可调度性条件:U = Σ(Ci/Ti) ≤ n(21/n - 1)

  • n=1: U ≤ 100%
  • n=2: U ≤ 82.8%
  • n=3: U ≤ 78.0%
  • n→∞: U ≤ 69.3%

EDF可调度性条件:U = Σ(Ci/Ti) ≤ 100%

典型真题考点
题型 考点 解题要点
选择题 嵌入式系统特点 抓住"专用"、"可裁剪"、"实时"关键词
选择题 处理器类型选择 MCU适合简单控制,MPU适合复杂系统,DSP适合信号处理
选择题 调度算法判断 计算CPU利用率,对比RMS上限或检查EDF条件
案例题 系统架构设计 画出层次架构图,说明各层职责和接口
案例题 实时性分析 分析任务周期、执行时间、截止时间,判断可调度性
论文题 嵌入式系统开发经验 结合项目,说明架构选型、实时性保证、可靠性设计