智能汽车车用基础软件平台关联技术
自动化编译框架的目的是,提供一种能够针对应用开发屏蔽编译差异,可扩展、利于编译框架平台化的理念和方法,其能够解决硬件平台带来的差异化问题。整体而言,应用自动化编译框架能够获得的潜在收益有五个方面。
(1) 软件与硬件平台解耦
在软件开发中,将软件和硬件进行解耦是首先需要解决的问题。由于不同的硬件厂商会提供不同的开发环境和集成环境,在进行硬件切换时,会出现由于底层耦合导致的应用切换问题,从而出现了硬件约束软件的情况。在实际工作中,如果没有一个统一的编译框架的约束,会存在人为的或不同工具链之间的集成问题。
通过使用统一的自动化编译框架和集成环境,可以解决不同阶段不同层级的软件集成问题,从而能够在流程或工具层面进行约束,真正地获得软件和硬件平台解耦带来的收益。
(2) 软件与运行环境解耦
软件需要编程语言去编写和构建,而任何语言都需要自己的运行时环境。开发团队在开发应用上一 般都会配置好软件的开发语言,例如在动力、底盘等领域,我们倾向于应用C 语言进行相关的开发;在智驾、智能网联等领域,我们倾向于使用 C++;在车机、座舱多媒体等领域,我们倾向于使用 Java 或 Android。因此在应用开发时需要确认开发语言和掌握该语言的团队成员。
但是随着软件比重的日益增加、硬件资源的扩展提升以及用户体验的快速迭代,我们会面临将原来采用某一种语言开发的程序迁移到另一种语言的情况。在这样的情况下,如何更好地复用软件来屏蔽掉运行时环境的问题变得尤为突出。
自动化编译框架在应用开发阶段屏蔽了编程语言,从而实现了软件和运行环境的解耦。
(3) 软件快速跨平台迁移
软件开发过程中我们一般会通过交叉编译来解决开发环境和实际运行环境的差异,具体表现为开发人员的 IDE 一般是运行在 x86 Windows 或 Linux 上,而目标环境一般为 ARM。因此在软件开发中一般是需要开发板进行调试和运行测试的。
通过自动化编译框架,使用系统抽象层来实现快速的跨平台迁移工作,从而做到在开发板未提供时进行开发和编译调试。同时结合虚拟硬件技术,可以做到虚拟调试目标平台下的应用,从而极大地减少了硬件的需求并提前了软件开发阶段。
(4) 应用与基础组件解耦
可以通过自动化编译框架实现应用和基础软件的解耦,从而加速应用开发工程师在应用开发的效率, 减少其对基础软件的依赖,从而将更多的创造力投入在应用开发本身。
(5) 更快速地复用和部署
解耦以及便捷的平台给与了不同领域开发工程师良好的知识封装,使得各领域开发工程师能专心在其领域进行开发。通过更好的分工以及依赖解耦,更快速地进行复用和部署。
4.4.3 持续集成持续交付
1. 概述
CI/CD 是一种通过在软件开发阶段引入自动化来频繁向客户交付软件的方法。CI/CD 的核心概念是持续集成、持续交付。作为一个面向开发、测试和发布团队的解决方案,CI/CD 预先解决了新代码集成过程时可能引发的问题。
CI/CD 可让持续自动化和持续监控贯穿于软件的整个生命周期(从集成和测试阶段,到发布和部署)。这些关联的事务通常被统称为 "CI/CD 管道 ",由开发、测试和发布团队以敏捷方式协同支持。
实际上,CI/CD 在传统 IT 行业早已风靡多时,但汽车行业相比于传统 IT 行业有一定差异性,导致了车载软件的开发过程中,CI/CD 的流程和标准会有所不同。具体的区别,例如,车载软件的 CI/CD 流程会比传统的 CI/CD 流程稍微短一点,CD 的过程只有到持续交付这个环节,CI 使用的静态检查和自动化测试的范围和工具会更针对汽车行业标准。总的来说,差异性体现在下面这两方面:
编辑推荐
最新资讯
-
imc/GRAS/AP首次联袂亮相ATE India 盛会
2025-04-11 13:49
-
GB/T 31486-2024 与 GB/T 31484-2015 修改
2025-04-11 13:48
-
标准介绍丨ASAM ARTI 运行实时接口
2025-04-11 10:29
-
自动驾驶中基于深度学习的雷达与视觉融合用
2025-04-11 10:25
-
标准研究丨《汽车开闭件性能要求和试验方法
2025-04-11 10:24