一、两种典型的嵌入式系统架构模式
1. 层次化模式架构
- 
核心思想:通过抽象分层实现概念一致性,高层依赖低层实现具体功能。 
- 
两种类型 : 类型 调用规则 优点 缺点 封闭型 仅能调用同层或相邻下层对象的方法 封装性好,易移植 性能较低 开放型 可调用同层或任意下层对象的方法 性能高 破坏封装,移植性差 
- 
适用场景:系统存在高层次抽象概念需低层实现时(如嵌入式GUI框架)。 
- 
考点:开放型与封闭型的性能与移植性权衡。 
2. 递归模式架构
- 核心思想:通过自顶向下或自底向上分解复杂系统,实现逐步精细化设计。
- 工作流程 :
- 自顶向下:从系统级开始分解,确保需求不偏离用例(如航天控制系统)。
- 自底向上:基于领域经验构建关键类,逐步抽象到子系统(如工业物联网节点)。
 
- 适用场景:需持续分解验证可靠性与实时性的复杂系统(如自动驾驶子系统)。
- 考点:递归模式解决复杂系统可扩展性问题的设计思想。
典型考题 :
层次化开放型架构的缺点是什么?
答:破坏封装性,导致系统移植性降低。
二、嵌入式操作系统
1. 核心特性
| 特性 | 实现方式 | 应用场景 | 
|---|---|---|
| 强实时性 | 优先级调度、时限任务管理 | 工业控制、航空航天 | 
| 可剪裁性 | 静态编译移除未用模块 | 资源受限设备(IoT) | 
| 安全性 | 符合DO-178C等安全标准(A~E级) | 汽车电子(A级系统) | 
| 确定性 | 静态资源分配、越界检查 | 医疗设备 | 
2. 典型操作系统
- VxWorks:高实时性,支持WindRiver Workbench开发环境。
- 嵌入式Linux:开源可定制,适用于智能终端。
- INTEGRITY:通过MULTI工具链认证,适用于安全攸关系统。
三、嵌入式数据库
1. 核心需求
- 低资源占用:轻量级存储引擎(如SQLite)。
- 高可靠性:事务ACID特性、断电保护(如eXtremeDB)。
- 实时响应:内存数据库优化(如Redis嵌入式版)。
2. 应用场景
- 车载系统:存储行驶数据,支持快速查询。
- 工业传感器:实时记录环境参数。
典型考题 :
嵌入式数据库为何需支持ACID特性?
答:确保在断电等异常场景下数据一致性与完整性。
四、嵌入式中间件
1. 定义与功能
- 定位:介于OS与应用层之间,屏蔽底层异构性。
- 核心功能:网络通信、内存管理、数据处理(如DDS/CORBA)。
2. 关键特性
| 特性 | 实现要求 | 
|---|---|
| 通用性 | 支持多应用场景(如车载娱乐+控制) | 
| 异构性 | 兼容不同硬件/OS平台 | 
| QoS保障 | 满足实时性带宽约束(如视频流传输) | 
3. 典型中间件
- 嵌入式Java中间件:跨平台移植(如Android IoT)。
- DDS(数据分发服务):适用于分布式实时系统(如无人机集群)。
五、嵌入式系统软件开发环境
1. 开发模式
- 交叉开发(CPD):宿主机(PC)开发 → 目标机运行。
- 调试方式 :
- 模拟器:主机模拟目标环境(低成本)。
- JTAG仿真器:硬件级调试(高精度)。
- 监控程序(Monitor):宿主机与目标机通信调试。
 
2. 开发环境架构(基于Eclipse)
| 层级 | 功能 | 关键组件 | 
|---|---|---|
| 宿主层 | 基础支撑 | Eclipse框架、JDK、CDT | 
| 基本工具层 | 交叉编译、调试、工程管理 | 编译器(GCC)、调试器 | 
| 应用工具层 | 效能分析、部署维护 | 时间监视器、批量升级工具 | 
| 驻留层 | 目标机代理程序(Agent) | 通信代理、调试代理 | 
3. 典型开发环境
- GCC工具链:开源跨平台,支持多语言(C/C++/Java)。
- WindRiver Workbench:高安全性,配套Diab编译器。
- GreenHills MULTI:实时追踪与反向调试,代码优化效率提升20%。
典型考题 :
交叉开发环境中"驻留层"的作用是什么?
答:在目标机运行代理程序,支持宿主机工具与目标机的通信及调试。
六、考点与考题汇总
- 架构模式:层次化封闭型 vs 开放型的移植性差异。
- 嵌入式OS安全等级:DO-178C标准(A级最高,如航空软件)。
- 中间件功能:DDS解决分布式实时通信问题。
- 开发环境核心:Eclipse框架的插件化扩展能力。
- 递归模式应用:自底向上构建工业物联网子系统。