ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

嵌入式系统及软件

嵌入式系统及软件 一、板级支持包BSPBSP是介于主板硬件和操作系统驱动层之间的一层一般任务属于操作系统的一部分主要为操作系统提供底层硬件支持并为上层驱动程序提供访问硬件设备寄存器的函数包BSP的两个重要特点特点含义硬件相关性BSP 必须针对具体硬件提供操作和控制方法操作系统相关性不同操作系统有不同的软件层次结构BSP 需要按特定操作系统的接口形式实现主要功能单板硬件初始化尤其是CPU、内存、时钟、中断等提供设备驱动程序和系统中断服务程序定制操作系统功能提供实时多任务运行环境初始化操作系统为内核运行做好准备BSP通常包括Bootloader和设备驱动程序二、嵌入式软件分层架构从下到上层次主要职责硬件层CPU、存储器、I/O 接口、传感器等物理部件抽象层硬件抽象层 HAL、板级支持包 BSP屏蔽硬件差异操作系统层任务调度、存储管理、通信管理、时间管理等中间件层提供文件系统、网络协议栈、数据库、图形界面等通用服务应用层实现具体业务功能其中抽象层的核心价值是实现可移植性的上层软件不直接依赖具体硬件安全攸关软件与DO-178B等级IEEE将安全攸关软件定义为用于一个系统中可能导致不可接受分险的软件DO-178B/DO-178C 中软件安全等级通常分为 A~E 五级等级失效状态说明A 级灾难性可能导致飞机失控、人员死亡或无法安全飞行着陆B 级危害性/危险级严重削弱飞行或控制能力造成重大伤害C 级严重/重大显著降低运行能力或增加机组工作负荷D 级不严重/轻微对安全影响较小仅造成轻微不便E 级无影响失效不影响飞机运行能力或机组工作负荷软件综合过程软件验证过程、软件配置管理过程、软件质量保证过程、审定联络过程四、嵌入式系统关键特性可裁剪性根据系统功能需求增减模块删除不需要的软件使系统更紧凑高确定性行为可预先规划、不随时间、状态变化而不可预测核心性能指标功耗、响应时间、吞吐量可靠性指标MTBF平均无故障时间在工业控制、汽车电子等场景中非常重要五、强实时系统与实时系统强实时系统强实时系统必须在规定的截止时间前完成响应一旦超时无论超出多少都视为系统彻底失败。其核心要求是最坏情况响应时间实时系统的一般特性时间约束性可预测性高可靠性与外部环境交互多任务类型约束复杂可能具有短暂超载特性六、嵌入式实时操作系统 RTOS采用嵌入式实时操作系统的主要理由操作系统提供的任务调度机制能有效管理多周期任务事件、信号、消息等通信机制能解决资源共享中的互斥问题使用商品化RTOS可提高可靠性降低开发成本提高开发效率选择 RTOS 时应重点考虑任务上下文切换时间短中断响应速度快内核占用空间小服务接口丰富、开放性好可靠性保障能力强支撑环境完善可配置、可裁剪能力强七、嵌入式实时系统时间性能评估主要考虑操作系统时间开销一般不大于整个控制系统运行时间总开销的20%所有任务必须在规定时间期限内完成或进行可调度性分析任务上下文中断时间和响应时间八、BMTS 消息通信BMTS 用于从一个计算组件向一个或多个接受组件传输消息具有高可靠、低延迟、微小抖动等特点消息类型触发方式时延特性事件触发消息事件发生时产生延迟不确定可能丢失速率约束消息偶发产生但受最大速率限制承诺不超过最大传输时延时间触发消息按精确时间片周期发送接收在指定时间片和确定抖动下传输具有事件触发消息能的总线包括TTE 总线、FC 总线、AFDX 总线
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进