Autosar DaVinci Developer的一些基本功能
前言
本章主要写一下Davinci Developer里面的一些基本功能
1.应用软件组件的创建
1.1应用软件组件介绍
应用软件组件可以理解为一个小的模块功能划分,例如一个电池电压检测模块、按键检测模块等。 在新建应用软件组件时,包括下图所示界面,从界面上看,应用软件组件包括: 1、集合级的SWC(Composition SWC) 2、原子级的SWC(Atomic SWC) 集合级的SWC可以理解为多个原子级的SWC的集合,而原子级的SWC的类型又分为以下几种: 1.Application(应用类型) 2.SensorActuator(传感器驱动) 3.Calibration(计算驱动) 4.NVM Block(存储块) 5.I/O HW Abstraction(I/O硬件抽象应用层) 6.CDD (复杂驱动应用层) 7.Service Proxy(服务协议应用)
1.2创建SWC实例
如下图所示,我们先建立下面的几个SWC,来实现通过检测按键来控制LED的显示。那么就需要这两个SWC进行一个数据的通信,将按键信息传递给LED应用组件,下面我们建立一个端口来实现这两个模块之间的通信。
2.端口的创建
2.1 端口介绍
端口创建之前需要熟悉一下Data Type,具体参考 接着上一章的介绍,端口分为以下几种 除了以上常用的,还有以下端口: Calibration Ports(校准端口):用来校准数据参数等 Mode Ports(模式端口):例如在某些特定的模式下触发或不触发Runnables 端口是作为数据通信的一个通道,不管是SWC与SWC之间的通信,还是SWC内部的通信都需要端口来实现。
2.2 创建端口实例
下面开始建立两个端口:
- Adc按键信息,包括按键键值,按键状态。
- Led显示信息,包括显示状态,闪烁时间。 创建流程如下图所示:
2.3 端口的使用实例
根据上一步的操作,我们创建了2个S/R类型的端口,我们要在SWC里面关联起来,以便使用。
- 具体流程如下图所示:
- 设置端口初始值:
- 我们将三个ApSwc分别添加相应的端口如下图所示:
3.可运行时(Runnables )的创建
3.1 Runnables介绍
Runnable就是SWC中的函数,而在AutoSAR架构在被DaVinci软件生成的时候,Runnable是空函数, 需要手动添加代码来实现其实际的功能。 Runnable可以被触发,比如被定时器触发、被操作调用触发或者被接受数据触发等。 补充一点:Runnable是需要OS中的Task做载体的,需要被别的逻辑调用能使用。
3.2 Runnables的创建实例
如下图是我们创建Runnables的基本流程:
- 创建runnables,我们创建一个10ms周期运行的函数。
- 添加端口数据的使用,在10ms周期运行里的函数添加相应的端口数据,这样我们就可以在函数里面使用这个数据做一些逻辑判断处理,如下图所示:
4 模版及头文件的生成
经过上述步骤,我们已经对应用的SWC创建处理完毕,接下来我们可以生成相应的模版及头文件,如下图所示:
结束语
至此,我们大体讲述了一个基本SWC的创建,包括数据类型的创建,端口的创建使用,可运行时的创建等等,下一章我们将这些创建好的SWC串起来形成一个完全的功能体。