isolar高手秘籍| ECU Configuration三分钟速成!

目录

文章使用对象

学习目标

演示场景

前提条件

概览--isolar中Ecu Configuration的配置工作流

工具操作详细步骤

Step 1. Create an ECU Extract

Step 2. Configure additional elements

Step 3. Configure the OS

Step 4. Configure the RTE

Step 5. Configure the BSW and generate the code

Step 6. Mapping ECU Services

Step 7. Code Generation for RTE and OS

     本文中提到的关于BswM EcuM的相关示例配置文件可在关注公众号后,后台私信获取!


文章使用对象

autosar配置工程师/autosar配置初学者

学习目标

配置一个可以生成RTE、OS和BSW代码的项目

演示场景

  1. 如何从系统描述中创建ECU Extract?

  2. 如何配置ECU?

  3. 如何为BSW、OS、RTE生成代码

前提条件

  • 必须熟悉AUTOSAR ECU Configuration规范、术语和方法论;可参考《AUTOSAR_TPS_ECUConfiguration.pdf》文档

  • 必须安装了RTA-CAR工具链

概览--isolar中Ecu Configuration的配置工作流

Step1:在Application Software ConfigureationSystem Configuration​中配置的示例项目中创建一个ECU Extract文件。

Step2:为提取的ECU的配置,配置所需的元素(EcuC value Collection和RTE及OS的容器)。

Step3:配置操作系统(OS)。

Step4:配置运行时环境(RTE)。

Step5:配置基础软件(BSW),然后运行BSW代码生成。

Step6:在代码生成之后,将BSW服务软件组件(SWCs)映射到组合中,更新连接,并更新ECU提取文件。

Step7:运行OS和RTE代码生成,并重新运行BSW代码生成

工具操作详细步骤

Step 1. Create an ECU Extract

如下图所示:Open 项目,右键单击“System”,选择“Create ECU Extract.”

在"Create ECUExtract"弹出窗口中,勾选忽略comspec冲突选项,然后单击Finish

单击 OK,确认ECUExtract已成功生成。

如下图所示, 在 AR Explorer视图中,可以在System上方找到新创建的ECU Extract (EXTR_ApplicationECU)。

Step 2. Configure additional elements

如下如所示,为了继续ECU的配置,项目中ECU Navigator视图中必须存在以下AUTOSAR定义的元素:

    • EcuC Value Collection

    • RTE

    • OS

以下步骤将配置上述提到的必需的autosar元素。

2.1 Configure an EcuC Value Collection

如下图所示:  从"ARExplorer"视图切换到"ECU Navigator"视图,右键单击"EcucValueCollection_0"并将其重命名为"EcucValueCollection",在Bsw模块-->ECuc Value Collection下,然后双击它。

当第一次打开一个新的Ecuc Value Collection时,会出现一个“RTE配置的先决条件”弹出窗口。如下图所示:

从下拉列表中选择Step1中创建的ECU Extract,然后单击Finish。其中:RTE和OS模块的容器都是默认创建的。

Step 3. Configure the OS

从 ECU Navigator视图中,双击打开“Os”模块。

在左侧列表中的“OS Contents”容器中,在 Application Modes  下有一个名为OSDEFAULTAPPMODE的OsAppMode,它足以让基本项目工作,后续的配置步骤中将在此工作流中对其进行一些额外的配置。

Step 4. Configure the RTE

需要对默认创建的RTE进行一些配置,将涉及创建Os Task和SWC runnables的映射。

4.1 Create OS Task

首先,为了能够将Runnable映射到一个TASK,所以我们必需先创建一个OS Task。

如下图所示:在 ECU Navigator视图中,双击打开EcucValueCollection

如下图所示:在右侧的编辑器对话框的底部,选择“Os task Properties”tab。

如下图所示:右键单击空表中的任意位置,然后单击Create Os Task

如下图所示:将出现如下所示的“Create OsTask”弹出窗口,然后单击 Finish

如下图所示:将向表中添加一个新行,默认Task称为OsTask_0。

如下图所示:将新任务重命名为“OsTask_ASW”,并选择Os Task Schedule为FULL

4.2 Map the Runnables to the OS Task

如下图所示:切换到编辑器底部的“Entity to Task Mapping”tab。

将右侧“UnMapped Entries”部分中的每个Runnable拖到左侧“Mapped Entities”部分中的相关Os Task中。

下图显示的是Runnables映射完成后的“Entity to Task Mapping"”示例。

Step 5. Configure the BSW and generate the code

配置BSW,然后生成代码。

5.1  Configure the BSW

RTA-BSW包括一个配置生成工具(ConfGen),用于根据已经提供的配置完成AUTOSAR基本软件模块配置。

如下图所示:正确安装RTA-BSW插件后,我们将在ISOLAR-AB工具栏中看到RTA-BSW配置生成的快捷按钮。

如下图所示:在AR Explorer视图中选择项目,然后单击RTA-BSW配置生成按钮

如下图所示:将“Generate ECU Configuration”窗口中的Output Path设置到自定义的位置,然后单击Finish

如下如所示:在示例项目中,Bsw模块部分包含<isolar高手秘籍| System Configuration一分钟速成!>中进行的DBC导入后填充配置的模块.

如果在实际项目中需要配置其他模块,可以通过右键单击“Bsw Modules"并创建新模块来完成,或者通过单击现有模块以展开其内容来修改其配置。

5.2  Run the BSW Code Generation

BSW代码是通过RTA代码生成器生成的,该生成器也可用于生成RTE和OS模块的代码。

提示:RTE生成需要Mode Management,因为RTE生成器将查找Mode Management Modules(EA M和BswM)生成的一些引用。Mode Management配置既复杂又与项目无关。出于这些原因,将在后续的文章中对Mode Management工作流程中进行详细描述,本文章不进行描述。

对于文章中的示例工程,我们选择导入一个示例d的Mode Management配置,如下图所示:如果需要从头开始配置BswM和EcuM,则可以参考后续文章。

  • Copy 所有BswM_的*. arxml和EcuM_*.arxml文件至项目文件夹\ecu_config\bsw\ecucvalue

  • Copy ecu_config\bsw\integrationCfg的整个integrationCfg文件夹在同一位置的一个名为integration的文件夹中。

  • Copy  MSI_Shutdown. arxm至 system_config文件夹下

如下如所示:需要重新运行Confgen才能显示服务组件。按左上角的蓝色“E”键即可执行此操作。

选择打开“ Open RTA-Code Generator dialog”选项。

如下图所示:可以设置三个代码生成器(RTA-BSW,RTA-RTE,RTA-OS)的详细信息。

在生成BSW代码之前,必须首先选择包含在生成代码中的已配置BSW模块,并设置/检查BSW输出路径的位置。(示例工程中请确保已应用以下模块,如图所示)。

根据选择的BSW模块,可能需要进行额外的配置才能成功生成BSW代码。如果想在示例工程中包含BswM和EcuM模块,则在Step6.1节中有关于此的说明。

如下图所示:单击Apply,然后 单击Run

注意:如果您需要从运行配置窗口外部重新生成BSW代码,您可以使用RTA代码生成器菜单中的生成RTA-BSW按钮。

Step 6. Mapping ECU Services

如下图所示:BSW Service Components创建也将作为代码生成的一部分,并且它们在“Components”部分中可见(带有紫色图标)。

如果有任何服务组件,需要更新系统并将它们映射到ECU中,并在System修改后更新ECUExtract(与创建它的方式相同)。将在下面的步骤6.1中向描述如何完成这项额外的工作。

6.1 Map BSW Service SWCs onto the Composition

如上所述,如果使用BSW服务,例如Mode Management或NVM services,则需要将生成的服务SWC prototype添加到ECU。

如下图所示:要将服务SWC映射到composition。打开“ TopLevelComposition”,并通过单击绿色“+”旁边的小向下箭头并选择“ Component Prototype”来添加SWC原型。

如下图所示:然后选择CPT_ComM组件类型,然后按 OK

如下图所示:右键“System”,使用"SWC到ECU映射编辑器"打开系统以映射新组件。

如下图所示:将CPT_ComM组件拖放到系统映射中。

Update the EcuExtract

在进行System或 Composition任何修改后,必须重新生成Ecu Extract以包含这些更改。如step1中描述,通过右键点击System info,然后选择“Create EcuExtract”来完成。

Generate BSW

打开代码生成器对话框并再次生成BSW。如果是按照本示例指引学习,则请确保选择以下BSW模块。

BSW Runnable mapping

更新BSW配置后,可能还需要在EcucValueCollection中更新RTE配置的可Runnable 与Task映射 。建议将所有BSW Runnable 映射到专用的Os Task。如果不存在专用的Task,则需要创建一个Task。

ECU Navigator视图中,通过双击打开EcucValueCollection

如下图所示:在右侧编辑器对话框的底部,选择“Os task Properties”tab。

如下图所示:右键单击空表中的任意位置,然后单击Create Os Task

将出现如下所示的“Create OsTask”弹出窗口,然后单击Finish

将向表中添加一个新行,默认任务称为OsTask_0。

将新Task重命名为"OsTask-BSW",并设置Os Task ScheduleFULL,如下图所示:

切换至编辑器底部的“Entity to Task Mapping”tab。如下图所示,示例显示了映射到“OsTask_BSW”任务的所有BSW实体。

下面的示例显示了映射到Runnables的所有BSW Entities 。

Step 7. Code Generation for RTE and OS

7.1  RTE Code Generation

如下图所示:

  • 在RTA代码生成器设置Rte Main Tab中,设置Rte输出路径Rte日志路径

  • Rte命令框中,添加命令行选项(--os-define-osenv=RTAOS40)为所使用的AUTOSAR版本创建必要的定义。

  • 如果与文中示例工作流一样,有一些端口未连接,请使用附加命令(--strict-unconnected-rport-check=off)。示例项目需要完整的命令行选项:

--strict-unconnected-rport-check=off --os-define-osenv=RTAOS40 --notimestamps --samples=memmap

在“Included AR Files”tab中,选择RTA-RTE生成所需的包含文件。如下图所示:在本示例工作流的情况下,进行以下选择,并单击Apply

然后在RTA代码生成器菜单中,选择生成RTA-RTE。

7.2  OS Configuration and Generation

在RTE生成过程中,将生成一个文件“OsNeeds. arxml”。该文件描述了刚刚生成的RTE代码的Os要求,例如定时器、调度表、任务数量以及它们将在其上运行的ECU核心。

现在有了“OsNeeds. arxml”这个文件,准备继续进行OS配置。有两种方法可以执行OS的配置:

  • 使用ISOLAR-AB中的BSW编辑器

  • 在ISOLAR-AB中使用OS编辑器

  • 使用RTA-OS配置工具。

在此示例工作流程中,我们将使用ISOLAR-AB配置OS。

如下图所示:双击Bsw模块中的Os容器并选择BSW编辑器

在BSW编辑器中,可以根据项目要求配置所有OS容器。

除了OsNeeds. arxml文件中包含的元素之外,OS配置还需要以下元素:

  • 还必须创建 startup task(如下图所示):其中OsTaskAutostart容器中的OsTaskAppModeRef应设置为OSDEFAULTAPPMODE,其中OsAppMode应在项目创建时自动设置。在任何其他Application或Basic SW启动之前,初始化ECU系统代码(例如OS启动代码)需要启动任务。

在继续生成OS之前,您可能需要执行以下操作:

  • 将启动套件的src\bsw\Compiler\集成文件夹中的os_compiler_cfg. h文件复制到您的项目中。文件可以在这里下载。

  • Copy  os_compiler_cfg. h文件至项目中

  • Copy os_memmap. h 文件至项目中

  • 使用查找和替换从工程所有文件中删除以下代码行

  • 双击“ ECU Configurator”中的Os文件夹以访问BSW 编辑器。然后选择OsOs文件夹。

  • 在属性设置中,使用下拉菜单将OsScalablityClass更改为“SC1”

From here click Advanced and enter the argument --build:clean.

完成上述附加元素的配置后,再次打开RTA代码生成器,并以与步骤7.1中的RTE相同的方式配置(例如,指定输出路径、附加命令以及包含的文件和文件夹)。要配置命令行参数,请单击配置命令行参数。

从这里单击Advanced并输入参数--build:Clean。

如果按照本示例学习,则还需要在OS的“ Included AR files ”tab中选择OS. arxml(Os_EcucValues.arxml)和osNeeds.arxml(由RTE生成)。

配置完成后,单击 Run以运行OS代码生成。

OS生成器将被ISOLAR调用,将在命令日志中看到结果。

7.3  Re-Generation of BSW

    在更改BSW配置或任何SWC服务需求后,必须重新生成BSW。可以使用与前面在第5.2节中描述的相同过程来执行此操作

     本文中提到的关于BswM EcuM的相关示例配置文件可在关注公众号后,后台私信获取!

关注订阅“汽车电子工具智慧库”公众号,解锁更多汽车电子工具链技能,快速加入工具交流群 。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值