2021年9月15日 汽车

Diab Compiler - 建立高度优化的安全认证用例代码

由Raju Subbian

在过去35年多的时间里,Diab工具链编译的代码已经部署在汽车、工业、A&D和网络市场的数十亿设备中。Diab在嵌入式市场中长期存在,在这个市场中,安全对于关键任务应用程序至关重要,客户相信Diab工具链除了满足他们的性能和代码大小要求外,还能生成安全有效的代码。基于客户反馈和市场分析,Diab工具链进行持续改进。在这篇博客文章中,我们将研究一些最近的改进。

迪亚布从成立之初,它就依靠尖端的内部技术和创新来加快新功能的开发和新架构的添加,因为行业采用了更新的架构。5.9新。X已经发展了超过35年的研发。Diab支持嵌入式市场中最广泛使用的32位和64位处理器。由于行业法规,汽车和工业市场开始越来越多地向功能安全标准兼容的应用程序开发方向发展,编译器作为应用程序开发中的关键工具,导致客户要求功能安全认证的工具链。5.9新。x行业中是第一个推出工具链资格工具包(QKit)允许客户选择编译器特性相匹配的应用程序开发中使用,然后运行测试这些功能在他们自己的环境,符合安全使用的编译器/ ISO 26262和IEC 61508标准。

通过客户反馈开发和演变,Diab 5.9.x减轻了客户所需的资格努力。而不是拥有客户部署和测试QKIT生成的测试代码,Diab Toolchain分别为Automotive(ISO 26262)和工业(IEC 61508)市场所需的任何ASIL和SIL水平评估的预定编译器。此TUV SUD合格的工具链不仅提供了安全手册和刀具资格报告等所有必要文件,还提供了一个行业首先提供诊断编译器。非常复杂的产品等编译器具有错误,需要对其对嵌入式应用程序生成的代码的影响进行分析。Diab Compiler Team在Wind River支持网站上发布所有缺陷,并注释它们是否具有安全影响,或者只有某些处理器架构受到影响,触发这些潜在缺陷,替代方法等的选项,以帮助客户分析影响并采取必要的计数器措施。尽管有这种有用的数据,但客户仍然很难了解特定的缺陷如何影响其应用程序,因为它很难在数百万个应用程序代码中找到触发条件。

诊断编译器概念是作为TUV认证合格编译器提供的一部分提供的DIAB编译器团队的创新。诊断编译器是基于相同的编译器产品的辅助编译器,而不是包含缺陷的修复,它将有用的诊断消息发出有用的诊断消息,以触发编译器中的缺陷的PIN点代码。关键的想法是识别应用程序中的可能代码序列,使得编译器生成不良代码或遇到错误的行为。然后,客户可以将解决方法应用于应用程序代码并再次重新编译诊断编译器,以确保不再存在触发条件。客户预计将通过定期使用诊断编译器构建,以确保新开发的代码不会触发任何潜在的编译器缺陷。诊断编译器提供是节省时间和关键概念之一,帮助Diab客户在其安全关键应用程序开发中。这一概念可帮助客户在通过重新验证应用程序的高成本后,在一个项目中传递或更新编译器并没有吸引的项目中通过钥匙的后期里程碑后保持其生产编译器。

Wind River编译器团队在开发和使用开源编译器GCC方面有着悠久的历史VxWorks.平台。此外,该团队还集成并修复了GCC的问题风河系统公司Linux产品。随着市场转向参与和利用更多的开源产品,如基于LLVM的编译器,除了GCC之外,Wind River也开始部署LLVM作为VxWorks的主要编译器,因为它有强大的行业支持、现代化的代码库、易于开发等。Wind River编译团队也在Diab产品中利用了基于LLVM的成果,并开始为ARM提供基于LLVM的交叉编译器。

基于Diab的LLVM 7.x产品系列通过提供迁移指南和用Diab Linker和其他二元公用设施以及GNU Binutils运送现有Diab 5.9.x客户的简单迁移路径。Diab 7.x因此,现有的GCC客户和Diab 5.9.x客户易于轻松迁移应用程序。仅仅采用和完善基于LLVM的安全关键市场的编译器是不够的。需要不断分析,分类和发布LLVM,CLANG和编译运行时库中的预先存在,以及有关这些缺陷是否对安全影响的信息进行分类。为此,DIAB编译器团队到目前为止分析了10000多个缺陷,根据他们对安全的影响分类,然后最终将它们发布在Wind River支持网络上,以实现最终客户。Diab 7.x继续提供诊断编译器以帮助功能安全应用程序开发。作为一个值添加,Diab船用Qemu进行仿真,以便应用程序开发可以高效而不会通过支持的目标CPU环境减慢。

最近新7。x还增加了一个新的功能,可以检测和处理ARM浮点运算相关的异常。该特性提供了多种选项来满足不同的客户需求,并允许客户通过安装自定义处理程序来覆盖和处理这些异常。

Diab 5.9.x支持较新的TRICORE架构变体,如TC 4xx和Renesas G4MH2。Diab Compiler进一步利用了更新的指令,并优化性能和大小的代码。

通过利用内部技术和开源开发,Diab编译器版本为5.9。x和7。x为嵌入式客户带来两方面的优势,并提供增值的TUV认证合格的编译器,具有创新功能,如诊断编译器和监测和发布影响安全的开源缺陷。客户信赖Diab编译器产品,因为它的技术优势和提供卓越的客户支持和维护。

以前的实时任务需要实时数据
下一个来认识一下风河DTO: Michael Entner