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

    文章

    614

    浏览量

    27356
  • 汽车行业
    +关注

    关注

    0

    文章

    306

    浏览量

    15364
  • 应用程序
    +关注

    关注

    37

    文章

    3268

    浏览量

    57699

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

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

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

    软件开发分为多少阶段

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

    Jama Connect for Automotive,汽车行业需求管理解决方案,加速汽车软件开发

    软件开发
    龙智DevSecOps
    发布于 :2024年08月05日 13:55:24

    2024 ACT汽车软件与安全技术周 龙智即将携全方位汽车软件开发解决方案亮相,助力应对汽车软件开发功能安全

    ,分享推动汽车软件开发与功能安全的创新实践。 ATC作为汽车技术会议领域的领先平台,专注于汽车电子与软件版块的技术交流将近10年历程,深耕行
    的头像 发表于 07-08 16:17 556次阅读
    2024 ACT<b class='flag-5'>汽车</b><b class='flag-5'>软件</b>与安全技术周 龙智即将携全方位<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>解决方案亮相,助力应对<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>功能安全

    【《软件开发珠玑》阅读体验】+ 心得

    ,为软件开发者提供了宝贵的经验和智慧。在这篇读后感中,我将分享书中的精华以及它对我的启发。 首先,《软件开发珠玑》强调了软件开发和管理的59条经验教训分为6领域。 需求、设计、项目管
    发表于 06-23 17:56

    日本车企联手开发下一汽车软件

    丰田、日产、本田等日本汽车制造商宣布将共同开发下一汽车软件,结合各自在AI和半导体领域的优势。随着汽车行业数字化转型的推进,日本经济产业省
    的头像 发表于 05-17 11:14 560次阅读

    华为正接洽收购高合汽车 目标“打造下一个赛力斯”?

    据中工汽车网获悉,2月27日,在片唱衰高合汽车的舆论浪潮下,网络上又出现了华为正接洽收购高合汽车,并且目标“打造下一个赛力斯”的消息。
    的头像 发表于 02-28 14:14 916次阅读
    华为正接洽收购高合<b class='flag-5'>汽车</b> 目标“打造<b class='flag-5'>下一个</b>赛力斯”?

    2024年全球汽车软件开发状况调查-首次中国汽车软件开发专业人士问卷征集

    今年,Perforce联合北汇信息起,首次诚挚邀请中国汽车软件开发专业人士参加该报告2024年的调查。这项调查涵盖了发现汽车软件工作人员面
    的头像 发表于 01-29 15:47 478次阅读
    2024年全球<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>状况调查-首次中国<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>专业人士问卷征集

    keil arm软件开发指南

    电子发烧友网站提供《keil arm软件开发指南.pdf》资料免费下载
    发表于 01-26 15:51 7次下载

    汽车软件开发CAEdge框架关键技术

    软件定义汽车中,汽车功能主要通过软件实现,不再仅仅依赖硬件。这种将软件与硬件解耦的方式使得新功能和软件
    发表于 01-24 14:16 572次阅读
    <b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>CAEdge框架关键技术

    嵌入式软件开发软件开发的区别

    嵌入式软件开发软件开发是两不同的概念,它们在些关键方面有着明显的区别。嵌入式软件开发是指开发
    的头像 发表于 01-22 15:27 2281次阅读

    Monitor 显示器 软件开发设计入门?

    如何入门Monitor 显示器 软件开发设计? 我是23届毕业的 ,我不知道怎么入门Monitor 显示器 软件开发设计,我们公司,的培养机制不是很成熟,属于初创的阶段,他们就把我丢在
    发表于 01-15 16:53