Daily Technical Tracking

每日科技追踪 · 2026-9-4

2026年9月4日(周五) · 技术文章

每日追踪
← 返回首页

ISO 26262嵌入式软件功能安全

面向嵌入式固件团队解读 ISO 26262 Part 6 软件级要求:ASIL 分级、分解、覆盖度指标、防御性实现与 Bootloader 安全。

ASIL 分级

ISO 26262 适用于 3.5 吨以下乘用车的安全相关电气电子系统,覆盖从概念到退役的完整生命周期,其中 Part 6 与嵌入式固件团队关系最直接。风险等级分为:QM(无安全要求,如信息娱乐与车身舒适)、ASIL A(最低,如雨刮、喇叭)、ASIL B(中低,如灯光控制、门锁)、ASIL C(中等,如安全气囊展开、ABS 贡献)、ASIL D(最高,如电动助力转向、制动、电动车动力总成)。

ASIL 分解

ASIL 分解允许把一条 ASIL D 安全需求拆分为两条独立的 ASIL B 需求,由相互独立的软件通道实现。若通道足够独立(无共享数据、无共享执行上下文、无相关失效模式),组合系统仍可满足原始 ASIL D 需求。这对安全相关协议栈、诊断服务与 Bootloader 组件的结构设计有直接影响。

Part 6 的软件级要求

  • ASIL B 及以上要求使用定义的语言子集,对嵌入式 C 而言通常意味着 MISRA-C 合规。
  • 软件单元测试要求结构化覆盖指标:ASIL B 需语句覆盖与分支覆盖;ASIL C 增加 MC/DC;ASIL D 需 MC/DC 并在集成层做结构覆盖分析。
  • ASIL C 与 D 的防御性实现实践:对所有外部输入做范围检查、对每个接口做错误处理、显式处理状态机中的未定义状态。对协议栈实现而言,意味着每条收到的消息在处理前必须被校验,每个状态迁移都必须被显式定义。

Bootloader 的功能安全考量

Bootloader 在 ECU 软件中处于独特敏感位置:它在应用之前执行、直接编程 Flash 存储器、并决定车辆运行哪个固件镜像。ISO 26262 相关要求包括:完整性校验失败时的安全状态处理、移交控制权前的内存完整性验证、防止车辆运行期间的非预期重编程,以及集成硬件看门狗以防止失败更新序列中的无限挂起。

对 AUTOSAR 项目的意义

ISO 26262 要求使用强制强类型、限制指针、初始化变量的编码准则。MISRA C 与 AUTOSAR 是满足这些要求的行业标准,但标准本身并未指名强制要求它们——是否采用常由企业策略决定。团队应以可交付的源码形态,支撑代码评审、单元测试与结构覆盖分析等 Part 6 要求。

来源RAPIDSEA