谈谈CPAUTOSAR软件开发的3种工作流

原创 汽车电子与软件 2024-09-24 08:41

作者 | 不可说

出品 | 汽车电子与软件




#01

前  言

   

随着汽车技术的飞速进步,尤其是电气化、自动化及互联化的深度融合,汽车行业正经历着一场前所未有的变革。在这场变革中,汽车不再仅仅是机械与金属的简单堆砌,而是转变为集成了高度复杂电子系统、先进算法与智能互联技术的移动空间。这一转变的核心驱动力之一,便是软件在汽车设计与功能实现中日益凸显的主导地位,标志着汽车正式步入了“软件定义汽车”(Software-Defined Vehicle, SDV)的新时代。

在这样的背景下,AUTOSAR(AUTomotive Open System ARchitecture)作为汽车行业广泛采用的软件架构标准,其经典平台(Classic Platform, CP)软件应运而生并持续演进,以更好地适应和推动这一变革。AUTOSAR CP软件通过提供一套标准化、模块化的软件组件和中间件,旨在解决当前汽车开发中面临的诸多挑战,包括但不限于:

  1. 复杂性管理:面对汽车中日益增长的ECU(电子控制单元)数量和错综复杂的软件交互,AUTOSAR CP通过清晰的层次结构和标准化的接口定义,有效降低了系统的整体复杂度,提高了开发效率和可维护性。


  2. 软件重用与模块化:鼓励并促进软件组件的跨车型、跨品牌重用,加速产品上市时间,同时降低开发成本。AUTOSAR CP的模块化设计使得汽车制造商(OEM)和一级供应商(Tier 1)能够灵活组合和定制功能,快速响应市场变化。


  3. 安全性与可靠性:随着自动驾驶等高级功能的引入,汽车软件的安全性变得尤为重要。AUTOSAR CP通过提供安全相关的软件架构、开发流程和验证工具,帮助确保汽车软件的高可靠性和安全性,符合ISO 26262等国际标准。


  4. 互联与数据管理:支持车辆与云端、基础设施及其他车辆的互联互通,AUTOSAR CP通过集成通信协议栈和数据管理功能,为车辆提供强大的信息交换能力,促进新服务和新商业模式的创新。  
 
为了充分利用AUTOSAR CP的优势,各家OEM和Tier 1纷纷建立了基于AUTOSAR的软件开发流程与方法论。这些流程通常包括需求分析、系统设计、软件编码、集成测试、验证与认证等多个阶段,并强调跨职能团队的合作,以确保软件质量、满足法规要求并快速响应市场变化。同时,许多企业还积极参与AUTOSAR的开放合作,共同推动AUTOSAR标准的持续演进,以适应汽车行业不断变化的需求。

         

 

所以本文将探讨下基于模型化(Model-Based Design, MBD)开发AUTOSAR软件架构与软件的工作流区别、特点等。



#02

CP AUTOSAR工作流说明 

   

CP AUTOSAR开发的工作流一般分为自上而下、自下而上与混合模式三种工作流,这三种工作流算是三种种不同的开发方法,它们在项目开发和集成过程中有着显著的区别。下面将详细阐述这两种工作流的具体步骤和特点。  
 

A、自上而下(Top-Down)工作流  



自上而下的工作流示意

1. 定义和架构设计

  • 应用架构设计:首先,在AUTOSAR编辑工具(如Davinci Developer、AutoSAR Builder、ISOLAR-A等(MATLAB新版工具箱也支持))中设计应用架构。这包括定义软件组件(SWC)、可运行实体(Runnable)、接口(Interface)、端口(Port)等元素。
         

 

  • 导出SWC描述文件:设计完成后,将架构SWC信息导出为ARXML文件。ARXML文件是AUTOSAR标准的数据交换格式,包含了类型、接口、端口、可运行实体、事件等详细信息。
         

 

2. 算法实现与模型搭建

  • 建模工具实现算法:使用MBD建模工具(如Simulink)根据ARXML文件中的描述搭建模型,实现算法等应用功能。

  • 生成代码:在建模工具中完成算法实现后,生成符合AUTOSAR标准的代码。
         

 

   
3. 集成与调试

  • 准备基础软件层(BSW):首先,确保基础软件层(如操作系统、服务层、ECU抽象层等)已经根据AUTOSAR标准正确实现并经过验证。这包括检查BSW的版本兼容性、配置正确性以及必要的驱动和中间件的支持。

  • 代码生成与适配:将应用层或中间件层通过模型或手动编码生成的代码,根据BSW的接口规范进行适配。这包括修改数据类型的映射、调整接口函数的调用方式以及配置必要的资源(如内存、中断等)。

  • 集成构建:使用AUTOSAR构建系统(如AR Builder)将应用层代码、中间件代码和基础软件层代码集成在一起,生成完整的软件镜像。此过程涉及链接库的选择、依赖关系的解析以及优化选项的配置。

  • 运行时环境(RTE)生成:在集成构建过程中,RTE生成器会根据软件组件之间的交互关系自动生成运行时环境代码。RTE负责处理组件之间的通信、数据同步以及资源调度等任务,确保软件能够按照设计预期运行。

  • 静态分析:在代码集成后,首先进行静态代码分析,以检查潜在的编程错误、逻辑错误以及安全漏洞。静态分析工具可以帮助开发人员快速定位问题,提高代码质量。

  • 单元测试:对软件中的每个模块或组件进行单元测试,验证其功能是否符合设计要求。单元测试可以独立运行,无需依赖其他模块,有助于快速发现和修复问题。

  • 集成测试:在完成单元测试后,进行集成测试以验证各个模块之间的交互是否正确。集成测试关注于软件的整体功能,确保各模块在集成后能够协同工作。

  • 系统测试:将集成后的软件部署到目标ECU上,进行实际环境下的系统测试。系统测试涵盖功能测试、性能测试、可靠性测试等多个方面,以验证软件在实际应用中的表现。 
   
  • 调试与优化:在测试过程中发现的问题需要进行详细的调试。开发人员使用调试工具(如MATLAB的Simulink Debugger、GDB等)来跟踪程序执行流程、查看变量值以及设置断点等。根据调试结果对代码进行优化,以提高软件的性能和稳定性。

  • 文档记录:在整个集成与调试过程中,详细记录测试步骤、测试结果以及问题解决方案。这些文档对于后续的维护工作具有重要意义,也有助于团队成员之间的知识共享和协作。

4. 下载与测试

  • 下载代码:将调试完成的代码下载到目标ECU中。

  • 测试:在目标ECU上进行全面的测试,包括功能测试、性能测试、可靠性测试等。
         

 

B、自下而上(Bottom-Up)工作流  



自下而上的工作流示意

1. 算法实现与模型搭建

  • 建模工具实现算法:首先,在建模工具(如Simulink)中搭建模型,实现算法等应用功能,或者直接应用其他已经有的、可以在该项目上复用的模型。

  • 导出ARXML文件:将模型中的元素(如类型、接口、端口等)导出为ARXML文件,这一过程也是将SIMULINK元素转换为AUTOSAR元素。   
         

 

2. 定义和架构设计

  • 根据ARXML文件设计应用架构:在AUTOSAR编辑工具中,根据ARXML文件中的描述设计应用架构。这包括创建软件组件、定义可运行实体、接口和端口等元素。
         

 

3. 后续步骤与自上而下相同

  • 与BSW层集成:将生成的代码与基础软件层(BSW)集成,生成运行时环境(RTE)。

  • 调试:对集成后的代码进行调试。

  • 下载与测试:将调试完成的代码下载到目标ECU中,并进行全面的测试。
         

 

C、混合工作流(Round-trip)  



混合工作流示意

混合工作流是一种高效且灵活的软件开发策略,它巧妙地将自上而下的系统级规划与自下而上的详细设计与实现相结合。这种方法首先强调对系统架构的整体规划,确保系统的高层次目标和需求得到明确和满足。同时,它也注重在具体实现层面的灵活性和创新性,允许开发团队根据实际需求和技术可行性,灵活地进行模块或算法的设计、实现与集成。通过这种方式,混合工作流不仅保证了系统的整体一致性和稳定性,还促进了技术创新和快速响应市场变化的能力。   
         

 

1. 系统架构规划与设计

  • 使用AUTOSAR编辑工具进行系统的顶层架构设计,包括定义软件组件、通信接口、资源分配等。

  • 确立系统的主要功能需求、性能指标及非功能需求(如安全性、可靠性、实时性等),为后续开发提供明确指导。
         

 

2. 并行开发与实现

  • 在系统架构规划的同时,利用建模工具(如Simulink、Stateflow)进行算法和应用功能的详细设计与实现。这些工具支持快速原型设计和仿真验证,加速开发进程。

  • 开发人员根据系统架构的划分,并行开发各个模块或子系统,提高开发效率。

  • ARXML文件交换与迭代。

  • 架构设计和各个模块开发之间通过ARXML(AUTOSAR XML)文件进行信息的导出和导入。ARXML文件作为中间媒介,确保了不同开发工具之间的数据一致性和互操作性。

  • 通过不断的导出/导入和修改,形成一个闭环的迭代过程,使系统架构和具体实现之间能够相互完善、相互验证。

3. 与基础软件层(BSW)集成

  • BSW集成,生成RTE。
         

 

   
4. 算法代码集成与调试

  • 将建模工具中验证通过的算法代码转换为C/C++代码,并集成到应用层中。

  • 将集成并调试完成的软件镜像下载到目标ECU中,进行实车或模拟环境下的测试。

  • 根据测试结果进行必要的调整和优化,直至软件满足所有设计要求和性能指标。
       


#03

总  结

   

自上而下和自下而上的工作流在AUTOSAR开发中各有优缺点。
         

 

自上而下方法强调系统架构的清晰性和模块间的接口定义,适用于对系统整体功能有清晰规划的项目;从架构设计开始,有利于整体规划和标准化,但可能在后续实现中遇到与预期不符的问题。
         

 

自下而上方法强调模块或算法的具体实现和快速原型开发,适用于对系统整体架构尚不明确的初期探索阶段;从具体实现开始,更加灵活,但可能需要在后期进行大量的架构调整和优化。
         

 

混合工作流则强调系统架构与具体实现的有机结合,适用于需要平衡系统架构规划与快速原型开发的项目。
         

 

在实际项目中,可以根据项目需求、开发周期和团队经验等因素选择合适的工作流。同时,也可以采用混合式方法,将自上而下和自下而上的优点结合起来,以提高开发效率和软件质量。
   

 
/ END /


汽车电子与软件 主要介绍汽车电子软件设计相关内容,每天分享一篇技术文章!
评论
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 68浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 75浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 80浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 87浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 119浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 173浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 127浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 45浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 145浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 104浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦