开发人员如何利用 RTOS 功能安全认证
扫描二维码
随时随地手机看文章
实时操作系统 (RTOS) 是嵌入式设备的基础。所有特定于应用程序的代码都依赖于 RTOS 来执行。RTOS 类似于建筑物的地基 - 如果地基不牢固,整栋建筑物可能会倒塌。嵌入式系统中的 RTOS 也是如此。如果它出现故障,整个应用程序可能会失败。
嵌入式市场上有 100 多种开源和商用 RTOS,但绝大多数都没有功能安全认证。事实上,许多最常用的 RTOS 都没有。鉴于此,应更加关注 RTOS 功能安全认证,不仅针对安全关键设备,而且针对所有嵌入式设备,以此作为缩短上市时间、提高产品质量和减少产品责任的手段。
对功能安全和保障的需求不断增长
对于汽车、工业、医疗和其他行业的安全关键型设备开发人员来说,功能安全是首要考虑的问题。在安全关键型系统中使用 RTOS(无论是专有还是开源)都需要对嵌入式 RTOS 进行严格验证。当监管认证是强制性要求,并且需要针对目标安全标准的特定文档和测试流程时,这一点尤其重要。
嵌入式系统、设备和装置的客户寻求的是软件和硬件的安全性和可靠性能够得到保证的信任和信心。对于涉及保护人类生命或与人类一起操作机器的系统而言,风险尤其高。
功能安全的范围是端到端的,这意味着它必须将组件或子系统的任何功能视为整个系统自动保护功能运行的一部分。实现功能安全就是通过相关测试和认证机构的认证,提供硬件或软件系统符合适当规定的功能安全要求的保证和证据。
最常见的功能安全标准
最常见的 RTOS 功能安全标准是IEC 61508,这是国际电工委员会 (IEC) 发布的一项国际标准。该标准通常适用于电气、电子和可编程产品的功能安全。它适用于各种设备。该标准有四个安全完整性等级 (SIL),范围从 SIL 1 到 SIL 4。SIL 等级越高,安全等级越高。例如,仅满足 SIL 1 要求的软件不应在需要 SIL 4 的安全关键设备中使用。
IEC 61508 衍生的其他功能安全标准包括医疗设备软件国际标准 IEC 62304 和道路车辆功能安全标准 ISO 26262,后者适用于汽车电子电气安全相关系统。对于铁路运输,有 EN 50126/8/9。
对于航空市场,美国联邦航空管理局 (FAA) 已实施了类似的功能安全认证流程。软件认证称为 RTCA DO-178C,复杂电子硬件认证称为 DO-254,这些认证适用于整个航空航天业。在欧洲,相应的认证是 EURICAE ED-12C。
RTOS 功能安全认证
从最高层面来看,RTOS 功能安全认证是正确操作的客观衡量标准,进而也是质量的客观衡量标准。例如,RTOS 功能安全认证通常需要 100% 的 C 语句测试覆盖率和 100% 的分支/决策测试覆盖率。它还需要经过验证的软件生命周期和安全手册,以确保开发人员正确使用 RTOS。这代表了超越常见 RTOS 解决方案的严格程度。这种额外的严格程度实际上相当于行业最佳实践。
更轻松地获得 RTOS 认证
如果 RTOS 功能安全认证看起来令人望而生畏且耗时,那么针对 PX5 RTOS 的全新现成功能安全认证可让嵌入式开发人员利用此 RTOS 预认证结合其嵌入式软件认证来构建安全认证设备,适用于汽车、工业和医疗行业以及非安全关键设备。
SGS-TÜV Saar 是一家领先的独立认证公司,专门为安全相关系统测试、审核、验证和认证嵌入式软件。PX5 RTOS 获得了最高级别的功能安全认证,具体为 IEC 61508 SIL 4、IEC 62304 C 级、ISO 26262 ASIL D 和 EN 50128 SW-SIL 4。
需要功能安全认证的设备的优势
对于需要功能安全认证的嵌入式设备,预先认证的 RTOS 具有直接价值。安全认证的 RTOS 的认证文档可用于设备认证,这样开发人员就无需在应用程序代码之外再认证 RTOS 代码。相反,开发人员只需提供 RTOS 认证工件作为应用程序认证的一部分即可,从而节省大量时间和金钱。
即使您的应用程序目前没有功能安全认证要求,未来也很有可能需要。有关产品安全的新法规越来越多,例如《通用产品安全法规》(GPSR)、《欧盟机械法规》、《欧洲医疗器械法规》(EU MDR)、《欧洲网络弹性法案》(CRA)等。使用经过安全认证的 RTOS 有助于确保您的设备面向未来。
认证之外的益处
经过安全认证的 RTOS 对所有设备制造商都大有裨益。遵循行业最佳实践是产品责任的第一道防线。没有经过功能安全认证的 RTOS 通常不遵循最佳实践 — 它在软件生命周期的某些元素上存在缺陷,最明显的是验证不足。使用这样的 RTOS 很容易导致产品责任。
具有功能安全认证的 RTOS 经过了广泛的测试,有助于缩短开发时间。更高质量的 RTOS 还有助于提高设备的整体质量,并降低设备在生产过程中被召回的风险。避免召回的成本很容易抵消安全认证 RTOS 的成本。
嵌入式设备安全与功能安全重叠。例如,如果 RTOS 中的问题导致内存损坏,黑客可以利用此问题进行拒绝服务、不当信息访问甚至远程执行攻击。经过安全认证的 RTOS 不太可能存在这些漏洞。
功能安全认证成功秘诀
RTOS 功能安全认证需要大量工作,这些工作都包含在一套广泛的文档中。这套文档涵盖软件设计、开发计划、软件集成测试程序、软件集成测试计划、软件集成测试报告、软件要求、安全要求规范、编码约定和 RTOS 安全手册。安全手册为软件开发人员提供了如何在安全关键应用中使用 RTOS 的指导。
该套件中最有趣的文档可能是软件集成测试报告,其中包含所有测试结果,包括集成测试、测试期间的代码覆盖率和静态分析。对于 PX5 RTOS 认证,IAR Systems 开发工具也具有广泛的功能安全认证。
集成测试(图 1)是一系列连续的测试,用于测试 RTOS 的所有功能。每个测试都会返回 PASS 或 FAIL 指示。PX5 RTOS 集成测试包含近 200 个功能测试。
图 1:这是集成测试的一个示例,该测试是一系列连续的近 200 个功能测试,用于测试 RTOS 的所有功能。
除了功能测试之外,集成测试报告还包含代码覆盖率分析,即在 RTOS 代码库中测试的语句、分支和条件的报告。为了达到最高级别的 IEC 61508 功能安全认证(SIL 4、C 级、ASIL D),必须覆盖 RTOS 代码库中的每个 C 语句。此外,还必须覆盖所有可能的条件和分支组合,这称为 100% 分支决策覆盖率测试。PX5 RTOS 使用 IAR 的代码覆盖率工具来演示这一点。图 2 是 IAR 代码覆盖率在报告中显示方式的示例。
图 2:为了达到最高级别的 IEC 61508 功能安全认证(SIL 4、C 级、ASIL D),必须涵盖 RTOS 代码库中的每个 C 语句。
实心绿色菱形表示该语句在测试执行期间被覆盖,并且所有可能的条件和分支路径都已执行。PX5 RTOS 的编码标准之一是不允许任何复合条件的规则。这简化了测试覆盖范围并有助于避免更复杂的 MC/DC 分析。
认证过程会产生一份官方证书、一份功能安全技术报告和一份功能安全认证报告,这些报告均由 TÜV 出具。开发人员可以使用这些文档来避免认证 RTOS 代码 — 只需将这些文档与应用程序认证一起提交即可。
所有实时嵌入式设备的必备品
由于嵌入式 RTOS 功能安全认证惠及所有设备并代表行业最佳实践,因此它对于实时嵌入式系统而言必不可少。利用具有功能安全认证的 RTOS 的设备制造商可以遵守通用行业标准,缩短上市时间并提高产品质量,并减少产品责任。