📝 前言

在上篇中,我们系统梳理了嵌入式系统的基础概念、组成结构、处理器体系结构、BSP与BootLoader等内容。本篇将继续深入探讨嵌入式软件架构、多核异构系统、实时操作系统以及国产化发展趋势,并结合历年真题和前沿实践,帮助你在系统架构设计师考试中全面掌握嵌入式系统知识。

嵌入式系统是考试中超纲率较高的部分,仅靠教材远远不够。下篇将补充大量实战性内容,尤其是多核异构架构、RPMsg通信机制、国产RTOS(ReWorks、RT-Thread、鸿蒙) 等热点,这些都在近年考试和行业实践中频繁出现。

一、嵌入式软件架构

嵌入式软件架构是嵌入式系统的骨架,决定了系统的可维护性、可扩展性和可靠性。

1.1 层次化软件架构

层次化架构是嵌入式软件最经典的架构模式,从上到下分为:

┌─────────────────────────────────────┐
│           应用层(App)              │
├─────────────────────────────────────┤
│           中间件层                  │
├─────────────────────────────────────┤
│           操作系统层(RTOS)         │
├─────────────────────────────────────┤
│           硬件抽象层(HAL)          │
├─────────────────────────────────────┤
│           硬件层                     │
└─────────────────────────────────────┘

层次化架构的优势

  • 关注点分离:每一层只关注特定的功能,降低复杂度

  • 可移植性强:只需更换硬件抽象层,即可适配不同硬件平台

  • 可测试性高:每一层可以独立测试和验证

  • 复用性好:核心业务逻辑可以在不同项目中复用

1.2 递归/嵌套模式

递归/嵌套模式是指系统内部存在多个层次相似的子系统,每层均可独立调度。这种模式常见于复杂嵌入式系统,如航空电子系统中的“分区”架构。

典型应用

  • ARINC 653:航空电子应用软件标准接口,定义分区操作系统(Partition OS)

  • 多核调度:每个核上运行独立的RTOS实例,通过虚拟化层管理

1.3 微内核架构在嵌入式中的应用

微内核架构将操作系统核心功能(调度、IPC、内存管理)精简到最小,其他服务(文件系统、网络)作为用户态进程运行。

微内核在嵌入式中的优势

  • 高可靠性:服务崩溃不影响内核

  • 高安全性:服务之间通过IPC隔离,可独立配置安全策略

  • 可裁剪性:根据应用需求选择加载的服务

典型产品

  • QNX:微内核RTOS,广泛用于汽车仪表盘、医疗设备

  • L4微内核:学术研究,用于构建安全攸关系统

二、多核与异构嵌入式系统

随着性能需求的提升,嵌入式系统已从单核向多核、异构方向发展。

2.1 多核架构分类

架构类型 特点 典型应用
对称多处理(SMP) 所有CPU核共享内存,操作系统统一调度 高端嵌入式Linux
非对称多处理(AMP) 每个核运行独立的操作系统,核间通过通信协议协作 汽车域控制器、异构SoC

SMP与AMP的区别

维度 SMP AMP
OS实例 单一OS管理所有核 每个核独立OS
资源分配 动态均衡 静态划分
实时性 受OS调度影响 可独立保证实时性
复杂度 OS调度复杂 核间通信复杂

2.2 异构多核与RPMsg通信

现代嵌入式SoC(如NXP i.MX8、瑞萨R-Car)通常集成了不同架构的核,例如:

  • Cortex-A核:运行Linux,处理UI、网络等

  • Cortex-M核:运行RTOS,处理实时控制

  • GPU/NPU:处理图像、AI推理

RPMsg(Remote Processor Messaging) 是Linux内核提供的核间通信机制,用于AMP系统中不同核之间的消息传递。

RPMsg的特点

  • 共享内存:通过预定义的共享内存区域传递消息

  • VirtIO:基于VirtIO虚拟化标准,提供高效的通信通道

  • 非对称设计:主核(Linux)与从核(RTOS)之间采用主从通信模式

RPMsg通信流程

  1. 从核(RTOS)通过共享内存发送消息,触发中断通知主核

  2. 主核(Linux)在中断服务程序中读取消息

  3. 主核处理完成后,通过共享内存回复消息,触发中断通知从核

2.3 多核嵌入式系统的设计挑战

挑战 说明 解决方案
核间通信延迟 消息传递开销 使用共享内存、硬件邮箱
缓存一致性 多核访问同一内存区域 使用硬件一致性协议(如MESI)或软件管理
实时性保障 AMP系统中不同OS的调度互不影响 核间中断隔离、资源分区
调试复杂性 多核并行调试困难 使用JTAG多核调试器,支持核间断点

三、实时操作系统(RTOS)

实时操作系统是嵌入式系统的核心软件,负责任务调度、资源管理和时间保障。

3.1 RTOS的核心特征

特征 说明
确定性的任务调度 任务切换时间、中断响应时间可预测
基于优先级的抢占式调度 高优先级任务可抢占低优先级任务
可预测的中断延迟 中断响应时间有上界
资源互斥机制 信号量、互斥锁、消息队列
内存管理 静态内存分配,避免动态分配带来的不确定性

3.2 RTOS任务调度算法

算法 特点 适用场景
优先级抢占式 最高优先级任务立即执行 强实时系统
时间片轮转 同级任务轮流执行 弱实时系统
单调速率调度(RMS) 周期短的任务优先级高 周期性任务系统
最早截止时间优先(EDF) 截止时间早的任务优先级高 动态实时系统

考试提示:RMS和EDF是实时调度理论中的经典算法,需要掌握其适用条件和优缺点。

3.3 国产RTOS实践

近年来,国产RTOS在工业控制、航空航天、物联网领域快速发展,成为考试的热点。

ReWorks:工业级国产RTOS

ReWorks是由中国电科集团研发的自主可控实时操作系统,广泛应用于国防、工业控制等领域。

技术特点

  • 支持多核SMP和AMP架构

  • 支持标准POSIX API

  • 提供分区调度机制,保障关键任务隔离

  • 已适配龙芯、飞腾、申威等国产处理器

应用案例(2025年《集成电路与嵌入式系统》期刊):

基于ReWorks的无人智能控制系统,采用多核异构架构,实现无人机飞控与任务管理的实时协同。系统通过RPMsg机制实现ARM核(运行Linux)与DSP核(运行ReWorks)之间的通信,任务调度延迟小于50微秒。

RT-Thread:开源物联网RTOS

RT-Thread是国内最成熟的开源物联网RTOS,支持丰富的组件和中间件。

技术特点

  • 支持ARM、RISC-V、MIPS等多种架构

  • 提供完善的设备框架和网络协议栈

  • 支持SMP多核调度(RT-Thread Smart)

  • 社区活跃,生态完善

应用场景

  • 智能家居网关

  • 工业控制器

  • 消费电子

鸿蒙(HarmonyOS):分布式操作系统

华为鸿蒙系统面向全场景(手机、平板、IoT、汽车)提供统一的操作系统平台。

嵌入式特性

  • 分布式软总线:自动发现和连接附近设备

  • 轻量化内核:LiteOS内核,支持RAM最小128KB

  • 多核调度:支持SMP和AMP混合架构

  • 安全可信执行环境:基于TEE的机密计算能力

3.4 RTOS选型考虑因素

因素 说明
实时性要求 微秒级实时选择硬实时RTOS;毫秒级可选择Linux+RT补丁
硬件平台 是否支持目标处理器架构
开发工具 是否提供完善的IDE、调试器、仿真器
中间件生态 文件系统、网络协议栈、GUI等是否齐全
许可协议 开源(GPL、BSD)或商业授权
国产化要求 是否满足自主可控需求

四、嵌入式系统开发过程

4.1 交叉开发环境

嵌入式系统通常采用交叉开发模式:在宿主机(PC)上编写、编译、调试代码,生成目标机可执行文件,然后下载到目标机运行。

交叉开发工具链

  • 编译器:arm-none-eabi-gcc(ARM裸机)、aarch64-linux-gnu-gcc(ARM Linux)

  • 调试器:GDB配合OpenOCD、J-Link等调试器

  • 仿真器:QEMU模拟目标硬件

4.2 嵌入式软件测试

嵌入式软件测试面临硬件依赖、实时性等挑战,常用方法:

测试类型 工具 说明
单元测试 CppUTest、Unity 在宿主机上运行,通过桩函数模拟硬件
集成测试 硬件在环(HIL) 连接真实硬件或仿真器
覆盖率测试 gcov、Bullseye 语句覆盖、分支覆盖、MC/DC覆盖
性能测试 逻辑分析仪、示波器 测量中断延迟、任务切换时间

考试提示:航空软件(DO-178B)要求达到MC/DC(修改条件/判定覆盖) 覆盖率,这是最高级别的测试要求。

4.3 嵌入式软件可靠性设计

技术 说明
看门狗定时器 软件定期“喂狗”,若超时未喂则硬件复位系统
心跳机制 周期性发送状态信号,检测任务是否挂起
双机热备 主备冗余,主故障时备切换
检错/纠错码 ECC内存、CRC校验,检测并纠正数据错误
回滚恢复 系统异常后恢复到已知安全状态

五、嵌入式系统的安全性

5.1 DO-178B/C 软件等级(复习)

等级 失效后果 测试覆盖率要求
A 灾难性 MC/DC 100%
B 危险性 分支覆盖 100%
C 较严重 语句覆盖 100%
D 较轻微 语句覆盖部分
E 无影响 无要求

5.2 安全认证标准

领域 标准 说明
航空 DO-178B/C 机载软件
汽车 ISO 26262 功能安全
医疗 IEC 62304 医疗器械软件
工业 IEC 61508 功能安全通用标准
铁路 EN 50128 铁路应用软件

考试提示:ISO 26262 是汽车嵌入式软件必考知识点,其安全完整性等级(ASIL)分为 A~D 四级。

5.3 功能安全设计

功能安全的核心是避免系统失效导致不可接受的风险。常见技术包括:

  • 安全分析:FMEA(失效模式与影响分析)、FTA(故障树分析)

  • 安全机制:双通道比较、冗余执行、错误检测与纠正

  • 安全监控:看门狗、自检、运行时监控

六、嵌入式系统发展趋势

6.1 边缘AI与NPU

随着AI模型在边缘侧部署,NPU(神经网络处理器)成为嵌入式SoC的标配。

主流NPU架构

  • ARM Ethos-U:面向物联网的微NPU

  • 华为昇腾:面向边缘计算的AI处理器

  • 瑞芯微NPU:集成在RK系列芯片中

应用场景

  • 人脸识别门禁

  • 语音唤醒

  • 工业视觉缺陷检测

6.2 RISC-V架构

RISC-V是开放指令集架构,近年来在嵌入式领域迅速崛起。

优势

  • 开源免费,无授权费用

  • 可扩展性强,可定制专用指令

  • 生态逐渐完善

代表产品

  • 玄铁系列:阿里平头哥

  • SiFive:RISC-V核心IP提供商

  • 沁恒微电子:RISC-V MCU

6.3 时间敏感网络(TSN)

TSN(Time-Sensitive Networking)是工业以太网的重要演进,提供确定性的低延迟传输。

在嵌入式系统中的应用

  • 工业控制:PLC与IO模块之间实时通信

  • 汽车电子:车载以太网,支持AVB/TSN

  • 航空电子:AFDX(ARINC 664)基于TSN技术

七、历年考点解析与真题

7.1 考点分布统计

知识点 考查频率 难度 题型
嵌入式系统定义与特点 ⭐⭐⭐⭐⭐ 选择题
处理器体系结构 ⭐⭐⭐ 选择题
BSP与BootLoader ⭐⭐⭐⭐ 选择题
实时操作系统 ⭐⭐⭐⭐ 选择题
多核异构架构 ⭐⭐ 选择题/案例分析
国产RTOS ⭐⭐ 选择题
DO-178B/ISO 26262 ⭐⭐⭐ 选择题

7.2 典型真题解析

真题1(系统架构设计师2023年上午真题):

以下关于嵌入式系统特点的描述中,错误的是( )。
A. 嵌入式系统是为特定应用而设计的专用计算机系统
B. 嵌入式系统通常具有资源受限、功耗敏感的特点
C. 嵌入式系统开发一般使用交叉编译环境
D. 嵌入式系统不需要实时性要求

正确答案:D
解析:大多数嵌入式系统(特别是工业控制、汽车电子、航空航天)对实时性有严格要求,并非不需要实时性。D选项错误。

真题2(系统架构设计师2022年上午真题):

在嵌入式系统开发中,BSP(板级支持包)的主要功能不包括( )。
A. 单板硬件初始化
B. 提供设备驱动程序
C. 实现应用程序业务逻辑
D. 为操作系统提供运行环境

正确答案:C
解析:BSP负责硬件初始化、驱动和操作系统支持,业务逻辑属于应用层,不由BSP实现。

真题3(系统架构设计师2021年上午真题):

关于多核嵌入式系统的描述,正确的是( )。
A. SMP架构中每个核运行独立的操作系统
B. AMP架构中所有核共享一个操作系统实例
C. RPMsg是AMP架构中常用的核间通信机制
D. 多核系统一定比单核系统实时性好

正确答案:C
解析:A错误:SMP是单操作系统管理所有核;B错误:AMP是每个核独立操作系统;D错误:多核可能引入调度和通信开销,不一定实时性更好。RPMsg是Linux提供的AMP核间通信机制。

真题4(系统架构设计师2020年上午真题):

以下关于实时操作系统(RTOS)的说法,错误的是( )。
A. RTOS必须支持基于优先级的抢占式调度
B. RTOS的中断延迟必须可预测
C. RTOS可以保证所有任务都在规定时间内完成
D. RTOS通常提供信号量、消息队列等同步机制

正确答案:C
解析:RTOS只能保证在满足调度分析的前提下,高优先级任务能在规定时间内完成,但若系统过载或任务设计不合理,仍可能错过截止时间。C选项过于绝对。

真题5(系统架构设计师2019年上午真题):

在航空嵌入式软件开发中,DO-178B标准将软件分为A~E五个等级,其中( )级软件要求达到MC/DC覆盖率100%。
A. A B. B C. C D. D

正确答案:A
解析:A级(灾难性)要求最高,需要MC/DC覆盖100%。

7.3 模拟题练习

模拟题1(RPMsg机制):

在AMP多核异构系统中,Linux内核通过( )机制与运行RTOS的从核进行通信。
A. Socket B. RPMsg C. Netlink D. 共享内存

正确答案:B

模拟题2(国产RTOS):

以下不属于国产嵌入式操作系统的有( )。
A. ReWorks B. RT-Thread C. VxWorks D. LiteOS

正确答案:C
解析:VxWorks是Wind River公司的商业RTOS,不是国产。

八、实践拓展案例

8.1 基于ReWorks的无人智能控制系统

背景:某研究所研发无人直升机,需要实现飞控计算机(强实时)与任务管理(弱实时)的协同。

架构设计

  • 主控核(Cortex-A53):运行Linux,负责图像处理、通信、任务调度

  • 飞控核(Cortex-R5):运行ReWorks,负责飞行控制算法、传感器数据采集

  • 通信:通过RPMsg实现核间通信

成果

  • 飞控循环周期1ms,抖动小于50μs

  • 任务管理响应时间小于100ms

  • 系统通过了GJB 5000A三级评审

8.2 智能汽车域控制器中的异构多核应用

背景:某新能源车企开发新一代中央计算平台,要求整合智能驾驶、智能座舱和车身控制。

技术方案

  • SoC:NXP S32G 集成 Cortex-A53 x 2 + Cortex-M7 x 3

  • 软件架构

    • Cortex-A53核运行Linux(智能座舱)

    • 一个Cortex-M7核运行FreeRTOS(车身控制)

    • 两个Cortex-M7核运行AutoSAR(智能驾驶)

  • 通信:通过硬件邮箱 + 共享内存

挑战与解决

  • 缓存一致性:通过配置MPU区域,将共享内存设置为非缓存区域,避免一致性问题

  • 实时性保障:将高优先级控制任务绑定到专用核,防止Linux干扰

8.3 开源RT-Thread在物联网网关的应用

背景:某智能家居公司开发物联网网关,需要连接Zigbee、Wi-Fi、以太网,并支持远程管理。

选型:RT-Thread Smart(支持SMP多核)

实现

  • 双核A53:一个核处理网络协议栈,一个核处理应用逻辑

  • 组件使用:LwIP(网络)、MQTT(上云)、SQLite(本地存储)

  • 安全机制:TLS加密传输、安全启动

成果

  • 系统启动时间 < 5秒

  • 稳定运行90天无重启

  • 支持OTA远程升级

九、复习要点与备考策略

9.1 嵌入式系统核心知识图谱

嵌入式系统复习主线:

基础概念层
├── 定义与特点
├── 分类(实时性/安全性/集成度)
├── 组成结构(硬件/BSP/OS/中间件/应用)
└── 开发流程(交叉开发、调试、测试)

硬件层
├── 处理器体系结构(冯诺依曼/哈佛)
├── 处理器类型(MCU/MPU/DSP/SoC/NPU)
└── 工艺分级(民用/工业/军用)

软件层
├── BSP与BootLoader
├── 实时操作系统(RTOS)
├── 嵌入式软件架构(层次化/微内核)
└── 多核异构架构(SMP/AMP、RPMsg)

安全与标准
├── DO-178B/C
├── ISO 26262
├── 功能安全技术
└── 安全认证流程

发展趋势
├── 边缘AI/NPU
├── RISC-V
├── TSN
└── 国产化(ReWorks/RT-Thread/鸿蒙)

9.2 易错点总结

易错点 正确理解
冯诺依曼与哈佛混淆 冯诺依曼程序数据合一;哈佛分离
SMP与AMP混淆 SMP单OS多核;AMP多OS各管各核
BSP包含BootLoader BootLoader是BSP的一部分
RTOS实时性 RTOS只保证高优先级任务,不保证所有任务
DO-178B等级 A级最高(灾难性),E级最低

9.3 考前冲刺建议

  1. 吃透教材基础概念:定义、特点、组成、分类等是必考点

  2. 掌握BSP与BootLoader:这是考试高频题,重点记忆三个阶段的顺序和功能

  3. 理解多核架构:SMP/AMP、RPMsg要能区分并举例

  4. 关注国产RTOS:ReWorks、RT-Thread、鸿蒙等,了解其特点和适用场景

  5. 熟悉安全标准:DO-178B等级、ISO 26262 ASIL等级

  6. 结合实践案例:近年真题开始出现国产化、边缘AI等新考点,要结合行业实践

结语

嵌入式系统是计算机科学中与物理世界结合最紧密的领域,其发展始终伴随着硬件性能的提升和软件架构的演进。从单核到多核异构,从裸机编程到微内核RTOS,从工业控制到边缘AI,嵌入式系统正变得日益复杂和强大。

作为系统架构设计师,掌握嵌入式系统的基础知识,理解其软硬件协同设计思想,熟悉安全认证标准和国产化趋势,对于设计高可靠、高性能的智能系统至关重要。希望本篇能够帮助你在考试中从容应对嵌入式相关题目,并在实际工作中构建更优秀的嵌入式系统。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐