• 1170查看
  • 0回复

[Autosar] AutoSar工程——SWC配置

[复制链接]


该用户从未签到

发表于 3-2-2024 08:02:58 | 显示全部楼层 |阅读模式

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



    简介


本文以某项目中Dcm的SWC需要使用Can信号为例,介绍一下RTE下的swc配置。

Autosar的ASW配置中,如果我们的配置很多,无论是查找还是新增、修改配置项都是非常麻烦的,工具也会非常卡顿。

AutoSar工程——SWC配置w1.jpg

如图所示,并且工具在通过文字检索时,无法查看或者修改配置。

AutoSar工程——SWC配置w2.jpg

可以看到具体的配置项是隐藏了。

可以通过New一个新的工程来开发,并且对某个SWC的InterFace或DataType分类xml处理,让工程清爽起来。

2. New工程

AutoSar工程——SWC配置w3.jpg

咱们随便命名个RTE_TEST就好。

3. DataType配置

首先由现有的basetype打开配置界面

AutoSar工程——SWC配置w4.jpg

然后点击铅笔图标,命名xml文件和package。

AutoSar工程——SWC配置w5.jpg

之后点击add,之后添加的datatype都会被正确的放置到该xml的package下了。
AutoSar工程——SWC配置w6.jpg

简单配置一下datatpye的短名和基础类型:
AutoSar工程——SWC配置w7.jpg

配置完成后,可以在xml文件中看到一个新的element被添加进来了

AutoSar工程——SWC配置w8.jpg

之后再去同步添加其他需要的datatype类型即可。除了使用工具配置,我们直接编辑文件也是可以完成的,可能效率上比点点点更高。只需要对相同的元素复制,再修改配置项即可。

AutoSar工程——SWC配置w9.jpg

video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3304038483363250184

不过为了后面连线等配置方便,这边我们把type_referece统一配置到结构体中。

AutoSar工程——SWC配置w10.jpg

4. 配置interface

AutoSar工程——SWC配置w11.jpg

也是一样的命名xml和package。其实这里有个bug,就是只能在最外层目录下创建xml,咱们正好是用新的工程去创建然后往自己工程的对应swc文件下粘贴,也没太大关系。之后创建接口即可。

5. SWC配置

AutoSar工程——SWC配置w12.jpg

在swc中创建port,注意写入的swc中创建供型接口Pprot,在接收的SWC创建需型接口Rport。不要忘记在Function界面右侧中,添加Data Access Point哦,否则在生成.c时不会在runnable中自动调用生成的RTE相关接口。

AutoSar工程——SWC配置w13.jpg

之后连线,我们在手动界面里看一下,由于是相同的命名方式,在勾选一个port之后工具会提示我们待连接的port。

AutoSar工程——SWC配置w14.jpg

之后对Ecu抽象,将我们的新配置抽象到System_EXTR和Ecu的FlatView中去。之后就可以生成rte代码啦。之后不要忘记再生成一下os相关代码哦。不过还是有报错信息:

AutoSar工程——SWC配置w15.jpg

需要在生成选项中勾选xml文件,否则就会出现上图中无法找到配置的报错信息。

AutoSar工程——SWC配置w16.jpg

6. 代码分析

首先是rte_type中的结构体:

AutoSar工程——SWC配置w17.jpg

这就是我们配置的datatype了。

#defineRte_Read_RPortPrototype_0_VDP_Dcm_Signal( data )  ( ((*(data)) = Rte_Rx_000288),((VAR(Std_ReturnType,AUTOMATIC))RTE_E_OK) )

rte本质上就是通过rte.c中的全局变量进行封装,实现read和write。如果我们配置的是跨核的通讯,还会生成ioc相关的代码。

AutoSar工程——SWC配置w18.jpg

最后去实现、验证软件即可。


该用户从未签到

发表于 15-3-2025 06:33:00 | 显示全部楼层
关于AutoSar工程的SWC配置,以下是我的专业回复:

在项目中,当需要对大量SWC进行配置时,使用现有的配置工具可能会遇到效率低下和卡顿的问题。对于Dcm的SWC需要使用Can信号的情况,可以采用以下方法进行优化:建议新建一项工程(如RTETEST),并在其中专门针对某个SWC的Interface或DataType进行分类处理。这样可以使工程结构更为清晰,便于查找、新增和修改配置项。在进行DataType配置时,请确保遵循Autosar标准规范,以确保不同SWC之间的通信准确无误。通过这种方式,可以有效提高配置效率,确保项目的顺利进行。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 15-3-2025 06:33:00 | 显示全部楼层
关于AutoSar工程的SWC配置,我了解到在项目中,由于大量的配置可能会导致工具运行缓慢且难以管理。为此,建议使用新建工程的方法来解决配置问题。在新建的工程中,可以对特定SWC的Interface和DataType进行分类管理,提高工程的清晰度和效率。对于配置项的查找、新增和修改,建议采用结构化、系统化的方法,避免混乱和错误。同时,对于工具卡顿问题,可以考虑优化工具性能或升级版本。新建的RTETEST工程可以为你的项目带来更清晰的结构和更高效的管理。对于DataType的处理,要确保定义准确、分类清晰,为后续的软件开发提供坚实的基础。
回复 支持 反对

使用道具 举报

快速发帖

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

本版积分规则

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

GMT+8, 19-8-2025 21:45 , Processed in 0.338654 second(s), 36 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.