看完《AUTOSAR初学者最想搞懂的东西》是不是还是不知道怎么动手开搞AUTOSAR,刚打开DaVinci工具依然很陌生,不知道点哪里?
其实,这跟学其他软件工具使用一样,你不知道其里面有什么功能,所以不知道做什么。

如果你已经入门了,以下内容对你来说可能小菜一碟,但是对初学者而言,前面是模糊的,不知道走哪条路比较好,又不敢向前踏出一步。

我希望我做的是一个引导图,能够引领初学者少走弯路。

本文就开始讲解DaVinci工具如何使用。

1.概念和用途

在使用之前,首先要搞清楚,Developer是干什么用的。

很多人认为它是用来做SWC配置的,其实不然,应该说是做SWC设计的。

配置和设计有什么区别,如果你对A-Spice有一定了解,设计是Coding之前的工作。但是做AUTOSAR开发的小伙伴,很多人都不care这些,拿来就写代码,就配置参数。

认真想一想,Developer里面对SWC的设计或者配置,其实跟软件架构设计过程中的Component设计很像,或者说本来就是一回事。SWC中的C就是Component的意思。

做SWC的设计,就要设计Component,就要设计Interface或者说各种各样的Ports,然后参数等等。这些统统都可以在Developer工具上进行。

例如,之前我的博文《AUTOSAR Port配置教程》里面的

就是软件架构上的组件和接口图。

所以说,Developer是用来做设计的,也就是说要想好这个软件要做些什么功能,要设计多少个SWC,具体的接口是怎样的,同步还是异步的调用方式等等。然后在动手在上面操作,整体而言,会节省很多时间。

当然,对于初学者,把它当做配置工具使用也没有问题的,毕竟了解概念、摸清其操作、先把工具用起来会显得更迫切、更重要。

2. 工具概览

在使用之前,看看这个工具有什么。了解整体的视图和功能在学一个软件是很重要的。

就这个视图而言,菜单栏和对象浏览窗口用的最多,特别是对象浏览窗口还藏着很多很多功能。

3. 菜单栏

跟其他软件一样,菜单栏很简单,没必要做太多的解释,点进去看就行了。

4. 对象类型

重点讲解Developer里面的对象(Object),我们平时在Developer做AUTOSAR开发大多数情况下操作的就是Object。

而这个Developer的Object类型是很多的。就是这个图里面这些:

我用脑图做了个全面的分类总结:

以上这些都算是AUTOSAR的概念,不是这个DaVinciDeveloper独有的,例如SWC的类型。各个是干什么用的呢?我在《AUTOSAR SWC详解》里面讲解很清楚了。

SWC

描述/用途

Parameter  SWC/Calibration

此SWC用于将(其所在的ECU)的Calibration参数共享给外部设备。与Application SWC或SensorActuator SWC不同,这些SWC没有任何内部行为。

Composition SWC

这个SWC是在系统配置期间单一ECU里面的SWC的集合。这种SWC有助于抽象和标准化AUTOSAR目标的软件开发。

Atomic SWC

这个是相对Composition SWC而言的,是单个不再拆解的SWC,也算是个抽象的概念。

Application SWC

一般只包含应用程序的SWC

SensorActuator SWC

专门处理和sensor/actuator相关的SWC

Nvblock SWC

这种SWC是用于访问NVRAM或Memory的

Complex Device Driver  SWC

用于开发CDD(Complex Device  Driver)或者AUTOSAR标准不支持或未定义的一些组件

ECU Abstraction SWC

这类SWC通过直接与特定的 BSW 模块交互来提供对 I/O 的访问。严格来说其他 SWC 不能用于访问 I/O,只能使用这个。

Service SWC

这类SWC为BSW模块提供AUTOSAR指定的服务。

Service Proxy SWC

这种SWC充当代理,为一个或多个remote ECU提供内部服务。它的主要用途是在整个系统中分发车辆的模式信息。可以简单理解为跨ECU用的。

还有DataType,这个我也在《AUTOSAR Port配置教程》和《AUTOSAR Port原理概念详解》讲到过,还举了王二狗和李翠花的例子来解释。这里就不再重复了,对于DataType的创建和使用,还有高级用法,后续再做个专门的文章来讲解。

5. Software Design

这个很重要,也是实操最多的。

Software Design可以做什么?我做了个列表:

1

定义和配置 Component Types

2

定义和配置 the Sub-Structure  of a Composition Type

3

定义和配置 the Software  Structure of an ECU Project

4

定义和配置 Runnable Entities

5

定义和配置 Exclusive Areas

6

定义和配置 Inter-Runnable  Variables

7

定义和配置 Calibration  Parameters

8

定义和配置 Service Needs

9

定义和配置 Per-Instance Memory

10

定义和配置 NV Block  Components

11

定义和配置 Port Groups

12

定义和配置 Port Prototypes

13

定义和配置 Application Data  Types

14

定义和配置 Implementation  Data Types

15

定义和配置 Base Types

16

定义和配置 Units

17

定义和配置 Compu Methods

18

定义和配置 Compu Method for a  Bitfield

19

定义和配置 Data Constraints

20

定义和配置 Constants

21

定义和配置 Mode Declaration  Groups

22

定义和配置 Port Interfaces

23

定义和配置 Type Mapping Sets

24

定义和配置 Blueprint Mapping  Sets

25

定义和配置 Port Prototype  Blueprints

26

定义和配置 Addressing Methods

也许你还不是很了解上面的东西到底干嘛的,其实没关系,因为这里面涉及到很多AUTOSAR的概念,需要一步步去慢慢掌握。
对于初学者可以直接试试,从菜单栏点击“Software Design”,看到的界面是这样的

可以在空白处右键选择创建SWC,当然也可以在Object browser界面创建。

接着就可以在SWC上面创建Port和Interface等等了。

如果我不接着讲解下去,悟性高的同学也许可以摸索一番就可以找到方法了,但是如果你还是很懵,建议点击《AUTOSAR SWC详解》查看,里面的配置过程描述很详细了。你照着做一遍就会理解这个过程了,里面的概念我也有详细的讲解。最后,生成代码对照一下,你就会恍然大悟了。

6. Data Mapping

这一项功能,做总线开发的同学用的最多。

总线如CAN数据库一般都是客户提供的,里面包含了很多message和signal,这些内容是需要创建接口和它对应的。

如果通过手动添加是需要非常大的工作量的,这里可以批量处理。

点击这个“Data Mapping”菜单功能,可以看到一个波浪线和一串二进制码的图标,名称分别是:Signal View Mode和Port Element View Mode

Signal View Mode

Signal View Mode显示所有网络信号,包括以下信息:转换、消息、网络方向、端口、数据元素/操作和预定义变体。在Signal View Mode下选择网络信号后,快捷菜单中有以下命令:

Port Element View Mode

Port Element View Mode显示所有数据元素,包括以下信息:端口、方向、网络、消息、网络信号和预定义变量。在Port Element View Mode下选择数据元素后,快捷菜单中有和Signal View Mode一样的命令:

Select Data Element...

Unmap Data Element

Create Port Prototypes...

More Info...

Adapt Data Element to match Signal

Propagate Alive Timeout from Signal to  Data Element

Show in Software Design

Data Element Properties

Signal Properties...

Automap Data Elements...

Report to Clipboard

Properties

7. 其他

其他方面的如DataType的详细讲解、NVM的配置等等,我会在单独的文章做详细的讲解和配置过程描述。对于初学者,搞懂SWC的设计和Port/Interface以及DataType的配置是首要任务,然后在此基础上再去看其他的配置就可以举一反三了。

对于本文提到的一些概念和详细配置步骤,可详见:

本文提供PDF版下载,关注同名公众号,在公众号后台回复“asr-0827”即可获得下载链接。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐