目 录CONTENT

文章目录

AUTOSAR知识点 之 SWC (一):基于ETAS工具ISOLAR-AB新建一个SWC并实现与其它SWC通信(动态与静态详细步骤介绍)

moke
2024-07-27 / 0 评论 / 0 点赞 / 142 阅读 / 0 字

1、概述

        SWC的全称为SoftWare Component 软件组件,怎么新建一个SWC呢,其实在ETAS工具里面是比较常见的一个问题,记录一下如何新建一个SWC。

Inter-ECU示例框图

2、新建SWC步骤

2.1、第一种新建方式:显式抽象组界面下

1、显式抽象组界面下新建一个SWC,如下图

2、选择Components,右键选择 Creat Elements|Application Sw Component Type

3、选择新建一个arxml还是采用以前的,本次属于新建,首先需要在需要放置的位置新建一个文件夹,将新建的arxml放置到文件夹里面即可,如下图进行所示,arxml自己命名。

4、新建一个Internal Behavior

5、新建Interface,双击所在的SWC,进入如下界面新建Interface,下图中有CSI、SRI、MS等Interface,看自己选择新建,例如本次新建SR的Interface。

6、更改SR short name

7、添加VDP

8、给VDP选择数据类型

注意:余下新建Port、Runable、Event后面描述,因为这些都是一样的,下面记录另一种新建SWC的方式。

2.2、第二种新建方式:显式包抽象组新建SWC

1、新建AR Package,右击Software,选择New ARPackage

2、将arxml放置到对应文件夹,命名arxml即可。

3、新建SWC,右击Package,有个Creat Component 选择Element | Application Sw Component Type,创建SWC。

4、创建Internal Behavior

上述两种需要逐渐添加 ApplicationDataTypes 、CompuMethods、DataConstraints、DataTypeMappingSets、ImplementationDataTypes、ModeDeclarationGroups、PortInterfaces、SwComponentTypes之类的基本元素。

2.3、预留一个arxml,不建立SWC作为模板

2.3.1、搭建母版

模板如下,其实就是一个建立好的SWC

在ISOLAR-AB里面显示如下

当建立一个模板之后先对来说就很好更改了

1、基于此模板更改arxml的Package名,名字看自己需求

2、右键SwComponentTypes选择Create Component  -> Element | Application Sw Component Type,创建SWC。

3、ApplicationSwComponentType_0按住F2可以自己命名

2.3.2、创建Internal Behavior

1、新建一个Internal Behavior

2.3.3、创建Interface

1、右键PortInterfaces,选择 Create Interface -> Create Port Interface -> Element |  xxx Interface 选择自己需要的Interface类型,例如本例子的SRI接口。

产生以下界面

2、重命名一下interface的Package名字,注意一下,命名类的比较看个人意愿,主打一个方便查找与易识别。

3、编辑Interface,如下图右键SenderReceiverInterface_0,选择Open With -> Generic Editor

弹出如下界面,重命名即可

4、创建VDP,右键选择 New Child -> Data Elements | Variable Data Prototype

5、点击 Data Element,出现如下界面

6、选择数据类型

建好之后再抽象组图示下,如下显示。

2.3.4、创建Port

Component界面如下

1、创建一个Pport与一个Rport

Pport如下

Rport

建好之后注意命名,建好之后的图示如下

2.3.5、创建Runable

如下所示,一定要注意命名

分配Data Access Points ,相对来说接口类型的选择看需求。

2.3.6、创建Event

选择需要建立的Event,例如周期任务、初始化任务,看需求,例如例子里面选择周期型的。

弹出如下界面

周期型的任务要添加周期,这个单位是秒

到这里静态设计已经设计完了。

2.4、SWC通信

1、点击Composition

出现以下界面后,添加Component Prototype

2、选择上面创建的SWC

3、选择需要通信的SWC进行Port连接,注意本实验是例子,所以连接自身,连接自身,更改好的选择是CSI的接口,比较省资源。

连接好后出现如下界面

2.5、将SWC分配给ECU

右键System,选择 Open With  -> Ecu To ECU Mapping Editor,将刚才创建的SWC分配到指定的ECU里面。

2.6、抽取ECU

右键System,选择ECUExtract

2.7、软件分区

这一步是在抽取ECU之后,一定要注意,方法:右键EXTR_MCU,选择 Open With  -> Ecu Partition Editor

      将任务放置在需要放置的分区内即可。直接拖动就行

2.8、任务放置

        点击下图红框Entity to Task Mapping,将任务放置到对应周期里面,注意以下,任务的放置是根据上述分区来定的。

2.9、RTE生成

运行RTE,就实现了SWC的创建了。

博主关闭了所有页面的评论