SWC步骤

2023-12-20 18:30
文章标签 步骤 swc

本文主要是介绍SWC步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

纲要:

SWC属于AUTOSAR的Component文件夹下,而Composition属于Composition文件夹下。

目录

1. Import "Data Type" and "Interface" information

2. Creat Software Component(SWC)

3. Create "Port" for this SWC

4. Add "Internal Behavior" for this SWC


1. Import "Data Type" and "Interface" information

Copy the "01_TypesAndInterface.arxml" file into the project, which contains

  • Interface
    • Data Element
  • Application data type
  • Implementation Data Type

which will be used in the "SWC creation". [0][0.1]

2. Creat Software Component(SWC)

Right click on the project, create "Component - Element/Sensor Actuator Sw Component Type". Then name the SWC, which will create "02_WiperControl_100us.arxml" file to save the SWC information.

3. Create "Port" for this SWC

Right click on the "02_WiperControl_100us.arxml" file and Open with “Component Editor", there will be option to create Pport/Rport. And also which Interface to be added under the port.[0.2](Interface is defined under 01_TypesAndInterface.arxml

4. Add "Internal Behavior" for this SWC

  • Runnable Entity(RE) [1]
    • DataAccessPoint: DataReadAccess/DataWriteAccess [2][2.1]        
    • Timing Event[3]
  • DataTypeMappingSet[4][5]

注:

[0] 说明新建SWC port的前提是要提前定义好Interface库,port只能从现有的库里面去绑定Interface

Interface定义在01_TypesAndInterface.arxml的PortInterface Package下面

[0]: 每次在新建SWC之前,都应该去看看有哪些Interface可用,这是新建SWC的基础和前提条件。因为SWC的port只能与现有的Interface相连,而Interface下面的Data Element则代表着SWC可用的variable

[0.1]: Application data type 和 Implementation Data Type 存在“01_TypesAndInterface.arxml”文件,但AUTOSAR platform types存在"ISOLAR_PlatformTypes.arxml"文件里面

[0.2]: 用户去决定是Pport还是Rport,因为Interface是不分方向的

[1] 每个SWC下面可以有多个runnables

[2] 是Read还是Write基于之前给该SWC新建的Ports来确定,软件会自动识别这步分配的是Pport还是Rport,从而确定是Read还是Write AccessPoint

[2.1] DataAccessPoint是在Function/Runnable下面的一个子tab,说白了就是一个SWC可以有多个runnable,在DataAccessPoint这个tab来规定各个port到底分配到哪个runnable

[3] 新建TimingEvent后软件会问和哪个runnable绑定,即TimingEvent可以看作是runnable的子tab

[4] DataTypeMappingSet is under "Internal Behavior', 所以说是基于SWC去绑定一个个相互独立的DataTypeMappingSet

[5] 之前在“01_TypesAndInterface.arxml” 文件里面只会去创建Application data type和Implementation data type(并声明IDT和哪种AUTOSAR base type相连)(Data Element在Interface下面和ADT相连),在这里(02_WiperControl_100us.arxml)才会将 Application data type和Implementation data type连接起来(可附加ComputeMethoud)

02_WiperControl_100us.arxml

[6] 但在实际生成的代码中,SWC变量/DataElement 用的是Implementation data type

WiperControl_2ms.c

[7] 之所以搞ADT出来,是为了Interface的复用,因为IDT是和AUTOSAR Platform Type绑定的,而AUTOSAR Platform Type与硬件有关(Int是16还是32-bit), 而在创建Interface的时候如果直接用IDT换了硬件就没法复用了,所以选用ADT和Data Element绑定,然后再在SWC的Internal Behavior里面用DataTypeMapping将ADT和IDT对应起来

1. RTE.c 里面的function name 是由 Internal behavior/Function这儿的命名一样吗?

这篇关于SWC步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/517034

相关文章

SpringBoot实现二维码生成的详细步骤与完整代码

《SpringBoot实现二维码生成的详细步骤与完整代码》如今,二维码的应用场景非常广泛,从支付到信息分享,二维码都扮演着重要角色,SpringBoot是一个非常流行的Java基于Spring框架的微... 目录一、环境搭建二、创建 Spring Boot 项目三、引入二维码生成依赖四、编写二维码生成代码五

IDEA之MyBatisX使用的图文步骤

《IDEA之MyBatisX使用的图文步骤》本文主要介绍了IDEA之MyBatisX使用,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 目录一、idea插件安装二、IDEA配置数据库连接(以mysql为例)三、生产基础代码一、idea插

Docker安装MySQL镜像的详细步骤(适合新手小白)

《Docker安装MySQL镜像的详细步骤(适合新手小白)》本文详细介绍了如何在Ubuntu环境下使用Docker安装MySQL5.7版本,包括从官网拉取镜像、配置MySQL容器、设置权限及内网部署,... 目录前言安装1.访问docker镜像仓库官网2.找到对应的版本,复制右侧的命令即可3.查看镜像4.启

debian12安装docker的实现步骤

《debian12安装docker的实现步骤》本文主要介绍了debian12安装docker的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录步骤 1:更新你的系统步骤 2:安装依赖项步骤 3:添加 docker 的官方 GPG 密钥步骤

Gradle在国内配置镜像加速的实现步骤

《Gradle在国内配置镜像加速的实现步骤》在国内使用Gradle构建项目时,最大的痛点就是依赖下载贼慢,甚至卡死,下面教你如何配置国内镜像加速Gradle下载依赖,主要是通过改写repositori... 目录引言一、修改 build.gradle 或 settings.gradle 的 reposito

Java版本不兼容问题详细解决方案步骤

《Java版本不兼容问题详细解决方案步骤》:本文主要介绍Java版本不兼容问题解决的相关资料,详细分析了问题原因,并提供了解决方案,包括统一JDK版本、修改项目配置和清理旧版本残留等步骤,需要的朋... 目录错误原因分析解决方案步骤第一步:统一 JDK 版本第二步:修改项目配置第三步:清理旧版本残留兼容性对

idea报错java: 非法字符: ‘\ufeff‘的解决步骤以及说明

《idea报错java:非法字符:‘ufeff‘的解决步骤以及说明》:本文主要介绍idea报错java:非法字符:ufeff的解决步骤以及说明,文章详细解释了为什么在Java中会出现uf... 目录BOM是什么?1. BOM的作用2. 为什么会出现 \ufeff 错误?3. 如何解决 \ufeff 问题?最

使用Python和PaddleOCR实现图文识别的代码和步骤

《使用Python和PaddleOCR实现图文识别的代码和步骤》在当今数字化时代,图文识别技术的应用越来越广泛,如文档数字化、信息提取等,PaddleOCR是百度开源的一款强大的OCR工具包,它集成了... 目录一、引言二、环境准备2.1 安装 python2.2 安装 PaddlePaddle2.3 安装

Flutter实现文字镂空效果的详细步骤

《Flutter实现文字镂空效果的详细步骤》:本文主要介绍如何使用Flutter实现文字镂空效果,包括创建基础应用结构、实现自定义绘制器、构建UI界面以及实现颜色选择按钮等步骤,并详细解析了混合模... 目录引言实现原理开始实现步骤1:创建基础应用结构步骤2:创建主屏幕步骤3:实现自定义绘制器步骤4:构建U

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖