AUTOSAR C++14 编码指南(上)

AUTOSAR C++ 14 指南是 MISRA C++ 2008 的一次更新,为 ISO/IEC 14882:2014 定义的现代C++提供了编码指南。

Adaptive AUTOSAR(自适应 AUTOSAR)

汽车行业在过去十年中发生了翻天覆地的变化。现代汽车引入的新功能从根本上将汽车本身变成了计算中心。在用于构建汽车软件的平台的开发中反应得特别明显,特别是AUTOSAR。

在编译时假定静态配置、没有动态内存分配以及C语言占主导地位的经典方法已不再适用。而以下新功能需要大量高级代码:

  • 车道保持辅助

  • 自动紧急制动

  • 盲点监测

  • V2X通信(汽车之间以及车对基础设施的通信)

  • 持续的无线更新

  • 高清多媒体

  • AI计算、图像识别

这些新特性还需要对范式进行更改,以满足传统方法的需要。为了应对这些挑战并促进汽车发展,包括世界上大多数领先汽车制造商在内的AUTOSAR联盟于2017年3月发布了新版本的AUTOSAR标准,称为自适应AUTOSAR。

新标准的发布并未使经典平台失效,它仍将作为无连接需求、有限的硬件要求和硬实时功能的控制单元的首选。

自适应AUTOSAR定义了一个平台,用于开发汽车控制单元,该单元通过互联网提供先进的驾驶辅助系统,媒体流或软件更新等复杂功能。该平台包含定义服务和 API 的接口规范。自适应AUTOSAR中引入的一些新特性包括:

  • 面向对象的方法

  • C++编程语言

  • 面向服务的体系结构

  • POSIX操作系统

  • ECU配置在系统运行时发生变化

  • 无线部署和更新

C语言不再满足需求

自适应AUTOSAR解决了现代汽车日益复杂的需求,以及互联世界模式给汽车系统带来的新挑战。C语言在过去是汽车开发人员的首选,如今却成为了一个阻碍因素。

系统的复杂性迫使人们从C语言切换到C++,这为构建大型分布式系统提供了更好的支持,并为数据封装提供了更好的机制。

自适应AUTOSAR依赖于 C++14 语言标准。语言标准版本的选择是在“不太旧”和“不太新”之间进行选择。一方面,我们有C++98和C++03,它们仍然广泛应用于汽车行业,但已经过时,不符合现代的开发模式。另一方面,当C++17标准发布时,它是比较新的,并且有争论要摒弃C++98和C++03,包括:

  • C++语言的重大改进

  • 提供更好的编译器

  • 更好的测试和分析工具的可用性

不采用C++17的主要原因之一是标准中引入的新功能可能会给系统带来安全风险——检测和理解安全漏洞需要一些时间。此外,符合C++17标准的C++编译器仍然是新的,需要更多的测试和更好的支持才能用于安全关键型开发。因此,选择依靠C++14标准作为合理的中间选项。

随着C++语言的不断发展,今天我们有C++20(ISO/IEC 14882:2020)取代了C++17。

为了支持C++17,AUTOSAR和MISRA联手制定了使用C++17的安全编码指南,并计划持续到C++20。对于许多组织来说,这是非常重要的,因为现代C++功能提供了在开发系统中非常重要的新创新。例如,使用AI依赖于C++最新版本中开发的现代架构,现代平台和现代库。

那么AUTOSAR 编码指南呢?

自适应AUTOSAR平台的发布增加了C++在汽车项目中的应用。这使得一个具体问题更加明显:虽然在过去几年中C++语言发展速度加快了,但汽车编码标准似乎已经落后了。

在C++11和C++14发布时,C++最流行的汽车编码标准MISRA C++2008已经严重过时,只能解决该语言的C++03版本。

随着每一年的发展,这个问题变得越来越棘手。开发人员广泛接受最新C++标准的新功能,并在没有适当指导或最佳实践的情况下开始使用它们。这种情况对于开发安全关键型系统的团队来说尤其成问题,ISO 26262要求这些系统使用静态分析以及适当的编码指南子集。

为了解决这个问题,AUTOSAR联盟发布了专门的指南,作为自适应AUTOSAR平台的一部分,标题为“在关键和安全相关系统中使用C++14语言的指南”。依靠未经修改的MISRA C++2008简直是一种不合理的选择。下面的时间线描述了这种情况。

  • 1998 – C++98标准发布

  • 2003 – C++03标准发布

  • 2008 – MISRA C++2008 (封面 C++03)

  • 2011 – C++11标准发布

  • 2014 – C++14标准发布

  • 2017 – AUTOSAR C++14 (3月)

  • 2017 – C++17标准发布

  • 2020 – C++20标准发

  • 2022 – MISRA & AUTOSAR C++17 (待定)

  • 2022 – MISRA & AUTOSAR C++20 (待定)

AUTOSAR C++14 编码指

AUTOSAR C++ 14 指南文件旨在作为 MISRA C++ 2008 的一次更新,并为 ISO/IEC 14882:2014 定义的现代C++提供编码指南。该编码标准主要应用于汽车行业,但它同样也可用于需要嵌入式编程的其他行业。

该标准规定了342条规则:

  • MISRA C++ 2008 中的 154 条规则未经修改采用 (67%)

  • 131条规则基于现有的C++标准

  • 57条规则基于研究或其他文献或资源

该标准有据可查,并提供了对其他现有C++标准的可追溯性,例如HIC ++ 4.0,JSF,SEI CERT C++,C++核心指南,当然还有MISRA 2008 C++。

AUTOSAR C++14 遵循 MISRA C++ 2008的规则分类方法。这些规则根据义务级别进行分类:

  • 必要规则:声明符合标准的强制性规则

  • 建议规则:建议但不具有强制性状态

此外,根据这些规则是否由静态分析工具自动执行,分类为:

  • 自动化:可由静态分析工具完全支持

  • 部分自动化:可以由静态分析工具支持,但可能需要其他实践,如代码审查

  • 非自动化:不支持静态分析工具。

最后,根据分配目标对规则进行分类:实现、验证、工具链和基础设施。AUTOSAR C++14 标准中的规则将使用有关分类的信息进行标记。

下一期我们聊一聊,如何为支持 ISO 26262 的 AUTOSAR C++ 合规性选择合适的工具。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Autosar C是汽车领域广泛使用的一种规范,它涉及到了车辆电子控制单元(ECU)所使用的软件开发。而Autosar C14Autosar C规范的其中之一,主要涉及到软件开发过程中的代码规范,主要目的是提高软件的可维护性和可靠性。 如果您想要下载Autosar C14的PDF文件,可以通过以下几种方式实现: 1. 官方网站:Autosar官方网站提供了Autosar C14的PDF下载链接,只需要在网站上注册账号并进行认证即可下载。 2. 第三方网站:一些第三方网站提供了Autosar C14的PDF下载链接,这需要您注意文件的来源以及是否存在风险。 3. 社区论坛:汽车电子领域的一些社区论坛中,也有很多人分享了Autosar C14的PDF文件下载链接,需要您认真查看并勾选可信个人分享信息。 总之,如果您需要使用Autosar C规范进行软件开发,那么学习Autosar C14代码规范是必不可少的。在下载PDF文件的过程中要注意文件来源和信誉度,确保文件的完整性和准确性。 ### 回答2: Autosar是一种用于汽车电子系统开发的标准化软件架构。Autosar C 14Autosar协会推出的C编程规范,旨在提高汽车软件的质量和可靠性。该规范详细描述了C语言代码应该如何编写,如何避免一些常见的代码错误和漏洞。对于从事汽车软件开发的工程师而言,遵守这个规范是必须的。 Autosar C 14规范已经被广泛采用并且为许多汽车制造商所支持。通过遵循这个规范,汽车软件开发人员能够导出具有高质量、可维护和可重复使用的代码。在使用该规范时,开发者应该特别注意一些细节,例如如何声明变量和函数,如何处理指针和内存分配,以及如何进行代码安全性验证等。 需要注意的是,Autosar C 14规范并不是一份教程,也不是一份手册。它以非常精简的方式阐述了C编程方法和风格,对于那些刚开始学习C语言开发者而言可能有一定困难。不过,对于有经验的开发者而言,该规范是一份非常有用的参考资料。 如果需要下载Autosar C 14规范,可以在Autosar协会的官方网站上找到相应的PDF文件。该文件非常详细,包含了与Autosar C 14相关的所有信息。无论是对于新手还是经验丰富的开发者,无论是对于个人使用还是在公司内部使用,该规范都是值得学习和遵守的。 ### 回答3: AutoSAR C 14 PDF是一个针对汽车行业相关软件开发的文档,其内容主要围绕着AutoSAR C语言编码标准进行描述。下载AutoSAR C 14 PDF文档可以帮助开发人员深入了解AutoSAR C编码标准,并且可以为开发人员提供开发指南和设计建议,提高软件开发和框架设计的效率和质量。AutoSAR C 14 PDF文档的下载可以在官方网站上进行,需要注册并获得相应权限方可下载。下载完成后,开发人员可以根据实际情况调整和优化代码,使其符合AutoSAR C编码规范,从而提高软件的稳定性和可靠性。同时,AutoSAR C 14 PDF文档的下载也有助于开发人员了解最新的标准规范和行业趋势,从而更好地适应市场需要,并在竞争中占据先机。综上所述,AutoSAR C 14 PDF文档的下载对于提高汽车软件开发人员的技能和水平非常有帮助,值得关注和学习。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值