2025年3月19日,在第六届软件定义汽车论坛暨AUTOSAR中国日上,风河开物科技(上海)有限公司资深解决方案架构师鲁侃谈到,当前汽车软件开发领域正面临着一个显著挑战:由于不同SoC(系统级芯片)所带来的SDK(软件开发工具包)分裂问题,软件版本的维护变得异常复杂。
为了有效应对这一难题,风河提出了采用统一的Linux平台策略,来实现跨多种硬件(包括预控、雷达等)的统一软件版本管理。这一举措旨在通过架构的统一化,简化开发流程,降低维护成本。然而,仅仅实现软硬解耦并不足以满足汽车软件开发的全部需求。风河在上层应用之间实现软软的解耦,以确保系统的灵活性和可扩展性。鲁侃重点围绕汽车OS平台的挑战与现状、基于容器的汽车OS平台架构、智能边缘的DevOps平台如何提高SDV进行了分享。
鲁侃 | 风河开物科技(上海)有限公司资深解决方案架构师
以下为演讲内容整理:
汽车OS平台的现状与挑战
在汽车行业快速发展的当下,汽车架构正经历着深刻的变革。从传统的硬件定义汽车逐步向软件定义汽车(SDV)转型,软件在汽车领域的重要性日益凸显,这也对汽车OS平台提出了更高的要求。
汽车OS平台的现状复杂多样,面临诸多挑战。不同的硬件平台,如高通、英伟达、恩智浦等厂商的系统级芯片(SoC),各自具备独特的特性和规格,这导致在适配过程中需要针对不同的硬件进行定制化开发。同时,Linux版本众多,不同版本在功能、性能和兼容性上存在差异,使得软件包和组件的重复现象严重。在软件移植和集成方面,由于硬件与软件之间紧密耦合,不同硬件平台上的软件难以通用,增加了开发和维护的难度。例如,一款基于特定SoC开发的汽车软件,在更换硬件平台时,往往需要对软件进行大量修改和重新测试,这不仅耗费时间和成本,还容易出现兼容性问题。
图源:风河开物
从软件定义汽车的发展趋势来看,未来的汽车需要具备快速迭代、缩短上市时间、高度复用组件以及易于移植和集成的能力。汽车行业期望通过技术创新,降低开发成本,提高软件质量和可靠性,以满足不断变化的市场需求和日益严格的安全标准。为了实现这些目标,汽车OS平台需要进行变革,其中容器技术和DevOps平台成为关键的解决方案。
基于容器的汽车OS平台架构
容器作为一种轻量级的、独立的可执行软件包,在汽车OS平台中具有重要的应用价值。它将运行应用程序所需的代码、运行时环境、系统工具、系统库和配置等进行封装,确保软件在不同的计算环境中能够可靠运行。
图源:风河开物
在嵌入式系统中,容器的优势尤为明显。它占用空间小,能够有效节省硬件资源,特别适合资源有限的汽车电子设备。其可移植性使得软件可以在不同的硬件平台上轻松部署,减少了因硬件差异带来的适配问题。可扩展性则允许根据需求灵活添加或更新应用程序,提高系统的适应性。同时,容器的高效性和安全性保证了应用程序的稳定运行,降低了安全风险。
在汽车OS平台中,容器技术实现了软件的模块化和容器化部署。通过将单体软件应用程序分解成更小的、独立的模块,并使用标准化接口,提高了软件的可维护性和可重用性。以汽车的自动驾驶功能为例,不同的功能模块,如车道偏离预警、自动紧急制动等,可以分别封装成容器,独立进行开发、测试和更新,互不干扰。当某个功能模块需要升级时,只需更新相应的容器,而不会影响整个系统的其他部分。
我们在容器技术的应用上具有领先优势。风河Linux作为容器主机,为容器的运行提供了稳定的环境。通过在风河Linux上部署容器,实现了不同应用程序在同一硬件平台上的隔离运行。同时,风河的VxWorks实时操作系统(RTOS)也支持容器技术,并且是首个支持通过容器部署应用程序的实时操作系统,能够满足汽车行业对实时性和安全性的严格要求。
在汽车座舱系统中,容器技术的应用可以有效整合多种功能。例如,将音频管理、窗口管理、应用程序等分别封装成容器,通过容器管理器进行统一调度和管理。这样,不同的功能模块可以独立运行,提高了系统的整体性能和稳定性。同时,通过OTA进行容器化软件部署,实现了软件的远程更新和升级,极大地提升了用户体验。
对于混合关键性的应用场景,容器与虚拟机(Hypervisor)相互配合。Hypervisor可以提供一个安全的隔离环境,运行一个安全的实时操作系统,如VxWorks,然后在其上运行容器。这样,既可以满足安全关键应用对实时性和安全性的要求,又能利用容器的灵活性和可扩展性,整合多种非关键应用。例如,在自动驾驶系统中,安全关键的控制功能可以在Hypervisor上的VxWorks系统中运行,而一些娱乐和信息服务功能则可以通过容器运行,实现了不同关键级别应用的共存。
DevOps平台加速SDV开发
在软件定义汽车的背景下,DevOps平台对于加速开发过程、提高开发效率和质量具有至关重要的作用。风河的DevOps平台——Wind River Studio,专为优化嵌入式软件生命周期而设计,集成了一系列先进的工具和工作流程。
Wind River Studio提供了全面的功能,涵盖软件开发的各个环节。在开发阶段,它支持云上开发,集成了Android以及VxWorks、WR Linux的在线编译功能,为开发者提供了便捷的开发环境。图形化项目配置工具环境使得项目配置更加直观、高效,开发者可以轻松管理项目的各种参数和设置。同时,统一的登录界面和权限管理体系,实现了平台开发、应用程序开发、测试的统一接口,通过基于角色的权限管理(RBAC),确保了系统的安全性和用户操作的规范性。
图源:风河开物
在部署和管理方面,Wind River Studio实现了全面云化部署,提供SaaS服务。这使得资源可以根据客户需求灵活伸缩,支持跨部门、跨区域的协同开发。通过图形化流水线生成功能,开发者可以使用图形化界面编辑Pipeline,自动化生成脚本,无缝衔接开发的各个环节。这种结构化设计易于规模化或差异化定制,并且可兼容客户自定义Jenkins模块,提高了开发的灵活性和可扩展性。
测试是软件开发过程中的重要环节,Wind River Studio集成了强大的测试功能。它提供了自动化测试框架,集成了风河积累的大量测试用例,支持多种测试框架的自动化调用,帮助客户验证稳定、可靠的操作系统运行环境。通过与第三方工具集成,实现了测试结果到需求的自动追踪,加速了合规进程。同时,借助仪表板汇总测试结果和质量指标,提高了质量的可视性,方便开发者及时发现和解决问题。
数字孪生技术也是Wind River Studio的一大特色。它支持QEMU开源方案和SIMICS系统级模拟,提供虚拟板卡管理,使得开发者可以在虚拟环境中对硬件和软件进行模拟测试,提前发现潜在问题,减少硬件依赖,降低开发成本。物理测试环境链接功能则联接了实验室管理系统,实现了远程单板管理和远程测试支持,提高了测试的便捷性和效率。
此外,Wind River Studio还具备安全灵活的使用方式。它拥有完善的信息安全设计,支持VSCode、外部API调用、CLI、web等多种使用方式,方便用户根据自身需求灵活接入。
在实际应用中,Wind River Studio的各个组件协同工作,为汽车SDV开发提供了高效的解决方案。例如,通过Studio Workspace,开发者可以在云端获得一个完全可自定义的开发环境,根据项目需求添加或缩减资源。这个基于浏览器的工作空间,团队成员可以随时随地访问,通过单一界面统一管理用户、项目、角色和访问控制等,极大地提升了团队内部、跨团队及整个企业的协作效率。
Studio Pipelines实现了自动化构建、扫描、组装、测试和部署嵌入式软件。通过灵活的流水线配置与执行,开发者可以轻松访问流水线状态、工具输出、结果以及执行历史。预构建的任务模块,适用于Wind River技术,如VxWorks和Wind River Linux,使得开发过程更加高效、规范。
Studio Virtual Lab通过预订目标板确保了可预测的访问,开发者可以通过日历、程序化或临时的方式预留资源,确保虚拟和物理目标的可用性。测试完成后,目标可以手动或通过程序返回到可用池中,或者在预留到期时自动返回,提高了资源的利用率。
Wind River的DevOps平台通过整合各种先进技术和工具,为汽车SDV开发提供了一站式解决方案,加速了软件开发的进程,提高了软件质量和可靠性,满足了汽车行业快速发展的需求。随着汽车技术的不断进步,这些技术将在软件定义汽车的进程中发挥更加重要的作用,推动汽车行业向智能化、高效化方向发展。
(以上内容来自风河开物科技(上海)有限公司资深解决方案架构师鲁侃于2025年3月18-19日在第六届软件定义汽车论坛暨AUTOSAR中国日发表的《容器技术与 DevOps 平台助力汽车SDV》主题演讲。)
本文地址:https://auto.gasgoo.com/news/202504/3I70422162C106.shtml
联系邮箱:info@gasgoo.com
求职应聘:021-39197800-8035
简历投递:zhaopin@gasgoo.com
客服微信:gasgoo12 (豆豆)
新闻热线:021-39586122
商务合作:021-39586681
市场合作:021-39197800-8032
研究院项目咨询:021-39197921