APPL层主要干什么?
1、设计应用软件组件SWC
2、各个SWC之间进行沟通,需要接口Port和连接器Connector
3、每个SWC里面的运行实体Runnable
Davinci DEV用来干什么?
1、打开工程(注意这里不是新建工程,因为工程一般是在Cfg中新建,由于Cfg和Dev是共享一个工程;因此在Cfg中新建后保存,利用Dev打开这个保存后的.dpa工程就行了。)
2、在Object Browser中设计SWC Types、Data Types等Types ( Types相当于一个类)
3、在Software Design中实例化SWC,并且设计其端口,再连接端口(上面说了Types是一个类,而将设计好的Types拖到Software Design中,就相当于将类实例化;Types就像是定义好的一个struct模板,而实例化就是利用struct模板生成的一个具体结构体;还不是很明白的话,就想成—个int类型,用int类型实例化了一个变量i)
4、数据映射
5、保存工程再在Cfg中打开并同步
实战!
以下实战都是根据大佬 雪云飞星 做的,专栏写的超级厉害!希望大家多多支持!
AutoSAR系列讲解(实践篇)7.4-实验:配置SWC&RTE(上)autosar swc与rte的模块详细设计书雪云飞星的博客-CSDN博客
在Davinci Cfg新建工程
名字与工程所在路径
工程文件目录,所以说Davinci Cfg是一个工程的开始!
选择MCU和编译器,好像我这个选不了tasking,然后我就选了Arm
不用怎么改,直接完成就好:
然后你会发现界面上一片空,啥都没有……
不慌,新建完成保存下来就好,接下来就要去Davinci DEV来配置SWC了
在Davinci DEV打开工程
创建各种类型的定义
创建 SWC types
这一步一共创建了4个SWC types:
CtCoApplication是一个组合SWC,用来集合其它的SWC;
CtApMySwc是一个控制类型的SWC,用来进行信息的接收,和下发指令;
CtSaDoor,CtSaInteriorLight这两个就是传感器与控制SWC了
创建 ADT types
创建Interface接口
通过Interface创建SWC上的Port实体
大致流程如下:
- 双击SWC,进入图形编辑界面
- 添加Port端口
- 添加常量
- 双击端口,修改属性
SWC的连接
这个时候就要用到那个组合的SWC了,注意这个版本好像没办法拖进去,右键一个一个添加。
创建IDT
创建数据映射模板
主要作用是将ADT和IDT映射上,之前说过了ADT是概念上的,而IDT才是代码中的。我们在图形界面中一般使用ADT,但是ADT如何生成代码,就需要和IDT映射才行,下图就是映射的界面。但是这里设置的是一个映射的模板,后面还需要将这个模板应用到SWC上,才能算映射成功。
使用数据映射
分别在前面建立的那几个独立的SWC types中,都使用这个数据映射
在ECU中添加配置好的SWC
点击这个
然后添加咱们前面那个组合好的SWC组合
然后检查
没错,证明映射成功!!!配置成功!!!