1 AUTOSAR架构下,持续集成CI的最佳实践-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

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

3天内不再提示

AUTOSAR架构下,持续集成CI的最佳实践

北汇信息POLELINK 2024-10-24 08:06 次阅读

作者 | 明
小编 | 不吃猪头肉

随着汽车电子技术的快速发展,汽车软件的复杂性与日俱增,如何确保软件开发的高效性与稳定性成为了一个关键问题。为了解决这个问题,许多汽车企业和供应商逐渐引入了AUTOSAR架构,并在此基础上构建了持续集成(CI)流程。今天,我们就来探讨一下基于AUTOSAR架构的CI流程实践,并通过对流程的详细讲解,展示其在实际开发中的重要性和优势

d80e8f8e-919b-11ef-b5cd-92fbcf53809c.png

什么是AUTOSAR架构?
首先,AUTOSAR(Automotive Open System Architecture)是一个开放的、标准化的汽车电子软件架构。它旨在通过提供一个标准的接口和抽象层,减少复杂的汽车软件开发流程,并提升软件的可复用性、模块化和可维护性。AUTOSAR架构中的核心模块可以分为应用软件层(ASW)、基础软件层(BSW)和运行时环境(RTE)、微控制器四个层面,它们各自承担不同的功能。

d81f4612-919b-11ef-b5cd-92fbcf53809c.png


d83f26da-919b-11ef-b5cd-92fbcf53809c.png

为什么要在AUTOSAR架构中引入CI?
随着汽车软件规模的日益庞大,软件开发的复杂度也不断增加,传统的开发方式往往难以应对复杂系统的集成挑战。尤其是在高度模块化的AUTOSAR架构下,软件的各个层次和模块相互依赖,任何代码变更都有可能影响整体系统的稳定性。为此,开发团队需要一种高效的机制来快速检测问题,确保每次代码修改后的系统都能正常工作。这时,持续集成(CI)流程的重要性便凸显出来,它能够自动化地进行代码集成、测试和反馈,确保软件的质量与稳定性。接下来,我们将介绍在AUTOSAR框架中CI实现的详细流程。

d8552aca-919b-11ef-b5cd-92fbcf53809c.png

CI流程简介

d8837128-919b-11ef-b5cd-92fbcf53809c.png


持续集成(CI)是一种软件开发实践,它强调开发者频繁将代码集成到共享的代码库中,并通过自动化测试和构建系统,确保每次集成都能够得到及时的反馈。那么在本次介绍中的CI在基于AUTOSAR架构的软件开发中,CI流程不仅仅是一个简单的自动化工具链,而是保证软件稳定性和一致性的关键所在。
虽然硬件在环(HIL)测试在开发流程中也扮演着重要角色,但它属于硬件验证的范畴,并不包含在CI流程之内。因此,本文中的CI流程将专注于软件层面的集成和测试,不涉及HIL测试部分。
在本次介绍的CI流程实践中,AUTOSAR框架的测试主要集中在三个部分:

ASW(应用层)

这一层主要基于MATLAB模型进行开发,因此在测试过程中,重点是对模型的验证。在模块开发的早期阶段,测试的重点是确保模型本身的正确性和稳定性。当模型测试通过后,该模型模块会被集成到整个开发工程中进行编译,以此验证其与最新代码层是否兼容,并确保功能正常。这一过程可以保证每个模块在合入到整体系统前已经过充分验证。

BSW(基础软件层)

这里的BSW层指的是通过框架生成软件自动生成出的代码,通过AUTOSAR架构生成的代码来实现软件功能的更新和维护。每当BSW层的代码更新时,CI流程会自动触发项目的整体编译,从而验证所有基础功能在最新更新下的一致性和稳定性。这一机制确保了基础软件层的变更不会破坏系统的整体功能。

CDD(复杂设备驱动层)

该层主要负责复杂设备的驱动程序开发。CDD层通常涉及手写代码,用来满足客户的特定需求。每当CDD层的代码更新后,CI系统会自动执行代码分析和验证,确保新编写的驱动程序与系统的其他部分协调工作,并符合功能要求。通过这三大模块的分层测试和自动化验证,CI流程确保了AUTOSAR架构下的软件在开发和更新过程中始终保持高效和稳定。
下图展示了一个典型的基于AUTOSAR架构的CI流程,通过Jenkins调度服务器和Gitlab版本管理工具实现模块的自动化集成和测试。

d8a6fbf2-919b-11ef-b5cd-92fbcf53809c.pngd8c973bc-919b-11ef-b5cd-92fbcf53809c.png

基于AUTOSAR架构的CI流程实践
从流程图中可以看出,整个CI流程主要围绕ASW模块变更、BSW模块变更和CDD模块变更展开,并且根据不同模块的变更类型,分别定义了相应的测试和编译步骤。接下来,我们逐一对各个模块的CI流程进行讲解
1. ASW模块变更流程
ASW(应用软件)模块的变更通常是由模型开发人员和模型测试人员手动触发的。当ASW模块发生变更时,CI流程将执行一系列的静态和动态模型测试、代码生成以及编译,确保变更后的代码不会引入新的问题。

静态模型测试:使用静态模型测试工具(MXAM)导入模型并进行测试,确保模型的完整性和正确性。

动态模型测试:通过动态模型测试工具(TPT)执行测试用例,并生成测试报告上传到版本管理系统,最后通过邮件通知到对应的模型更改人员。

代码生成:通过MATLAB进行模型生成代码,将其上传至版本管理系统。

编译:完成模型生成代码后,该模型模块代码会被集成到整个开发工程中进行编译,以此验证其与最新代码层是否兼容,并确保功能正常。

在ASW模块的CI流程中,Jenkins服务器会根据预定的触发条件,如代码提交或配置文件的变化,自动执行上述步骤,并将结果通知给相关开发人员。
2. BSW模块变更流程
BSW(基础软件)模块的触发后的执行流程相对简单,通常包括整体工程的编译以及编译后的结果自动上传,其主要目的是确保基础软件的功能和性能在各个开发阶段的一致性。

代码上传:从拉取最新的代码,开发人员根据变更需求对代码进行调整并重新上传。

BSW模块编译:从版本管理系统中拉取开发上传好的代码,然后进行编译,最后将编译结果传递到版本管理系统中,并通知到对应的开发人员。

3. CDD模块变更流程
CDD(手写代码)模块的变更与测试也在整个CI流程中占据重要位置。其主要作用是通过静态代码测试和动态代码测试来验证组件的正确性以及组件的合规情况。

静态代码测试:通过Helix QAC工具对导入的代码进行静态分析,检查代码的命名规则和编码规范是否符合标准要求。

动态代码测试:使用VectorCAST工具对组件进行动态测试,并生成测试报告上传到版本管理系统供开发人员查看。

编译:完成模型生成代码后,该模型模块代码会被集成到整个开发工程中进行编译,以此验证其与最新代码层是否兼容,并确保功能正常。

在CDD模块的CI流程中,Jenkins服务器会根据预定的触发条件,如代码提交或配置文件的变化,自动执行上述步骤,并将结果通知给相关开发人员。

d8dba532-919b-11ef-b5cd-92fbcf53809c.png

基于AUTOSAR的CI流程优势
通过上述流程的详细解读,我们可以看出基于AUTOSAR架构的CI流程具有以下几个显著的优势:

自动化测试与集成:通过Jenkins服务器自动执行代码的集成、测试和发布流程,减少了开发人员和测试人员的手动操作,提高了开发效率。

代码质量保证:静态代码分析和动态测试用例的自动化执行,确保了代码的规范性和正确性,极大地降低了潜在的代码缺陷风险。

及时反馈机制:CI流程中的每个步骤都伴随着详细的报告生成与邮件通知,使得开发人员能够及时获取变更结果,快速进行问题定位和修复。

固定的文件结构:由于AUTOSAR架构中的文件结构是固定和标准化的,CI链路能够很好地利用这一特点,实现高效的集成和自动化测试。这种标准化结构使得代码的组织和管理更加一致,有助于CI流程的自动化处理,进一步提升了集成效率并减少了出错的可能性。

d8ece838-919b-11ef-b5cd-92fbcf53809c.png

实践中的挑战与建议
虽然基于AUTOSAR架构的CI流程在实际应用中展示了极大的优越性,但在实施过程中也可能会遇到一些挑战:

工具链集成复杂:由于AUTOSAR涉及多个不同的工具,如MXAM、HeliX QAC、TPT、VectorCAST等,工具链的集成和维护需要耗费较多精力。建议企业在实施过程中设立专门的CI工具链维护团队或让供应商进行链路搭建,后续可以通过内部人员进行维护,确保工具链的高效运转。

团队协作要求高:CI流程的顺利实施需要开发、测试、运维等多方团队的紧密协作,因此在实践中应加强团队之间的沟通与协同,定期进行流程优化与改进。

d9014288-919b-11ef-b5cd-92fbcf53809c.png

结语
基于AUTOSAR架构的CI流程是汽车软件开发中不可或缺的一环。它通过自动化的集成与测试,保证了软件的高质量和稳定性。在未来,随着汽车智能化和自动驾驶技术的发展,CI流程的重要性将愈发凸显。因此,持续优化和完善CI流程,是每个从事汽车软件开发的企业都需要高度重视的问题。
通过这次流程的实践介绍,相信大家对基于AUTOSAR的CI流程有了更加清晰的认识。希望本文能够为正在或即将实施CI流程的企业和团队提供有益的参考与启发。北汇信息已为国内汽车客户提供相应的服务内容,欢迎垂询!

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

    关注

    3026

    文章

    7941

    浏览量

    166891
  • 软件
    +关注

    关注

    69

    文章

    4921

    浏览量

    87384
  • AUTOSAR
    +关注

    关注

    10

    文章

    360

    浏览量

    21548
收藏 人收藏

    评论

    相关推荐

    CI/CD方案:推动智能汽车开发的高效利器

    持续集成持续交付/部署)方案为汽车行业带来了巨大的变革契机。本文将聚焦CI/CD方案在智能汽车领域的核心价值,并探讨如何通过标准化的CI/CD流程帮助企业从容应对
    的头像 发表于 12-18 10:03 278次阅读
    <b class='flag-5'>CI</b>/CD方案:推动智能汽车开发的高效利器

    AUTOSAR通信与网络安全 AUTOSAR通信在车辆中的应用

    架构合作伙伴计划,旨在创建并建立一个开放的标准化软件架构,以简化汽车电子控制单元(ECU)的开发和生产。 1. AUTOSAR通信概述 AUTOSAR定义了一个分层的软件
    的头像 发表于 12-17 15:06 188次阅读

    AUTOSAR中通信堆栈的配置 AUTOSAR通信模块测试方法

    AUTOSAR(AUTomotive Open System ARchitecture)是一个全球性的汽车软件架构合作伙伴计划,旨在创建并建立一个开放的标准化软件架构,以简化汽车电子控制单元(ECU
    的头像 发表于 12-17 15:01 181次阅读

    AUTOSAR通信框架的优势 AUTOSAR通信实例与应用场景

    AUTOSAR通信框架的优势 AUTOSAR(AUTomotive Open System ARchitecture)是一个全球性的汽车软件架构合作伙伴计划,旨在创建并建立一个开放的标准化软件
    的头像 发表于 12-17 14:58 186次阅读

    AUTOSAR通信组件介绍 AUTOSAR通信层功能分析

    AUTOSAR通信组件介绍 AUTOSAR(AUTomotive Open System ARchitecture)是一个全球性的汽车软件架构合作伙伴计划,旨在创建和建立一个开放的标准化软件
    的头像 发表于 12-17 14:55 127次阅读

    AUTOSAR通信协议解析 如何实现AUTOSAR通信

    AUTOSAR(Automotive Open System Architecture)即汽车开放系统架构,该架构支持汽车电子控制单元(ECU)之间的通信,实现了高度模块化和可重用性。AUTO
    的头像 发表于 12-17 14:54 305次阅读

    立讯精密入选2024可持续发展最佳实践案例

    近日,由中国上市公司协会(以下简称中上协)主办的2024上市公司可持续发展大会在京召开。会上,中上协发布了2024上市公司可持续发展最佳及优秀实践案例。立讯精密凭借“立志高远 讯航可
    的头像 发表于 11-28 13:50 220次阅读

    艾体宝产品 CircleCI:高效的CI/CD平台,助力开发团队加速交付!

    集成,提升团队协作与代码质量。本文详细介绍了CircleCI的主要功能和实际应用场景,帮助团队更高效地实现持续集成与交付。
    的头像 发表于 11-20 10:22 185次阅读
    艾体宝产品 CircleCI:高效的<b class='flag-5'>CI</b>/CD平台,助力开发团队加速交付!

    边缘计算架构设计最佳实践

    边缘计算架构设计最佳实践涉及多个方面,以下是一些关键要素和最佳实践建议: 一、核心组件与架构设计
    的头像 发表于 10-24 14:17 410次阅读

    在TI SoC上集成AUTOSAR:基础知识

    德赢Vwin官网 网站提供《在TI SoC上集成AUTOSAR:基础知识.pdf》资料免费下载
    发表于 10-11 11:50 0次下载
    在TI SoC上<b class='flag-5'>集成</b><b class='flag-5'>AUTOSAR</b>:基础知识

    Perforce静态分析工具2024.2新增功能:Helix QAC全新CI/CD集成支持、Klocwork分析引擎改进和安全增强

    实现持续合规性现代软件开发实践要求开发团队具备适应性,在确保代码质量和可靠性的同时,优先考虑灵活性和协作性。在软件开发流程中实施持续集成CI)和
    的头像 发表于 10-08 16:22 271次阅读
    Perforce静态分析工具2024.2新增功能:Helix QAC全新<b class='flag-5'>CI</b>/CD<b class='flag-5'>集成</b>支持、Klocwork分析引擎改进和安全增强

    Vector AUTOSAR中的TISCI服务器集成

    德赢Vwin官网 网站提供《Vector AUTOSAR中的TISCI服务器集成.pdf》资料免费下载
    发表于 08-30 11:16 0次下载
    Vector <b class='flag-5'>AUTOSAR</b>中的TISCI服务器<b class='flag-5'>集成</b>

    RTOS开发最佳实践

    基于RTOS编写应用程序时,有一些要注意事项。在本节中,您将学习RTOS开发最佳实践,例如POSIX合规性、安全性和功能安全认证。
    的头像 发表于 08-20 11:24 446次阅读

    自动化构建环境在FPGA设计中的应用

    为了加快实现 FPGA 构建环境的自动化(如用于持续集成 (CI)),并确保在开发与生命周期后期阶段完整重现设计结果,Missing Link Electronics 团队已整合出一套脚本。
    发表于 02-20 11:05 427次阅读
    自动化构建环境在FPGA设计中的应用

    INTEWORK—PET 汽车软件持续集成平台

    INTEWORK-PET-CI是经纬恒润自主研发的汽车软件持续集成&持续交付平台,在传统的持续集成基础上深化了研运一体化(DevOps)的概念,将嵌入式软件中的拉取代码、检查、构建、测
    的头像 发表于 01-19 11:04 581次阅读
    INTEWORK—PET 汽车软件<b class='flag-5'>持续集成</b>平台