AUTOSAR 中COM模块配置的⽅法-ETAS-RH850

DBC导入和CAN的ETAS配置

本文档是以导入test_0906.dbc为例,配置CAN模块,生成BSW和RTE的方法。

1.选择D,导入dbc

2.选择dbc路径,Network Name与Controller与原总线保持一致

3.配置dbc导入方式

4.选择导入的数据

5.添加/

生成RTE之前先修改一下DBC_SysDesc.arxmlbug,在<COMPU-METHOD-REFDEST="COMPU-METHOD">DBC_SysDesc_CanNetwork_Vehicle前加/否则编译报错

  • 注意 因为落盘到 DBC_SysDesc.arxml 比较慢,即便有时候进度条已经结束,也需要等一段时间
  • 第一个SHORT-NAME 不用替换

导入DBC 后

bash

modified:   DBC_SysDesc.arxml
modified:   system_config/Platform_Types.arxml
//出现添加的ID与signal

6.设置Tx报文周期以及Rx报文设置

6.1 Tx报文周期发送

pdu 中找到对应的报文6EF

EventControll… 改为 cyclicTiming

后Value为周期 更改为 1 — 1S周期发送

6.2 rx报文设置

  • 创建interface

随便点击一个

跳转到界面,注意上面的配置

我们添加一个 Interface_ASW_COM_Vehicle/ /Interface_ASW_COM_Vehicle.arxml 的接口
在现有的基础上添加SR Interface 即可 SRInterface_Test_6E1_Signal1

添加效果如下(Add VariableData Prototype)并指定VDP Type Ref

注意添加时候每写完一次,界面就会刷新到最后

  • 创建RPort-SenderReceiver

  • 创建DataAccessPoint

  • System Data Mapping

7.System-ECUExtract提取

8.ECU Configuration

这里是为了生成BSW的输入文件

PS:因为新增了一个TX报文,这步骤之后就会新增一个TX mailbox17 下面就可以看到

删除CAN模块mailbox

BSW配置生成后,先删除CAN->CanConfigSet“CanConfigSet”->CanHardWareObject下多的maibox

删除CANIF下的mailbox

删除CANIF -> CanIfInitCfg -> CanIfInitHohCfg[1] -> CanIfInitHohCfg -> CanIfHrhCfg下的mailbox

PS:这些多的mailbox 报错最终是因为生成BSW 会提示,所以写文档的时候就知道了这些需要删除了

mapping接收id的mailbox

配置接收mask

CanObjectId 修改

在这里依次排序更改

9.生成BSW(如果生成报错 **CanIfPduId报错**)

**CanIfPduId报错**

生成BSW报错如下是ETAS的bug,需要删除报错对应的CanIfPduId
移除之后其实在会后生成代码也会再次生成排序,之后窗口再次打开,就可以看到此pduId

重新生成BSW

ps:如果控制台不是以下显示,可能需要在RTE 重新编译 BSW

10.生成RTE (RTA Code Generator)

11.代码合成

代码检查 Rx返回值

bsw模块合成

CanIf Com Xcp PduR

添加debug 代码

找到对应的api 添加 到 CODE\CodePrj_QuadCore\src\Asw\ASW_COM_Vehicle.c 种

添加read252

添加函数调用

rte 代码合成

  • rte 方面代码复制

bash

cd D:\code\adas\ADAS\ETAS/ETAS_project_QuadCore/BYD_L2_RH850/src/rte
cp ./*.h  D:\code\adas\ADAS\CODE\CodePrj_QuadCore\src\Rte
cp ./*.c  D:\code\adas\ADAS\CODE\CodePrj_QuadCore\src\Rte
cp ./RteErr.xml  D:\code\adas\ADAS\CODE\CodePrj_QuadCore\src\Rte
cp ./rtegen_files.lst D:\code\adas\ADAS\CODE\CodePrj_QuadCore\src\Rte
  • rte.c 修改

Mcall 配置

软件列表与安装

1、GenTool_RedistributableEnv mcal 环境配置工具

  • GenTool_RedistributableEnv 其实就是 DaVinci_Configurator_5.13.45_SP7(达芬奇软件的安装之后的环境,可直接拿来解压使用)-提供的软件位置如下

  • 配置静态文件,在上面的目录下GenTool_RedistributableEnv\BSWMD -BSWMD 需要将BSWMD_U2A16下的所有文件(一堆arxml)复制到这个路径下,(PS:此路径不要包含其它文件/文件夹)
  • 作用是是根据配置生成对应的arxml文件

2、AUTOSAR_RH850_U2Ax_MCAL_Ver43.02.00瑞萨的静态文件和生成代码的工具

3、McalGen 执行上述工具的脚本

highlighter-

   **PS: 上面的几个工具建议都放在一个目录下**

mcall配置

  • 打开软件 GenTool_RedistributableEnv\DaVinciConfigurator\Core 下的DaVinciCFG.exe 可执行文件
  • 打开MCALL 中的.dpa

  • Basic Editor

  • 视图样式

  • 新建mailbox—右键Duplicate

  • 弹出界面选择 数量 1 ,新添加一个

  • 修改ObjectId

  • 添加mailbox的 CanHwFilter过滤

  • 导出All.arxml

代码生成

  • 将上述All.arxml 放入到 McalGen 下

  • 执行脚本

  • 脚本报错

  • 是因为对应位置下的文件加密

    我们可以将加密文件放入到服务器,之后更改为服务器映射地址即可

    AUTOSAR_RH850_U2Ax_MCAL_Ver43.02.00\X2x\U2Ax\common_family\generator

    AUTOSAR_RH850_U2Ax_MCAL_Ver43.02.00\X2x\U2Ax\common_family\include\ghs

    其中 trxml 没有加密 但是头文件加密了 所以可以将 头文件放入服务器

    更改trxml 中 文件对应路径

  • 再次运行脚本

  • 执行成功,将生成文件导出 和 代码路径文件对比,同步,注意一些有人为修改的地方不要改动

对比


 


 


 


 

相关注释手动修改部分是为了保持版本一致

OS代码配置

路径配置

编辑器更改oscfg.rtaos内的路径配置

原先为

路径明显不对,Options更改为

bash

<Options>
    <Option name="BuildGui.LastBuildCommand">rtaosgen.exe --build:clean --debug:source --output:..\gen --include:..\..\..\CODE\CodePrj_QuadCore\src\Integration\BswIntegration --include:..\..\..\CODE\CodePrj_QuadCore\src\Integration\RteIntegration --include:..\..\..\CODE\CodePrj_QuadCore\src\Integration\OsIntegration --include:..\..\..\ETAS\ETAS_project_QuadCore\BYD_L2_RH850\src\rte oscfg.rtaos</Option>
    <Option name="BuildGui.CleanRebuild">TRUE</Option>
    <Option name="BuildGui.KeepSourceFiles">TRUE</Option>
    <Option name="BuildGui.OutputFolder">..\gen</Option>
    <Option name="BuildGui.IncludePaths">..\..\..\CODE\CodePrj_QuadCore\src\Integration\BswIntegration;..\..\..\CODE\CodePrj_QuadCore\src\Integration\RteIntegration;..\..\..\CODE\CodePrj_QuadCore\src\Integration\OsIntegration;..\..\..\ETAS\ETAS_project_QuadCore\BYD_L2_RH850\src\rte</Option>
 </Options>

D:\code\adas\ADAS\OS\OsCfg_QuadCore\cfg 下的oscfg.rtaos 打开(

默认使用C:\ETAS\RTA-CAR_9.1.0\RTA-OS_6.1.3\bin\rtaoscfg.exe —ETAS 安装目录下的)

点击左下列表中的Build,看参数配置对不对

环境变量配置

在最后添加 添加gerrnhill环境变量 C:\ghs\comp_202115 (按照自身安装路径)

最好是添加到系统环境变量中,不然每次打开都需要添加,不会保存

文件配置

对于此练习简单的Rx添加更改

bash

cd D:\code\adas\ADAS\OS\OsCfg_QuadCore\cfg 
d:
cp ../../../ETAS/ETAS_project_QuadCore/BYD_L2_RH850/MPC_Project_EcucValues.arxml ./
cp ../../../ETAS/ETAS_project_QuadCore/BYD_L2_RH850/Project_EcucValues_UserConfig.arxml ./
cp ../../../ETAS/ETAS_project_QuadCore/BYD_L2_RH850/src/rte/iocNeeds.arxml ./

编译

点击build now

编译成功os, 生成路径为 ADAS\OS\OsCfg_QuadCore\gen

文件比对复制

bash

cd D:\code\adas\ADAS\OS\OsCfg_QuadCore\gen
cp ./* D:\code\adas\ADAS\CODE\CodePrj_QuadCore\src\Os\src\
cd D:\code\adas\ADAS\CODE\CodePrj_QuadCore\src\Os\src\
cp RTAOS.a.sig ../

编译

GreenHill编译


 

编译OK之后

点击debug 小虫子

按F5 进入连接界面

如果是首次连接,需要按照以下步骤创建连接:

a)Create a new connection method

这个参考四维文档 GreenHills+E2 调试

需要注意在这里添加debug 参数

配置完成时候选择connect 这时候会下载刚才编译的版本,之后等待进入连接界面

选择core0 ,找到调试文件,在目标代码下一步打上断点

点击read252 会弹出窗口显示值

发送报文之后点击继续运行可以发现值的变化

制作差分包

取出编辑生成文件,放入version文件夹中

打开制作工具

软件版本看 注释

软件编码为FD07_Ver 中 0x 和 , 移除的16进制组合

烧写

MCU版本路径

\\10.4.0.4\第五事业部\软件中心\Product\AutoElectronic\BYD_ADAS\Release_SZ\Release\V3\MPC\MCU

其中XCD下的zip包为烧写文件

工具为 D:\software\adas\update_version 下的 007release

  1. 点击exe可执行程序,更改下载长度为64,路径选择为zip

等待成功即可

如果报错可以尝试将 烧写模式更改为 忽略版本号

转自月的光景
 

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值