系统架构设计师备考第8天——嵌入式系统
一、嵌入式系统概述
-
定义
- 为特定应用构建的专用计算机系统,软硬件紧密结合,满足功能、可靠性、成本、体积、功耗等严格要求。
- 核心特征:专用性强、技术融合(计算机+通信+半导体技术)、软硬一体以软件为主、资源受限、程序固化在非易失存储器中。
-
组成
组件 功能说明 嵌入式处理器 抗恶劣环境(分民用级[0,70]℃、工业级[-40,85]℃、军用级[-55,150]℃),如MPU、MCU、DSP、GPU、SoC 支撑硬件 存储器(ROM/RAM)、定时器、I/O接口(串口/USB/JTAG)、专用硬件(如传感器) 嵌入式操作系统 管理资源,具备实时性、可剪裁性、安全性(如VxWorks、Android) 支撑软件 提供公共服务(如运行时库),以库形式被应用调用 应用软件 完成特定功能的业务逻辑程序 -
分类
- 按实时性:
- 强实时系统:必须在严格时限内响应(如航天控制)。
- 弱实时系统:允许轻微延迟(如智能家居)。
- 按安全性:
- 安全攸关系统:失效会导致重大损失(如医疗设备)。
- 非安全攸关系统:失效影响较小(如消费电子)。
- 按实时性:
二、嵌入式软件架构与特点
1. 分层架构(图2-14)
层级 | 功能 |
---|---|
硬件层 | 处理器、存储器、I/O接口等物理设备 |
抽象层(HAL/BSP) | 硬件抽象层(HAL)虚拟化硬件资源;板级支持包(BSP)驱动硬件芯片 |
操作系统层 | 内核(任务/内存/通信管理)、文件系统、网络协议栈(TCP/IP)、可配置组件(GUI/设备管理) |
中间件层 | 嵌入式数据库、OpenGL、DDS/CORBA等,实现跨技术资源共享 |
应用层 | 具体业务逻辑软件 |
2. 嵌入式软件核心特点
- 可剪裁性:静态编译/动态库移除冗余模块(如定制OS功能)。
- 可配置性:数据驱动/配置表适应不同场景(如调整通信协议)。
- 强实时性:表驱动/汇编优化确保任务时限(EDF调度算法)。
- 高安全性:遵循编码标准(如DO-178航空软件A~E安全等级)。
- 高可靠性:容错/余度设计(如双机热备)。
- 确定性:静态资源分配避免运行时异常(如固定内存池)。
三、开发环境与工具
-
交叉开发模式
- 宿主机(PC):代码编辑、编译、调试。
- 目标机(嵌入式设备):运行固化程序。
- 工具链:Eclipse框架(支持JDK/CDT)、交叉编译器、调试代理(Agent)。
-
开发环境特点
- 开放式架构(支持第三方工具集成)、可移植性(跨平台)、实时性优化(编译器代码优化)。
四、重点考点与典型考题
考点1:嵌入式处理器类型
考题:
下列哪种处理器适合实时信号处理?
A. MPU
B. MCU
C. DSP
D. GPU
答案:C(DSP采用哈佛结构,专为算法优化)
考点2:实时系统调度算法
考题:
在强实时系统中,若任务截止时间严格,应优先采用哪种调度算法?
A. 轮转调度
B. EDF(最早截止时间优先)
C. 静态优先级
D. FIFO
答案:B(EDF动态分配优先级确保时限)
考点3:安全攸关系统设计
考题:
提高嵌入式软件安全性的方法不包括?
A. 冗余设计
B. 动态内存分配
C. 故障模式分析(FMECA)
D. 代码审查
答案:B(动态分配易导致不可预测行为,违反确定性原则)
五、总结
- 嵌入式系统 = 专用硬件 + 实时软件 + 严格约束。
- 设计核心:软硬件协同、资源优化、安全可靠。
- 趋势:IoT/云技术推动低功耗、高集成度发展(如边缘计算设备)。