) ETASAUTOSAR工具链的使用及集成|附资料下载_西方制鞋网

ETASAUTOSAR工具链的使用及集成|附资料下载

首页>滚动 > 正文
2023-06-02 14:18:16

来源:面包芯语

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.2AUTOSAR工程创建

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

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

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

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

3.2 架构设计

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

3.3 配置系统

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

3.3.1部件创建

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

图3-3: 部件创建启动

图3-4: 部件创建配置

3.3.2系统创建

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

图3-5: 系统创建启动

图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模块将自动生成。

图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删除多余项。

图3-8: Os多余项删除

(2)应用模式配置

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

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

(3)计数器配置

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

图3-10: Os计数器配置

(4)任务配置

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

图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所示配置工程属性。

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

(2)文件加载

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

图3-13: OS工程文件加载

(3)工程保存

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

(4)通用参数配置

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

图3-14: OS通用配置

(5)应用模式配置

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

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

(6)中断配置

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

图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生成配置。

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

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

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

(3)生成操作

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

图3-20: OS代码生成

3.7 RTE配置

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

3.7.1 Rte创建

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

图3-21: Rte多余项删除

3.7.2 Rte配置

依次进行Rte模块的配置。

(1)Rte生成配置

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

图3-22: Rte生成配置

(2)Bsw模块实例配置

在生成RTE成功后进行。

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

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

3.8 定点数位域配置

创建Bfx模块并完成配置。

3.8.1 Bfx创建

在ISOLAR-B中创建Bfx模块。

3.8.2 Bfx配置

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

图3-24: Bfx通用配置

图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所示进行模块关联。

图3-26: EcucValueCollection配置启动

图3-27: EcucValueCollection配置启动

(2)任务分配

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

图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。

图3-29: AUTOSAR_PlatformTypes AR Package创建

3.10.2 数据类型添加

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

图3-30: 数据类型添加启动

图3-31: 数据类型添加配置

图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模块的通用配置。

图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。

图3-34: RTE代码生成启动

图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次即可,之后可删除该命令段。

图3-36: 软件组件内存映射程序文件生成方法

3.15.2 BSW模块内存映射文件

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

图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所示进行,再执行刷新操作;后续更新只需要在完成文件拷贝后直接刷新工程即可。

图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个赞,后台发送至小编,即可获取下载链接。

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

标签:

THE END
免责声明:本文系转载,版权归原作者所有;旨在传递信息,不代西方制鞋网的观点和立场。

相关热点

新华社电 上海市文化和旅游局近日发布《上海市密室剧本杀内容备案管理规定(征求意见稿)》,并截至12月8日面向社会公众广泛征求意见。这
2021-11-19 13:46:03
《中国证券报》17日刊发文章《备战2022 基金经理调仓换股布新局》。文章称,距离2021年结束仅剩一个多月,基金业绩分化明显。部分排名靠前
2021-11-19 13:46:03
交通运输部办公厅 中国人民银行办公厅 中国银行保险监督管理委员会办公厅关于进一步做好货车ETC发行服务有关工作的通知各省、自治区、直
2021-11-19 13:45:58
新华社北京11月17日电 题:从10月份市场供需积极变化看中国经济韧性新华社记者魏玉坤、丁乐读懂中国经济,一个直观的视角就是市场供需两端
2021-11-19 13:45:58
全国教育财务工作会议披露的消息称,2020年,中国国家财政性教育经费投入达4 29万亿元,占GDP总量的4 206%,我国国家财政性教育经费支出占G
2021-11-19 13:45:48
如果你也热爱“种草”,前方高能预警!让你心心念念、“浏览”忘返的网络平台,可能早已成为一块块“韭菜地”。近日,据《半月谈》报道,有...
2021-11-19 13:45:48
日前,工业和信息化部印发《“十四五”信息通信行业发展规划》(以下简称《规划》),描绘了未来5年信息通信行业的发展趋势。《规划》指出...
2021-11-19 13:45:40
本报讯(中青报·中青网记者 周围围)2021年快递业务旺季正式拉开帷幕。国家邮政局监测数据显示,仅11月1日当日,全国共揽收快递包裹5 69
2021-11-19 13:45:40
人民网曼谷11月17日电 (记者赵益普)17日上午,中国援柬埔寨第七批200万剂科兴新冠疫苗抵达金边国际机场。当天,柬埔寨政府在机场举行了
2021-11-19 13:45:35
金坛压缩空气储能国家试验示范项目主体工程一角受访者供图依托清华大学非补燃压缩空气储能技术,金坛压缩空气储能项目申请专利百余项,建立
2021-11-19 13:45:35
视觉中国供图42亿立方米据有关部门预计,今年山西煤炭产量有望突破12亿吨,12月份山西外送电能力将超过900万千瓦,今冬明春煤层气产量将达4
2021-11-19 13:44:34
14省份相继发布2021年企业工资指导线——引导企业合理提高职工工资今年以来,天津、新疆、内蒙古、陕西、西藏、山东、江西、山西、福建、四
2021-11-19 13:44:34
中新网客户端北京11月18日电 (记者 谢艺观)“一条路海角天涯,两颗心相依相伴,风吹不走誓言,雨打不湿浪漫,意济苍生苦与痛,情牵天下喜
2021-11-19 13:44:31
近日,交通运输部等三部门发布《关于进一步做好货车ETC发行服务有关工作的通知》。通知提到,对不具备授信条件的用户,商业银行可在依法合
2021-11-19 13:44:31
欧莱雅面膜陷优惠“年度最大”风波 涉及该事件集体投诉超6000人次美妆大牌双十一促销翻车?近日,因预售价格比双十一现货贵出66%,欧莱雅
2021-11-19 13:44:13
43 6%受访者会在工作两三年后考虑跳槽54 3%受访者认为跳槽对个人职业发展有利有弊如今对不少年轻人来说,想对一份工作“从一而终”不太容易
2021-11-19 13:44:13
超八成受访青年表示如有机会愿意开展副业 规划能力最重要64 4%受访青年指出做副业跟风心态最要不得如今,“身兼数职”已成为年轻人当中的
2021-11-19 13:44:01
发展氢能正当其时【科学随笔】氢能是一种二次能源,它通过一定的方法利用其他能源制取,具有清洁无污染、可储存、与多种能源便捷转换等优点
2021-11-19 13:44:01
“千杯不醉”的解酒“神药”能信吗?专家:网红“解酒药” 其实不算药俗话说,“酒逢知己千杯少”,酒一直是国人饭桌上至关重要的存在。尽...
2021-11-19 13:43:57
最新文章

相关推荐