How to Add New SWC Component in Davinci Developer

1、 Create a New Component Type in Davinci Developer
以CDD_SecurityTaskHandler举例,创建ComponentTypes, application ComponentTypes与service ComponentTypes创建过程类似;
在这里插入图片描述

1.1 在Object Browser窗口中Application Component Types栏,右键创建New Application Component Type…
添加成功后双击对应component,进入对应component-Software Design

1.2 创建需要的Runnable Entity,runnable通常包含init 和mainfunction等函数
1.2.1 Properties写入对应函数的名称
在这里插入图片描述

1.2.2 Triggers创建对应需要的触发点,例如,CDD_SecurityTaskHandler_Main是周期性触发调度,则需要创建trigger类型为periodic,
在这里插入图片描述

例如,SetSecAccKey函数是需要被其他事件调用的runnable,则需要创建triggerl类型为On Operation Invoke ,参考1.2.3

1.2.3 Access Points负责配置runnable的调用时机,通常有明确调度周期的函数不需要配置此项(比如初始化或者周期函数),有单独access需求的需要自行添加

以setSecAccKey runnable为例,根据general requirements,setSecAccKey会被其他模块(例如diagservice)或者keyMangement相关函数调用,需要创建access类型为invoke Operations,这里开始需要先引入Application Port Interfaces配置,参考1.3
在这里插入图片描述

1.3 Application Port Interfaces
以setSecAccKey runnable为例,对于setSecAccKey,invoke Operations 的trigger通用接口名称沿用If_CS_SetSAKey,在Object Browser窗口Application Port Interfaces栏右键,选择New C/S Port Interface,

1.3.1 Properties写入对应函数的名称,同时遵循AUTOSAR配置返回值

1.3.2 Operation Prototypes负责配置函数实体内容,包含形参、形参类型以及函数返回状态
在这里插入图片描述

其中,datatype除通用类型外,允许自定义创建Implementation Data Type,例如创建基础类型为uint8的key数组类型SecAccKey
在这里插入图片描述
在这里插入图片描述

1.4 C/S port interface创建完成后,为runnable引入接口
回到design窗口,在port prototype list中new时选择from port,引入1.3创建完成的port interface
在这里插入图片描述

回到runnable entity list,为setSecAcckey函数添加invoke trigger,此时是可以选择到port interface,也就是If_CS_SetSAKey

在这里插入图片描述

Output:获得Config\Developer\ComponentTypes\CDD_SecurityTaskHandler.arxml;可以开始步骤二。

2、Creat a New Application Component in Davinci Configurator
eg.CDD_SecurityTaskHandler,或者命名为SWC_…

2.1 展开左侧Runtime System窗口,找到ECU Software Component,在Application Components 右键点击Add;
在弹出的creadtion窗口Name中找到步骤1中添加的ComponentType,Next;
在这里插入图片描述

2.2 配置RTE Module,RteSwComponentInstance,找到自动带出的component,eg.CDD_SecurityTaskHandler_EcuSwComposition
在这里插入图片描述

2.3 配置RteEventToTaskMapping,执行周期Task Ref以及position in Task
事件调用类不需要配置Task Ref.
在这里插入图片描述

2.4 RTE Module,RteSwComponentTypes,新增对应container
在这里插入图片描述

Done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值