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流程的企业和团队提供有益的参考与启发。北汇信息已为国内汽车客户提供相应的服务内容,欢迎垂询!

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

    关注

    3021

    文章

    7796

    浏览量

    165810
  • 软件
    +关注

    关注

    69

    文章

    4666

    浏览量

    87035
  • AUTOSAR
    +关注

    关注

    10

    文章

    345

    浏览量

    21429
收藏 人收藏

    评论

    相关推荐

    MES系统的最佳实践案例

    效率、降低成本、保证产品质量。 MES系统的最佳实践案例 引言 在当今竞争激烈的制造业环境中,企业必须不断寻求创新和改进的方法来保持竞争力。MES系统作为一种关键的信息技术工具,已经被广泛应用于各种制造行业,以实现生产过程的优化和管理。本文将探讨MES系统的
    的头像 发表于 10-27 09:33 194次阅读

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

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

    云计算平台的最佳实践

    云计算平台的最佳实践涉及多个方面,以确保高效、安全、可扩展和成本优化的云环境。以下是一些关键的最佳实践: 一、云成本优化 详细分析云使用情况 :通过细致的监控和分析,识别低ROI(投资
    的头像 发表于 10-24 09:17 223次阅读

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

    电子发烧友网站提供《在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 180次阅读
    Perforce静态分析工具2024.2新增功能:Helix QAC全新<b class='flag-5'>CI</b>/CD<b class='flag-5'>集成</b>支持、Klocwork分析引擎改进和安全增强

    衰减 AMC3301 系列辐射发射 EMI 的最佳实践

    电子发烧友网站提供《衰减 AMC3301 系列辐射发射 EMI 的最佳实践.pdf》资料免费下载
    发表于 09-11 09:59 0次下载
    衰减 AMC3301 系列辐射发射 EMI 的<b class='flag-5'>最佳</b><b class='flag-5'>实践</b>

    电机驱动器电路板布局的最佳实践

    电子发烧友网站提供《电机驱动器电路板布局的最佳实践.pdf》资料免费下载
    发表于 09-05 11:33 9次下载
    电机驱动器电路板布局的<b class='flag-5'>最佳</b><b class='flag-5'>实践</b>

    Vector AUTOSAR中的TISCI服务器集成

    电子发烧友网站提供《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 339次阅读

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

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

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

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

    AUTOSAR Builder—符合AUTOSAR(CPAP)的嵌入式系统设计工具

    的工具并与其他工具供应商进行集成AUTOSAR Builder在此基础上新增了多个工具套件,更加能够贴合不同用户角色(OEM、Tier1)的使用场景和研发流程,覆盖基于AUTOSAR的软件研发的各个环节。
    的头像 发表于 01-08 18:06 498次阅读
    <b class='flag-5'>AUTOSAR</b> Builder—符合<b class='flag-5'>AUTOSAR</b>(CPAP)的嵌入式系统设计工具

    AUTOSAR架构中复杂驱动设计

    复杂驱动(Complex Driver,CDD)是一种不受 AUTOSAR 标准化约束的软件实体,它可以通过 AUTOSAR 接口和/或基础软件模块 API 进行访问 AUTOSAR 组件或者被
    的头像 发表于 12-21 10:13 3877次阅读
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>架构</b>中复杂驱动设计

    分析Autosar架构的NVM源码

    Autosar(Automotive Open System Architecture)是一种用于汽车电子系统开发的开放式架构标准,旨在提供一种用于构建可靠、安全的分布式系统的框架。其中,NVM
    的头像 发表于 12-08 13:56 1358次阅读

    AUTOSAR架构的多核通信介绍

    随着汽车ECU迅速的往域控制器方向发展,ECU要处理的任务越来越多,单核CPU的负载越来越大,多核ECU势在必行。AUTOSAR架构OS支持多核处理,本系列文章将详细介绍AUTOSAR
    的头像 发表于 11-13 09:24 1902次阅读
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>架构</b><b class='flag-5'>下</b>的多核通信介绍