Autosar(Davinci) --- 创建一个SWC

目录

前言

一、什么是SWC

二、如何创建一个SWC

三、打开DaVinci Developer 

3.1 打开工程

3.2 创建一个【CtLedTask】Component

3.3 将【CtLedTask】实例化

3.4 回到【Davinci Configurator】

3.5 生成【CtLedTask.c】文件

四、查看生成的SWC


前言

        这里,我们学习一下如何创建一个SWC。

一、什么是SWC

        SWC比较容易理解的就是,你可以把他当做一个【.c】来看。事实上,当我们创建一个SWC,然后生成代码的时候,也会对应的出现一个相同名字的【.c】文件。

        根据Davinci的分类,SWC分为2类:Composition,Atomic

        其中Atomic又细分为以下几种类型:

类型描述
Application一般只包含应用程序的SWC
SensorActuator专门处理和sensor/actuator相关的SWC
SensorActuator此SWC用于将(其所在的ECU)的Calibration参数共享给外部设备
Complex Driver用于开发CDD(Complex Device  Driver)
Non-volatile Memory Block这种SWC是用于访问NVRAM或Memory的
I/O Hardware Abstraction这类SWC通过直接与特定的 BSW 模块交互来提供对 I/O 的访问

二、如何创建一个SWC

        首先我们打开Autosar的Demo工程,找到【S32K144_Start.dpa】,然后双击打开。

在【Davinci Configurator】工具中打开界面如下:

三、打开DaVinci Developer 

3.1 打开工程

3.1.1 点击【File】,选择【Open Workspace】

然后选择我们的工程文件【S32K144_Start.dpa】

打开之后界面如下:

3.2 创建一个【CtLedTask】Component

3.2.1 右键【Application Component Types】,选择【New Application Component Type...】

输入一个的名字,这个名字就是后面生成的C文件名字,然后选择【Atomic】类型, 然后点击确认

在这里就会出现一个名为【CtLedTask】的Component

3.3 将【CtLedTask】实例化

点击【CtLedTask】, 然后键盘按【Ctrl + C】进行复制

双击【ECU_Composition】,进入【Software Design】

打开如下:

然后在在中间【Ctrl + V】,进行粘贴。 就是将这个【CtLedTask】进行实例化,只有实例化了之后才能生成【.c】文件

点击保存,然后点击【Check Workspace】, 下面没有报错就行。

3.4 回到【Davinci Configurator】

会自动弹出下面的框框,点击同步就行

然后点击【Task Mapping】,就会发现右边多了一个【CtLedTask】。

但是这个不是task, 这个只是个SWC,可以理解为是一个C文件,目前我们没有在里面创建【runnable】,所以暂时不需要mapping。

3.5 生成【CtLedTask.c】文件

点击【Generate Software Component...】图标。

就会出现下面这个画面, 就是在生成SWC

然后点击【OK】,进行一个保存的动作。

四、查看生成的SWC

打开工程路径,我们发现多了一个【CtLedTask】文件夹, 并且下面生成了【CtLedTask.c】文件, 这时SWC我们就生成好了。

开打【CtLedTask.c】,你会发现里面空空如也,这个C文件的结构,注释,不等修改!!!

下一章我们将继续讲解,如何创建【runnable】,也就是我们所说的函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

常学常思

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值