看完《AUTOSAR初学者最想搞懂的东西》是不是还是不知道怎么动手开搞AUTOSAR,刚打开DaVinci工具依然很陌生,不知道点哪里?
其实,这跟学其他软件工具使用一样,你不知道其里面有什么功能,所以不知道做什么。
如果你已经入门了,以下内容对你来说可能小菜一碟,但是对初学者而言,前面是模糊的,不知道走哪条路比较好,又不敢向前踏出一步。
我希望我做的是一个引导图,能够引领初学者少走弯路。
本文就开始讲解DaVinci工具如何使用。
在使用之前,首先要搞清楚,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详解》里面讲解很清楚了。
还有DataType,这个我也在《AUTOSAR Port配置教程》和《AUTOSAR Port原理概念详解》讲到过,还举了王二狗和李翠花的例子来解释。这里就不再重复了,对于DataType的创建和使用,还有高级用法,后续再做个专门的文章来讲解。
5. 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 |
接着就可以在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的配置是首要任务,然后在此基础上再去看其他的配置就可以举一反三了。
对于本文提到的一些概念和详细配置步骤,可详见:
AUTOSAR Runnable详解和配置步骤
AUTOSAR Port配置教程
AUTOSAR Port原理概念详解
AUTOSAR SWC详解
本文提供PDF版下载,请在公众号后台回复“asr-0827”即可获得下载链接。
如果你对我的《AUTOSAR实战教程》感兴趣,可以关注公众号“嵌入式软件实战派”,然后在对话框回复“AUTOSAR”,可获得教程的目录。
这个教程目录会定期更新,现在订阅号的规则改了,不会更新你以前获得的目录文章,需要你定期回复“AUTOSAR”获得最新的版本。