|注:文章摘录自论文集,上海工程技术大学,2021年,仅供学习参考!
智能网联汽车的快速发展导致了汽车的电子电气架构越来越复杂, 使得软件成本 也急剧增加, 传统的基于分离式的电子电气架构以及各厂商独立开发的方式已经显现 出系统架构不统一、 代码的跨平台运行能力较差和软件耦合比较严重等问题, 不适用 于现在的智能网联汽车 [32] 。因此跨平台技术是解决上述问题的有效方案之一。
(资料图)
跨平台技术是软件开发领域的一个重要概念, 一个平台下开发出的应用程序在其 他平台上也可以实现同样的功能, 该技术向下屏蔽底层环境的差异性, 向上可以帮助 软件开发者更高效地去开发跨平台应用程序 [33] 。
在跨平台技术之前的软件开发是针对不同的硬件和操作系统平台单独开发的。不 同平台的软件对平台的依赖性很大, 实现跨平台的应用程序非常困难。要实现不同平 台的相同功能, 基本上需要从头开发, 这需要大量的人力和物力。而跨平台技术的出 现很好地解决了上述问题。
根据自适应 AUTOSAR 的解决方案, 选择 C + +作为跨平台的开发语言, 应用程 序可以用 C + +自上而下编程, 在工业界和学术界, C + +是开发新算法和应用软件的 首选语言, 高效率地使用它将使新算法的适应速度更快, 也能提高应用程序的开发效 率。
跨平台技术主要有操作系统抽象层, 虚拟机技术, 嵌入式图形中间件, 跨平台库 等技术, 针对本课题选用的 SoC(TDA2Px) 加 MCU(TC277) 域控制器硬件平台下, 提出一种基于 AUTOSAR 的跨平台中间件软件的解决方案, 平台软件向上可以提供 统一应用程序接口, 向下可以屏蔽底层实现方式。
基于 AUTOSAR 的跨平台软件架构
跨平台软件是为辅助驾驶功能开发提供安全、 高效、 易扩展、 易集成测 试的平台软件, 旨在为辅助驾驶操作系统提供统一的应用程序接口, 满足多运算平台(x86、 ARM、 MCU) 兼容和多软件系统(Linux、 Windows、 ROTS) 兼容的要求, 因此跨平台软件应满足以下条件:
(1) 可以实现辅助驾驶应用软件跨平台的应用需求;
(2) 基于此平台可以开发并验证跨平台的应用程序;
(3) 开发出的跨平台应用程序可以方便且高效的移植到不同的系统平台上;(4) 运行服务可扩展, 插件功能可扩展。
根据以上需求, 按照如下思想来设计软件平台:
(1) 按照 AUTOSAR 分层架构的思想设计跨平台的平台软件, 采用分层的架构 思想可以更好地实现软硬分离, 增加应用软件的重用率。
(2) 按照 AUTOSAR 模块化的思想设计接口及系统库, 模块化技术的应用使得 平台软件可以更方便地兼容其他功能模块和操作系统 [34] 。如图 3-2 所示为自 适应 AUTOSAR 的模块图, 自适应 AUTOSAR 作为中间件软件实现软硬分离的关键技术, 共分为基础和服务两个大模块。
跨平台软件的交互过程
软件平台通信模块开发