汽车软件开发深度架构思考

描述

近年来,汽车应用中使用的软件出现了惊人的增长,汽车领域的软件实现有很多需要考虑的问题,包括安全标准、联网汽车安全性和高效开发,但传统的软件架构也不能忽视。本期讨论这些软件架构方面的考虑。

关键项

对于大多数系统来说,快速的软件启动时间是必不可少的,以使汽车尽可能快地进入安全工作状态。

响应能力也非常重要,因为当汽车高速行驶时,事件发生得非常快。为了管理这些功能,大多数汽车架构都支持并行处理。因此,软件还需要支持核间的通信和同步。

安全完整性等级(SIL)

由于成本和采购限制,汽车软件可能必须提供支持不同SIL等级的功能。为了防止针对不同SIL等级设计的软件之间的干扰,开发人员可以利用处理器的内存保护单元(MPU)或内存管理单元(MMU),实现隔离。

MMU

可以选择支持基于任务分配内存区域的RTOS,进一步增强空间分离。每个任务都可以被授予对特定内存区域的访问权限,上下文切换将重新配置MPU/MMU寄存器以反映活动任务的内存访问权限。

是否需要实时操作系统?

有一些成熟的技术,可以在不使用 RTOS 的情况下编写良好的嵌入式软件。但随着解决方案复杂性的增长,使用RTOS好处更多,RTOS的优点包括:

基于优先级的调度,分离关键处理与非关键处理。

RTOS负责管理时间并提供API功能,实现更简洁、更小的应用程序代码。

抽象时间依赖关系和基于任务的设计,减少了模块之间的相互依赖,易于维护。

基于任务的API促进了模块化测试及团队独立开发。

事件驱动结构确保了高效的处理,无需浪费时间轮询事件是否发生。

后台处理在空闲任务中进行,保证CPU负载测量、后台CRC校验等任务不影响主处理。

预认证软件模块

开发汽车软件既复杂又耗时,但利用已有的模块可以简化开发过程。许多预先认证的模块已基于ISO 26262标准进行了验证。预认证软件模块提供健壮可靠的软件,但评估模块与特定处理器和编译器组合的兼容性至关重要。建议选择基于使用的处理器和编译器组合设计和验证过的预认证软件,如果可能的话,甚至可以选择相同的编译器版本和编译器设置,消除了在目标硬件上重新测试的需要。

SAFERTOS是经过安全预认证的嵌入式实时操作系统(RTOS),为功能安全的最高标准而设计,并通过TÜV SÜD认证,符合IEC 61508 SIL 3和ISO 26262 ASIL D。SAFERTOS还包含支持安全关键汽车软件开发的功能:

可通过TÜV SÜD获得ISO 26262 ASIL D预认证;

支持广泛的汽车处理器;

快速启动,响应速度快;

任务分离和隔离特性;

提供OSEK OS适配层;

广泛应用于汽车行业;

汽车软件

审核编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分