作者:Guilherme Marshall
随着汽车电子/电气(E/E)架构不断向集中化计算发展,对高性能处理、虚拟化和安全功能的需求不断增加——它们都是软件定义汽车的基石。今年早些时候,ARM开始与风河公司合作进行概念验证,将ARM软件测试库(STL)与风河Helix Virtualization Platform集成起来。
这项合作的成果有助于支持系统架构师和集成商更轻松地解决混合型关键系统中ISO26262和IEC61508硬件诊断覆盖需求。详细资料可查阅风河网站的相应白皮书。此外,风河公司现场应用高级工程师Stefan Harwarth在ARM DevSummit 2022大师班上总结了一些经验和建议,如果需要可联络风河公司索取。
跃向ASIL B compliance 的跳板
针对随机固定故障,Arm STL提供了一种灵活且经济有效的方法来对CPU功能逻辑进行自检测试。作为基础硬件安全机制的补充,它们扩展了诊断覆盖范围,并帮助实现系统安全测定目标。STL对于达到ISO 26262 ASIL B要求特别有用。在这些应用软件之中,重复配备昂贵的硬件,如双核锁步(Dual-Core Lock-step,DCLS)就显得过于浪费——必须予以避免。类似的,让处理器脱机进行测试,例如逻辑内置测试(LBIST),这种方法的侵入性也太大,会严重影响系统可用性。
具备灵活性,可满足复杂项目需求
Arm STL的主要优势之一是灵活性。STL在启动和运行时都可以运行。在运行时,它们可以定期调度,也可以在用户应用程序释放CPU时运行。每次调用时都可以运行所有的测试,也可以只运行部分测试,以便减少延迟。此外,集成商可以选择Arm CPU上的Exception Levels (EL)来执行大多数STL测试函数(注意,有一小部分可选控制寄存器测试需要EL3特权)。
既然有这么多种集成方式,那怎样才是最佳方法,来将STL设计成为建立于Helix平台之上的系统呢?关键任务系统软件市场领导者风河公司最擅长来解决这个问题。具体方案就是运行在四核Arm Cortex-A53 CPU处理器子系统上的演示平台。
我们已经找出了三种基本的STL调度选项,每种选项都为不同满足的需求提供了好方法:
* 同一时间在所有内核的单个测试分区(STL在客户操作系统之上或在hypervisor线程之内)。
* 多个测试分区独立调度(STL在客户操作系统之上或在hypervisor线程之内)。
* 独立用户空间调度(STL作为应用级线程)。
功能安全性大幅提升,CPU负载占用仅有0.5%
风河已经测试证实,无论采用何种集成方案,STL的侵入性都非常低。包括上下文切换和异常级别转换,运行整个应用测试套件只需要50μs到58μs即可完成。作为参考,这相当于总CPU容量的0.5%到0.6%,假设容错时间间隔(FTTI)为10ms。
由于对整体性能的影响如此之小,STL集成的选择更有可能归结为以下考虑因素:
*项目角色的分离(例如,类似于航空电子系统的DO-297标准)
*供应链和工作流程
*网络安全
风河的技术为我们提供了极大的发挥空间。如果您希望了解更多内容,风河和Arm都很乐意提供帮助,以便您更快实现安全目标策略。