0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

汽车软件开发的下一个阶段是什么样的?

智能汽车电子与软件 ? 来源:汽车ECU开发 ? 作者:eng2mot ? 2022-11-22 10:44 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

近几年,汽车行业一直朝着软件定义汽车发展,更多的特性和功能主要通过软件实现,这些软件可以快速、轻松的进行远程更新。

当前一辆车上的代码量达到数以千万计,但是在车辆网联、自动驾驶、用户体验方面还仅仅是初级阶段,这其中每项创新都需要复杂的软件来支撑。

确保开发人员拥有更好的工具、流程和结构来高效地创建、测试和更新软件,这是整个行业的首要任务。

答案在于持续集成和持续部署 (CI/CD),但平台必须具有足够强大的云原生开发和编译环境,以实现实时、全球协作并执行严格、广泛的测试 汽车应用。

1.一个更好的方法

随着软件将车辆的安全性、舒适性和便利性提升到新的水平,开发人员现在需要比传统系统更现代、更强大的软件开发环境。

过去,软件开发遵循僵化、缓慢的瀑布方法,并使用高度分散的工具链。开发将经历离散的阶段,每个阶段都在下一个阶段开始之前完成。许多开发过程是手动的,从工具链的一个部分到下一个部分的切换也是如此。以这种方法一版软件需要六到八个月的时间的开发时间。

如今,汽车领域的软件越来越从硬件中抽象出来,开发人员有机会利用这种架构转变,他们可以使用敏捷和DevOps 方法按自己的时间表来更新软件,并且不受硬件更改或其他物理更新的影响。这种方法提供了前所未有的速度、可扩展性、质量和安全水平。

在持续集成 (CI) 中,构建软件的工作是自动化的,软件生产的所有步骤都包含在 CI 链中,因为一个部分的输出成为下一个部分的输入。持续部署 (CD) 是在现场自动部署新版本软件。CI/CD 以及连续测试 (CT) 现在可以在汽车中进行,但测试新的高级应用程序在汽车行业提出了一个独特的问题,因为测试需要在物理车辆上或在试验台上进行复杂的模拟测试。

理想的方法是通过基于云的集中式平台消除开发和测试过程中的瓶颈,使开发人员能够在位于世界任何测试中心的相关测试台上执行任何测试。这些测试可以将软件在环 (SIL)、硬件在环 (HIL) 甚至车辆在环 (VIL) 置于更真实的测试中。这种方法允许使用全球资源来应对当今最严峻的挑战所需的规模。

02.传统方法的问题

当开发人员每天编写数百万行代码时,传统的开发、测试、集成和部署软件的方法是不可持续的。对HIL测试的需求意味着,由于在CI期间代码更改已经集成到软件中,CI系统必须在物理上位于HIL工作台的旁边。这种方法有许多缺点:

1.单个构建可能需要数小时,而它需要在几分钟或更短的时间内完成。这是影响上市速度和质量的一个重大瓶颈,因为更长的构建通常会导致执行自动化测试的时间更少。当构建时间过长时,它会消耗宝贵的时间,这些时间可以更好地用于额外的测试或功能开发。

2.如果没有普遍接受的软件方法,影子 IT 不可避免地会出现,这意味着开发人员有时会使用自己喜欢的工具。这不仅会造成效率低下,而且还可能成为安全风险,因为 IT 缺乏对开发过程的可见性。当开发人员使用不同的工具集时,他们更难与客户或彼此协作。

3.为同一软件项目贡献的CI链已经分布在世界各地的多个技术中心,每个中心都有自己的HIL测试台。如果没有标准的方法,企业就无法在云中进行开发,也无法实现全球标准化所带来的一致性和可重复性。

4.随着多个团队甚至供应商为当今的移动软件产品做出贡献,集成点的增加推动了质量、交付和时间问题的增加。最佳实践是尽早且经常地集成代码,但传统方法在开发过程中创建了不灵活的闸,导致在下一个合并门之前无法测试的问题。这会导致整个项目出现不必要的延误。

03.云端

由于车辆是生命安全系统,汽车公司长期以来一直采用以需求为中心的方法来设计和测试它们。他们根据一系列的要求来验证系统,以确保安全和法律方面的考虑得到了适当的解决,事实上,行业的ISO 26262功能安全标准导致了需要测试功能的每一个需求。简而言之,制造商必须证明他们的解决方案在第一天就符合规格,并且在发布后的每次更新中,他们必须确保所有昨天能用的东西今天仍然能用。

在过去的 10 年里,汽车行业应用中的软件需求数量已从数百增长到数万。其中许多要求必须使用运行在与车辆相同的电子控制单元 (ECU) 硬件上的嵌入式软件进行测试。测试还必须实时执行,以确保响应时间是可预测的,这意味着每个测试平均需要几分钟。最重要的是,软件通常分布在多个 ECU、传感器和其他设备上,并且由不同公司的同等分布的团队开发。

这些因素导致公司在多个地点使用多个CI链,都有自己的HIL测试平台,并且都为同一个项目做出贡献。

更好的方法是为每个程序创建一个单一的、统一的工具链。这个工具链应该是基于云的,并且可以在全球范围内使用。而且应该有一种机制来快速和轻松地部署新的工具链。

基于云的工具链具有可伸缩性,可以确保CI构建时间不会成为瓶颈,这一点很重要,因为瓶颈会压缩可用的测试时间,并可能导致软件延迟发布。

使用基于云的方法,开发是顺畅的,因为代码更新在开发团队之间共享,因此每个人都在同一页面上了解项目的状态。这可以提高自动化、远程故障排除、快速反馈、明确的团队分配和明确的产品所有权。

使用基于云的CI意味着开发团队创建的新代码可以自动集成到代码库中,而使用OTA更新的基于云的CD可以确保成功构建的代码自动部署到测试或生产环境中,无论它们在哪里。如果处理得当,云方法还可以在整个过程中构建安全性,包括灾难恢复。而且,托管在云中的集中式基础设施允许使用单一的管理视图来查看所有这些高度安全和弹性的CI链。

此外,灵活性允许开发人员在开发周期的后期改进产品。开发人员可以在前一年定义需求,对它们进行测试,从而构建更接近消费者期望的系统,而不是今天决定消费者在几年内想要什么。

然后,他们可以在未来几年根据需要部署 OTA 软件更新,从而降低保修成本并确保软件继续满足消费者的期望。

04.测试

在汽车工业中,为了确保软件在各种驾驶条件下都能正常工作,试驾可能需要数十万英里。

仿真程序使软件供应商能够降低成本,同时提供灵活性和可重复性。此外,通过模拟可以在复杂解决方案的开发过程中测试代码片段或组件,而不是等待整个产品完成然后进行测试,然后返回并进行修复,重复测试和修复。

借助仿真技术,结合 SIL 或 HIL,可以测试和验证日常构建。并且多线程 SIL 或 HIL 可以同时进行多个测试而不是顺序进行,这也节省了时间并提高了效率。

SIL 测试完全在软件生成的建模环境中进行。SIL 测试的优点是不需要特殊硬件(几乎可以在任何笔记本电脑或其他计算平台上进行),并且最适合在早期阶段测试设计。

在HIL测试中,系统会模拟车辆和ECU的环境输入,使其误以为与真实车辆相连。HIL工作台包含所有相关的车辆组件。模拟器向实际的摄像机和雷达系统提供输入信号,然后向被测系统发送信号,以查看系统是否对输入信号作出正确响应。

例如,测试脚本可以创建一个场景,在这个场景中,一辆在雨中以60km/h的速度绕着弯道行驶的汽车在路上遇到一个未知的物体,或者一辆迎面驶来的汽车在中线上急转弯。连接在HIL试验台上的摄像机和雷达将图像发送到ECU,被测系统必须实时处理这些数据,并决定采取何种行动。

模拟还允许测试人员快速测试罕见或潜在危险的用例。通常为了尝试重现特定的驾驶条件或部件问题,不得不驾驶数百公里。模拟允许按需测试,通过重新模拟特别具有挑战性的场景来显示不同版本的软件如何对相同的输入做出反应。

05.基于云的CI/CD/CT的优势

d40987ba-6a0e-11ed-8abf-dac502259ad0.png

持续测试(来源APTIV)

基于开放标准和敏捷软件开发原则的全球集成云原生架构消除了传统瓶颈,并为汽车行业开发先进软件的公司带来了关键优势。这些包括 :

性能: 基于云的、全球可用的体系结构可以在世界任何地方远程控制测试平台。这增加了可扩展性和灵活性。

速度:自动化可以将构建时间缩短多达 80%。公司可以通过基于容器的架构和代码合并的方法来消除瓶颈。他们可以仅重建和测试更改的部分,从而将部署速度提高 60%。

联合开发:当多个合作伙伴实时测试彼此的代码时,开发人员都可以在合作伙伴提交代码的同一天进行集成、测试和问题修复。其结果是为 OEM 提供快速、高质量、低风险的复杂软件功能,在成本效益、维护和后期迭代上也具有明显优势。

质量: 与远程SIL/ HIL测试平台的完全集成可以提高产品质量,因为开发人员可以在任何地方进行测试,并且并行进行无限的测试。

透明度:整个团队可以全面了解所有软件开发链的最新状态,无论程序大小、复杂性或修改的内容。CI最佳实践可以得到实施和支持,并且可以在提前识别出问题。这也极大地简化了安全策略的执行。

审核编辑 :李倩

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

    关注

    0

    文章

    649

    浏览量

    29198
  • 汽车行业
    +关注

    关注

    0

    文章

    355

    浏览量

    16026
  • 应用程序
    +关注

    关注

    38

    文章

    3339

    浏览量

    59237

原文标题:汽车软件开发的下一个阶段是什么样的?

文章出处:【微信号:智能汽车电子与软件,微信公众号:智能汽车电子与软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【原创】TDMS设置下一个写入位置函数的摸索

    labview在20版本前,tdms都有高级函数,写入文件位置set file positon,但是在20版本后被取消了。取而代之是‘tdms设置下一个写入位置函数’ 本意是想利用tdms设置
    发表于 08-11 20:54

    AI玩具或成为下一个万亿新赛道

    如果你将拥有家庭新成员,你首先会想到什么?是孩子还是宠物?如果我说你下一个家庭成员,或许是会“察言观色”的AI玩具,这件事是不是听上
    的头像 发表于 07-29 10:15 ?568次阅读

    知识分享 | 敏捷方法在基于模型的软件开发项目中的应用

    传统的瀑布式软件开发流程存在诸多局限,这使得应用敏捷原则变得尤为重要,尤其是面对复杂且不断变化的开发环境时。作为最高效的软件开发方法之,基于模型的
    的头像 发表于 07-16 16:52 ?754次阅读
    知识分享 | 敏捷方法在基于模型的<b class='flag-5'>软件开发</b>项目中的应用

    找电机控制软件开发兼职

    软件开发兼职人员,我现在有永磁无刷电机控制,220V,需要有相关经验的人来开发,兼职费用可以议谈,产品是增压泵相关产品,有兴趣给我留言,谢谢
    发表于 05-07 17:43

    CICTCD在汽车软件开发中的革命性作用#持续集成与测试 #CICD持续集成与交付

    软件开发
    北汇信息POLELINK
    发布于 :2025年04月17日 15:36:09

    ad7616 burst模式读取数据时,是否可以在下一个convst启动转换?

    ad7616 burst模式读取数据时,是否可以在下一个convst启动转换,但busy还没有拉低的情况下继续读取上次转换的数据吗?主要是串行读取时,有可能出现convst临界的情况,如果这样可以的话,能够提升小部分con
    发表于 04-15 07:50

    嵌入式软件开发符合ISO 26262 功能安全标准

    ISO 26262 功能安全标准的要求可能非常具有挑战性,尤其是当您的汽车系统中的某些部件相比其他部件具有更高的安全风险时。开发者如何在整个软件开发生命周期中保持对每一个
    发表于 01-15 12:04 ?3次下载

    我国软件开发者数量超过940万

    在近日举办的开放原子开发者大会上,工业和信息化部负责人传来了则令人振奋的消息:我国软件开发者数量已经突破940万大关。这数据不仅彰显了我国在软件
    的头像 发表于 12-23 11:08 ?688次阅读

    Labview上位机软件开发

    现我公司有项目需要Labview上位机软件开发,应用为数据采集,硬件为厂家采集卡。具体软件需求电联或+V: 15228164111。
    发表于 11-18 16:24

    北京软件开发公司有那些?做软件的公司有哪些?

    北京作为中国的科技创新中心之,拥有众多提供软件开发服务的公司。以下是些在北京地区较为知名的软件开发公司: 华盛恒辉科技有限公司:是家专
    的头像 发表于 10-28 15:02 ?1474次阅读

    ECU电控软件开发及测试介绍

    本文重点介绍符合AutoSar架构的应用软件开发、MBD开发模式下的软件质量评估与优化方案、复杂场景下的ECU性能压力测试方案。
    的头像 发表于 09-26 14:25 ?4161次阅读
    ECU电控<b class='flag-5'>软件开发</b>及测试介绍

    使用tSPI协议减少下一个多电机BLDC设计的布线

    电子发烧友网站提供《使用tSPI协议减少下一个多电机BLDC设计的布线.pdf》资料免费下载
    发表于 09-26 10:40 ?0次下载
    使用tSPI协议减少<b class='flag-5'>下一个</b>多电机BLDC设计的布线

    Vector DaVinci Team解决方案实现AUTOSAR Classic ECU软件开发

    随着软件技术的发展,车辆的开发过程从硬件主导转变为软件定义汽车(SDV),软件开发汽车
    的头像 发表于 09-13 11:23 ?3095次阅读
    Vector DaVinci Team解决方案实现AUTOSAR Classic ECU<b class='flag-5'>软件开发</b>

    代码整洁之道-大师眼中的整洁代码是什么样

    模糊,带着这个问题,本人读完了世界软件开发大师马丁的《代码整洁之道》这本书,来了解下大师眼中的整洁代码画像是什么样的,相信能给你带来不一样的理解和感悟。 关于整洁代码,没有明确的定义,有多少程序员就有多少种定
    的头像 发表于 09-09 16:30 ?706次阅读
    代码整洁之道-大师眼中的整洁代码是<b class='flag-5'>什么样</b>

    软件开发分为多少阶段

    软件开发分为多少阶段一阶段:需要分析及确认阶段 系统需要分析阶段,明确项目需求,确保所有利
    的头像 发表于 08-21 14:27 ?1133次阅读