• 528查看
  • 0回复

[Autosar] ETAS AUTOSAR工具链的使用及集成 |附资料下载

[复制链接]

  • TA的每日心情
    无聊
    1-7-2015 18:46
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 28-8-2023 09:49:32 | 显示全部楼层 |阅读模式

    汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师



    ETAS AUTOSAR工具链的使用及集成 |附资料下载w1.jpg


    1 引言

      在AUTOSAR方式设计车载ECU软件的初期,很多项目团队都采用“基础软件外协开发”的模式。即委托第三方软件公司搭建一个AUTOSAR工程并给出各主要模块的设计示例,再在此基础上去做自己的项目。这样的开发模式有助于快速适应全新的设计方法,缩短项目周期,但也会带来“过于依赖项目组外部资源,一旦出现错误难于解决”等问题。

      本文针对上述痛点,讲述了在ETAS工具链环境下进行工程创建和常用模块集成的全过程,目的是让读者对AUTOSAR工程的产生过程有一个大致的了解,从整体上理清AUTOSAR方式设计车载嵌入式软件的思路。

      由于要“从无到有”地创建一个实用的AUTOSAR工程,该系列之前编写的三篇文章将作为参考文献在文中引用,感兴趣的读者可在“你好旧时光追忆”公众号中查找阅读。

      (1)《从手写代码到AUTOSAR工具链 - RTE入门篇》,以下简称《RTE入门篇》。

      (2)《从手写代码到AUTOSAR工具链 - EcuM应用篇》,以下简称《EcuM应用篇》。

      (3)《从手写代码到AUTOSAR工具链 - BswM应用篇》,以下简称《BswM应用篇》。

    2 工具链

      本文所述设计集成过程除MCAL部分采用Infineon和EB联合开发的“EB Tresos”工具外,其余模块均采用ETAS工具链开发,如表2-1所列。

    表2-1: AUTOSAR工具链汇总

    序号

    集成开发环境

    子工具

    功用

    1

    EB Tresos

    EB Tresos

    MCAL模块设计

    2

    ISOLAR-AB

    ISOLAR-A

    系统级架构设计

    RTA-RTE

    接口设计

    RTA-BSW

    BSW模块设计

    3

    RTA-OS

    RTA-OS

    操作系统设计


    3 工程创建和模块集成

      对于ETAS工具链使用者而言,AUTOSAR工程主要是在ISOLAR-AB中创建、设计和集成的。

      下面以VCU项目为例讲解AUTOSAR工程创建过程,其它车载ECU软件可在此基础上做相应改动。

    3.1 工程创建

              AUTOSAR工程创建在ISOLAR-A中进行。

    3.1.1 文件夹创建

      按照表3-1创建工程文件夹。

    表3-1: 工程文件夹创建

    序号

    一级文件夹

    二级文件夹

    三级文件夹

    1

    hightec_vcu

    -

    -

    2

    isolar_ab_vcu

    -

    -

    3

    mcal_vcu

    -

    -

    4

    vcu

    src

    ASW、BSW、CDD、INFRA、IOHWAB、RTE、Target

    3.1.2 AUTOSAR工程创建

      双击“ISOLAR-AB V 4.0”图标,弹出图3-1所示的界面,按照图示步骤操作进入ISOLAR-AB工具的主界面。



    ETAS AUTOSAR工具链的使用及集成 |附资料下载w2.jpg

    图3-1: ISOLAR-AB工作空间选择

      在主界面中点击“File->New->AUTOSAR Project”新建工程,弹出图3-2所示的界面,按照图中步骤完成工程创建。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w3.jpg

    图3-2: AUTOSAR工程创建界面

    3.2 架构设计

              AUTOSAR开发方式中的架构设计即软件组件(SWC)的设计,包括创建软件组件、端口接口设计、内部行为设计等步骤,还需将SWC分别加入部件和ECU。具体操作方法详见《RTE入门篇》。

    3.3 配置系统

      系统创建和配置按照下列步骤进行。

    3.3.1 部件创建

      按照图3-3和图3-4所示创建部件。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w4.jpg

    图3-3: 部件创建启动

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w5.jpg

    图3-4: 部件创建配置

    3.3.2 系统创建

      按照图3-5和图3-6所示创建系统。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w6.jpg

    图3-5: 系统创建启动

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w7.jpg

    图3-6: 系统创建配置

    3.3.3 系统配置

      系统配置包括建立对部件的引用、抽取配置和映射创建3部分。

    (1)建立系统对部件的引用

      为上节创建的“System”生成1个子项“Root Software Compositions | Root Sw Composition Prototype”,并将其“SoftwareComposition”的引用配置为“TopLevelComposition”。

    (2)系统抽取配置

      配置上节创建“System”的类别。

    (3)映射创建

      为上节创建的“System”生成1个子项“Mappings | Mapping”,命名为“SwcToEcuMapping”,并配置“Ecu实例”。

    3.4 通信配置

      通信配置主要包括DBC导入、报文发送周期配置、抽取和生成RTA-BSW等操作,完成这些步骤后,与CAN通信有关的BSW模块将自动生成。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w8.jpg

    图3-7: 生成RTA-BSW

    表3-2: RTA-BSW后自动生成的BSW模块

    序号

    一级文件夹

    二级文件夹

    BSW模块

    1

    Com Stack

    Can Modules

    Can

    2



    CanIf

    3



    CanSM

    4


    -

    Com

    5


    -

    PduR

    6

    Mode Mgm

    -

    ComM

    7

    Other Modules

    -

    ComStack

    8


    -

    Ecuc

    9


    -

    rba_ArxmlGen

    3.5 模式管理配置

      依次进行EcuM和BswM模块的配置,具体参见《EcuM应用篇》和《BswM应用篇》。

    3.6 操作系统配置

      操作系统配置分为2部分,ISOLAR-AB中的OS模块配置和RTA-OS中的配置。

    3.6.1 OS模块配置

      创建Os模块并完成基础配置。

    (1)Os创建

      创建Os模块,再依图3-8删除多余项。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w9.jpg

    图3-8: Os多余项删除

    (2)应用模式配置

      按照图3-9的步骤进行。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w10.jpg

    图3-9: Os应用模式配置

    (3)计数器配置

      为Os应用配置计数器信息,图3-10为其配置方法。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w11.jpg

    图3-10: Os计数器配置

    (4)任务配置

      根据项目需要配置OS任务,图3-11为配置方法,表3-3为任务配置示例。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w12.jpg

    图3-11: Os任务配置

    表3-3: Os任务参数配置示例

    序号

    配置项

    配置值

    说明

    1

    ShortName

    XXX

    任务名

    2

    OsTaskActivation

    1

    定义该任务最大数量的队列激活请求,1表示在任何时刻任务仅允许单次激活

    3

    OsTaskPriority

    39

    任务优先级,数值越大优先级越高(对于TC275单片机)

    4

    OsTaskSchedule

    FULL

    定义任务的优先处理性

    5

    OsTaskStackAllocation

    -

    任务手动堆栈分配,以字节为单位

    6

    OsTaskWaitStack

    -

    激活等待事件时的任务堆栈使用

    7

    OsTaskBudget

    -

    执行预算,以“浮点数+时基名+单位”表达

    8

    OsTaskCanCallSchedule

    -

    任务调用或可能调用“Schedule()”时配置为TRUE

    9

    OsTraceFilter

    -

    描述任务是否被RTA-TRACE跟踪

    10

    OsTaskAccessingApplication

    -

    访问该对象的应用的引用

    11

    OsTaskEventRef

    -

    此引用定义了扩展任务可能会响应的事件列表

    12

    OsTaskResourceRef

    -

    此引用定义了该任务访问的资源列表

    13

    OsRegSetRef

    -

    该任务用到的寄存器集的引用

    3.6.2 RTA-OS配置

      在生成RTE成功后进行。

    (1)工程创建

      点击“File->New Project”新建工程,按照图3-12所示配置工程属性。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w13.jpg

    图3-12: OS工程属性配置

    (2)文件加载

      按照图3-13所示将“...\src\RTE\gen”路径下的osNeeds.arxml文件加载进来。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w14.jpg
    图3-13: OS工程文件加载

    (3)工程保存

      将工程创建时自动生成的ARXML文件命名为“RTAOS.arxml”,并将其保存至“...\src\Target\TC275\RTAOS\config”路径下。

    (4)通用参数配置

              OS通用参数配置按照图3-14进行。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w15.jpg

    图3-14: OS通用配置

    (5)应用模式配置

      按照图3-15将OS应用模式配置为OSDEFAULTAPPMODE。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w16.jpg

    图3-15: OS应用模式配置

    (6)中断配置

      按照图3-16配置项目中需要的二类中断。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w17.jpg

    图3-16: OS中断配置

    3.6.3 RTA-OS生成

      按照下列步骤生成OS代码。

    (1)文件夹创建

      在“...\src\Target\TC275”路径下创建表3-4所示的文件夹。

    表3-4: RTAOS文件夹创建

    序号

    一级文件夹

    二级文件夹

    三级文件夹

    四级文件夹

    五级文件夹

    1

    RTAOS

    config




    2


    generated

    inc



    3



    lib



    4



    report



    5


    integration

    inc



    6



    src



    7

    MCAL

    modules

    general

    inc


    8




    tricore

    compiler

    9





    inc


    (2)生成配置

      按照图3-17、图3-18和图3-19的方法依次进行RTA-OS生成配置。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w18.jpg

    图3-17: RTA-OS生成选项配置

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w19.jpg

    图3-18: RTA-OS生成输出位置配置

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w20.jpg

    图3-19: RTA-OS生成包含路径配置

    (3)生成操作

      按照图3-20所示生成OS的代码。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w21.jpg

    图3-20: OS代码生成

    3.7 RTE配置

      创建Rte模块并完成基础配置。

    3.7.1 Rte创建

      创建Rte模块,再依图3-21删除多余项。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w22.jpg

    图3-21: Rte多余项删除

    3.7.2 Rte配置

      依次进行Rte模块的配置。

    (1)Rte生成配置

      配置Rte生成参数,图3-22为其配置方法。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w23.jpg

    图3-22: Rte生成配置

    (2)Bsw模块实例配置

      在生成RTE成功后进行。

             Bsw模块实例大部分由工具自动配置,前提是其存在Runnable。为后续编译不出错,在EcucValueCollection中无运行函数的模块需要手动配置。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w24.jpg

    图3-23: Bsw模块实例配置

    3.8 定点数位域配置

      创建Bfx模块并完成配置。

    3.8.1 Bfx创建

      在ISOLAR-B中创建Bfx模块。

    3.8.2 Bfx配置

      依次进行Bfx模块的通用配置和内存定位配置。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w25.jpg

    图3-24: Bfx通用配置

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w26.jpg

    图3-25: Bfx内存定位配置

    3.9 Ecuc数值集配置

      创建Ecuc Value Collection并完成配置。

    3.9.1 EcucValueCollection创建

      在ISOLAR-B中创建Ecuc Value Collection。

    3.9.2 EcucValueCollection配置

      依次进行EcucValueCollection的配置。

    (1)模块关联

      按照图3-26和图3-27所示进行模块关联。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w27.jpg

    图3-26: EcucValueCollection配置启动



    ETAS AUTOSAR工具链的使用及集成 |附资料下载w28.jpg

    图3-27: EcucValueCollection配置启动

    (2)任务分配

      依照图3-28将各模块的函数拖到对应的OS任务中。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w29.jpg

    图3-28: EcucValueCollection任务分配

    3.10 AUTOSAR平台类型配置

      创建AUTOSAR_PlatformTypes并完成配置。

    3.10.1 AR Package创建

      按照图3-29创建名为AUTOSAR_PlatformTypes的AR Package,再按照与之类似的方式为AUTOSAR_PlatformTypes创建1个子AR Package,名称为ImplementationDataTypes。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w30.jpg

    图3-29: AUTOSAR_PlatformTypes AR Package创建

    3.10.2 数据类型添加

      以uint8为例,按照图3-30、图3-31、图3-32的步骤添加数据类型。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w31.jpg
    图3-30: 数据类型添加启动

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w32.jpg
    图3-31: 数据类型添加配置

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w33.jpg
    图3-32: 数据类型参数配置

      按照上述步骤依次添加下列数据类型:boolean、float32、float64、sint16、sint32、sint64、sint8、uint16、uint32、uint64。

    3.11 故障追踪器配置

      创建Det模块并完成配置。

    3.11.1 Det创建

      在ISOLAR-B中创建Det模块。

    3.11.2 Det配置

      依照图3-33进行Det模块的通用配置。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w34.jpg
    图3-33: Det通用配置

    3.12 RTE生成

      在执行RTE生成前,须进行抽取、生成RTA-BSW、生成BSW等操作。

              RTE生成按照图3-34和图3-35的步骤进行。

      “Additional Commands”处输入(该过程不再生成SWC的内存映射文件):--strict-unconnected-rport-check=off -err=xml -nts --os-define-osenv=RTAOS40 --exclusive-area-optimization=disable --os-output-param=all。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w35.jpg
    图3-34: RTE代码生成启动

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w36.jpg
    图3-35: RTE代码生成配置

    3.13 MCAL集成

      下面介绍MCAL的集成步骤。

    3.13.1 静态代码集成

              MCAL静态代码的工程路径为“...\src\Target\TC275\MCAL\modules”,头文件和源文件分别存放在“inc”和“src”文件夹下。

                MCAL静态代码从EB Tresos的安装路径下拷贝。

    3.13.2 配置文件集成

      配置文件包括MCAL工程文件和单片机各外设模块参数组成的“.xdm”文件,其路径为“...\src\Target\TC275\MCAL\config”。

      配置文件在添加MCAL模块时由工具自动生成。

    3.14 ECAL集成

      这里的ECAL主要包括实现模拟量输入和数字量输入输出信号的抽象,工程路径为“...\src\IOHWAB”。

    3.15 内存映射集成

      内存映射程序文件采用“xxx_MemMap.h”的命名规范,主要解决将变量、常量和代码放到指定存储空间的问题。

    3.15.1 软件组件内存映射文件

      各SWC模块的内存映射文件生成方法如图3-36所示,通常每个新建软件组件仅生成1次即可,之后可删除该命令段。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w37.jpg
    图3-36: 软件组件内存映射程序文件生成方法

    3.15.2 BSW模块内存映射文件

      各BSW模块的内存映射文件生成方法如图3-37所示(部分有对应SWC的BSW模块按照图3-36的方法操作),这部分文件通常只生成1次,且生成路径不要在程序工程的路径或子路径下,否则容易带来编译错误。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w38.jpg
    图3-37: BSW模块内存映射程序文件生成方法

    3.15.3 内存映射程序文件路径

      内存映射文件统一存储在“...\src\INFRA\memmap”路径下(其余路径下的内存映射文件须剪切至此),且须在工具生成文件的基础上做相应改动。

    3.16 复杂驱动集成

      复杂驱动包含板级芯片驱动程序和对复杂传感器和执行器进行操作的软件模块,相关的程序文件均为手写代码,工程路径为“...\src\CDD”。

    3.17 应用层软件集成

      按照下面的步骤进行应用层软件集成。

    3.17.1 应用层文件拷贝

      按照表3-5将应用层程序文件拷贝或更新至工程的指定目录。

    表3-5: 应用层程序文件处理


    序号

    类别

    文件(夹)名

    文件拷贝位置

    1

    A2L

    XXX.a2l(一个或多个)

    ...\tools\A2LGenTool\ASAP\Adr_Files\a2l

    2

    Arxml

    XXX.arxml(一个或多个)

    ...\src\ASW\VcuApp_SWC\arxml

    3

    文件夹

    lib(库文件)

    ...\src\ASW\VcuApp_SWC

    4

    C

    XXX.c(一个或多个)

    ...\src\ASW\VcuApp_SWC\src

    5

    H

    XXX.h(一个或多个)

    ...\src\ASW\VcuApp_SWC\src

    3.17.2 ARXML文件导入

      如果是首次操作,须按照图3-38所示进行,再执行刷新操作;后续更新只需要在完成文件拷贝后直接刷新工程即可。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w39.jpg
    图3-38: 应用层ARXML导入

    3.17.3 SWC添加

      将应用层的SWC分别添加到部件和ECU中,抽取。

    3.17.4 相关模块设计

      在程序中调用应用层软件的初始化和执行函数。

    3.18 其它模块设计与集成

      以上完成了VCU软件的工程创建和必备模块集成的基本工作,表3-6列出了车载ECU软件的一些其它的常用模块,这些将在后续的软文中逐一探讨。

    表3-6: 车载ECU软件常用模块

    序号

    模块名称

    功用

    1

    BOOTLOADER

    实现ECU程序的更新

    2

    XCP

    用于参数标定

    3

    UDS

    用于故障诊断

    4

    NvM

    用于参数存储

    5

    核间通信

    适用于多核微处理器的主控芯片


    4 补充说明

      下面对上一章的操作过程进行几点说明。

      (1)本文的内容倾向于“工程实践”,仅讲述了“怎么做”而非“为什么这么做”,其中的概念和原理请参考AUTOSAR规范的相关章节。

      (2)前文对软件集成的步骤以模块为单位逐一说明,但在实际操作过程中可能出现“前个模块配置须依赖于后续模块设计到某个步骤”的情况,故在软件设计过程中不必拘泥于文中的次序。

      (3)在进行“从无到有创建AUTOSAR工程”的过程中得到了团队内外很多同行的指点和帮助,从尊重大家工作成果和遵守公司保密性要求的角度考虑,部分重要的技术细节不宜公开发表(工具链开发涉及到的内容很多,我在此领域工作3年已经编写了数千页的工作文档,确实也很难通过一篇文章讲清楚整个过程),如果读者在开发过程中遇到问题,欢迎私下里探讨。

    小编手头也整理了一波AUTOSAR的资料,如下图所示。仅需将此文档分享至朋友圈集30个赞,后台发送至小编,即可获取下载链接。

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w40.jpg

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w41.jpg

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w42.jpg

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w43.jpg

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w44.jpg

    ETAS AUTOSAR工具链的使用及集成 |附资料下载w45.jpg

    分享不易,恳请点个【?】和【在看】

    快速发帖

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

    GMT+8, 1-2-2025 13:45 , Processed in 0.250609 second(s), 32 queries .

    Powered by Discuz! X3.5

    © 2001-2013 Comsenz Inc.