【软考架构】嵌入式系统及软件
2.4 嵌入式系统及软件
- 基本定义:嵌入式系统是为特定应用构建,将信息处理与物理过程结合的专用计算机系统,随20世纪70年代单片微型计算机兴起,应用于多领域;嵌入式软件指嵌入式系统中可运行的程序代码及相关开发工具/环境软件。
2.4.1 嵌入式系统的组成及特点
- 组成
- 嵌入式处理器:需适应恶劣环境(高温、电磁等),分民用、工业、军用档次,满足低功耗、小体积需求。
- 相关支撑硬件:除处理器外的硬件,包括存储器(Flash、SDRAM等)、输入输出设备(LCD、键盘等)、接口(RS-232、USB等)及网络总线(TCP/IP、CAN等)。
- 嵌入式操作系统:运行于嵌入式系统的基础软件,具备实时性、可剪裁性、安全性等特征。
- 支撑软件:为应用软件开发与运行提供公共服务、开发及调试能力,以库的形式被应用软件引用。
- 应用软件:为完成嵌入式系统特定目标开发的软件。
- 特点
- 专用性强,面向特定应用,利于小型化;
- 技术融合,结合多领域先进技术与具体应用;
- 软硬一体,软件为主体,可高效设计、去除冗余;
- 资源少于通用计算机,成本低、结构简单;
- 程序代码固化在非易失存储器中,提升速度与可靠性;
- 需专门开发工具和环境,用户通常无法修改程序;
- 体积小、价格低、实时性强,对安全性和可靠性要求高。
2.4.2 嵌入式系统的分类
- 按实时性:
- 嵌入式实时系统:能在指定时间内完成功能并响应事件,结果正确性依赖时间约束,分强实时(Hard Real-Time)和弱实时(Weak Real-Time)系统。
- 嵌入式非实时系统:无严格时间约束。
- 按安全性要求:
- 安全攸关系统(Safety-Critical System):功能不正确或失效会导致严重后果(人员伤亡、财产损失等)。
- 非安全攸关系统:失效后果较轻。
2.4.3 嵌入式软件的组成及特点
-
组成架构(层次化,可配置、可剪裁)
- 硬件层:提供运行支撑,包括微处理器、存储器、I/O接口、总线等。
- 抽象层:实现硬件抽象(HAL),通过板级支持包(BSP)驱动硬件,为上层提供硬件管理支持。
- 操作系统层:含嵌入式操作系统及可配置模块(文件系统、GUI、网络系统等),负责资源调度与管理,组件可按需组合。
- 中间件层:连接独立应用的系统软件,分服务、集成、数据、消息、安全中间件等,常用产品有嵌入式数据库、OpenGL等。
- 应用层:具体应用软件,需适应恶劣环境影响(如辐射导致的数据变化)。
-
软件特点
- 可剪裁性:通过静态编译等方式增减功能模块,使系统紧凑。
- 可配置性:根据运行需求调整工作状态,采用数据驱动、配置表等设计方法。
- 强实时性:多数属强实时系统,需在时限内完成任务,依赖算法优化。
- 安全性:按危害程度分安全等级(如机载DO-178标准分A~E级),通过编码标准、安全机制等提升。
- 可靠性:衡量系统在规定条件下执行功能的能力,采用容错、余度技术等设计。
- 高确定性:运行时间、状态等预先规划,通过静态资源分配等确保无未预计错误。
-
开发差异
- 在宿主机开发,生成代码后固化到目标机;
- 强调软硬件协同效率与稳定性;
- 需专门开发工具、测试设备,对实时性、安全性、代码规模要求高;
- 安全攸关软件需满足领域设计与代码审定要求,采用模块化设计。
2.4.4 安全攸关软件的安全性设计
- 定义:可能导致不可接受风险的软件,在航空航天等领域至关重要,需通过安全性工程技术控制风险。
- DO-178标准(以DO-178B为例)
- 目的:指导机载软件开发,确保满足适航安全性要求,涵盖软件生命周期目标、活动及证据(生命周期数据)。
- 核心内容:
- 目标:规定66个生命周期目标,按软件重要程度分A~E五级安全等级,等级不同目标要求不同。
- 过程:分软件计划过程、软件开发过程(含需求、设计、编码、集成子过程)、软件综合过程(含验证、配置管理、质量保证、审定联络子过程)。
- 数据:涵盖生命周期中所有文档、代码、记录等,作为目标达成的证据。
- DO-178与CMMI差异
维度 DO-178 CMMI 视角 适航审定,关注项目软件对安全性的影响 过程改进,关注组织整体软件能力提升 内容 以目标、活动、数据为主,要求具体 基于行业最佳实践,覆盖多层次要求 聚焦范围 仅软件领域,易理解 集成系统、软硬件等,易生歧义 应用侧重 安全攸关软件项目质量保障 企业多项目持续成功与商业目标达成
补充