功能安全之免于软件元素之间的干扰

来源:公众号“汽车电子硬件设计”
2020-08-06
1784

作者 | booksoser

来源 | 汽车电子硬件设计


D.1目标

目的是提供可能导致软件元素之间干扰的故障示例(例如。不同软件分区的软件元素)。此外,本附件提供了可以考虑预防或发现和减轻所列故障的可能机制的例子。

注:用于预防或检测和缓解相关机制的能力和有效性

在开发过程中评估故障。

D.2概述

D.2.1获得不受干涉的成就

为了开发或评估软件元素之间不受干扰的实现,可以考虑示例性故障的影响,以及可能导致的故障的传播。

D.2.2时序和执行

关于时序约束,对于在每个软件分区中执行的软件元素,可以考虑诸如下面列出的故障的影响:

Ø 阻止执行;

Ø 死锁;

Ø 活锁;

Ø 执行时间分配不正确;或

Ø 软件元素之间不正确的同步。

可以考虑循环执行调度、基于固定优先级的调度、时间触发调度、处理器执行时间监测、程序序列监测和到达率监测等机制。

D.2.3内存

关于内存,对于在每个软件分区中执行的软件元素,可以考虑诸如下面列出的故障的影响:

Ø 内容崩溃;

Ø 不一致的数据(例如。由于数据获取过程中的更新);

Ø 堆栈溢出或下溢;或

Ø 读取或写入对分配给另一个软件元素的内存的访问。

示例1:可以使用内存保护、奇偶校验位、纠错码(ECC)、循环冗余检查(CRC)、冗余存储、受限访问内存、内存访问软件静态分析和静态分配等安全措施。

示例2:适当的验证方法可被视为详细的安全分析,以确定用于保护机制的关键存储器。静态和语义代码分析、控制流和数据流分析的结果可以为证明不受干扰提供证据。

D.2.4交换信息

关于信息交流,故障的原因或影响,如所列的故障

下面可以考虑每个发件人或每个接收方:

Ø 信息重复;

Ø 信息丢失;

Ø 信息延迟;

Ø 信息插入;

Ø 伪装或不正确的地址信息;

Ø 不正确序列的信息;

Ø 信息崩溃

Ø 从发送者发送到多个接收者的非对称信息;

Ø 仅由接收者子集接收的来自发件人的信息;或

Ø 阻塞对通信信道的访问。

注:在不同的软件分区或不同的ECU中执行的元素之间的信息交换包括信号、数据、消息等。

示例1:可以使用I/O设备、数据总线等交换信息。

示例2:可以使用通信协议、信息重复、信息回环、信息确认、I/O引脚的适当配置、分离的点对点单向通信对象、明确的双向通信对象、异步数据通信、同步数据通信、事件触发数据总线、具有时间触发访问的事件触发数据总线、时间触发数据总线、按优先级进行的小时隙和总线仲裁等机制。

示例3:通信协议可以包含信息,如通信对象的标识符、保存活动消息、活动计数器、序列号、错误检测代码和纠错代码。

示例4:适当的验证方法可被视为详细的安全分析,以确定保护机制用于的关键数据交换。静态和语义代码分析、控制流和数据流分析的结果可以为证明不受干扰提供证据。

收藏
点赞
2000