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 创建端口实例

下面开始建立两个端口:

  1. Adc按键信息,包括按键键值,按键状态。
  2. Led显示信息,包括显示状态,闪烁时间。 创建流程如下图所示:

2.3 端口的使用实例

根据上一步的操作,我们创建了2个S/R类型的端口,我们要在SWC里面关联起来,以便使用。

  1. 具体流程如下图所示:
  2. 设置端口初始值:
  3. 我们将三个ApSwc分别添加相应的端口如下图所示:

3.可运行时(Runnables )的创建

3.1 Runnables介绍

Runnable就是SWC中的函数,而在AutoSAR架构在被DaVinci软件生成的时候,Runnable是空函数,
需要手动添加代码来实现其实际的功能。
	Runnable可以被触发,比如被定时器触发、被操作调用触发或者被接受数据触发等。
	补充一点:Runnable是需要OS中的Task做载体的,需要被别的逻辑调用能使用。

3.2 Runnables的创建实例

如下图是我们创建Runnables的基本流程:

  1. 创建runnables,我们创建一个10ms周期运行的函数。
  2. 添加端口数据的使用,在10ms周期运行里的函数添加相应的端口数据,这样我们就可以在函数里面使用这个数据做一些逻辑判断处理,如下图所示:

4 模版及头文件的生成

经过上述步骤,我们已经对应用的SWC创建处理完毕,接下来我们可以生成相应的模版及头文件,如下图所示:

结束语

至此,我们大体讲述了一个基本SWC的创建,包括数据类型的创建,端口的创建使用,可运行时的创建等等,下一章我们将这些创建好的SWC串起来形成一个完全的功能体。

经验分享 程序员 微信小程序 职场和发展