文章目录
前言
在汽车电子系统开发中,Autosar (汽车软件架构)是一种广泛应用的标准,其中Davinci Developer是Vector用于 Autosar开发的工具链之一,用于配置和开发软件组件(SWC) 。主要功能涉及到SWC创建和实例化,S/R Port的创建,C/S Port的创建,Runable的创建,以及比较基础的IDT,ADT数据类型的创建等功能。当然所有Port创建好后,会用到Graphic中的Auto Connect工具进行ASW Port之间的连线。推荐大家理论学习的时候多结合实践,有助于记忆和理解!
关联文章:
Autosar-简介和历史发展
Autosar-软件架构
DaVinci Developer:
DaVinci Configurator:
一、Davinci Developer简介
Davinci Developer是一款功能强大的 Autosar 开发工具,它提供了一个直观的图形界面,用于配置和开发Autosar软件组件。使用Davinci Developer,开发人员可以定义SWC的接口、参数、事件、端口等,并生成相应的Autosar标准配置文件。
当连上license之后(软件很贵,大概几百万,没有的话博主也无能为力了),打开Developer,会显示如下界面:
市面上没有破解版或者试用版,不过有其他工具替代,Autosar理念一致,但工具的使用略有差异!
二、导航栏
如上图导航栏分为5个选项:File、Home、Project、Graphic、Windows(选中导航栏中的选项将会改变工具栏的工具)。
File(主要是用于保存、打开工程等操作)
新建、打开、保存、关闭、退出是对Developer的工程文件进行操作的。
Help可以打开本地的帮助文档进行查阅一些信息,如果在使用过程中有不懂的概念,或者碰到了一些错误信息,可以进行查阅。
Developer的工程文件一般是xxx.dcf。
Options -> Workspace Settings
General中的配置项,Graphic Editors是连线是是否使能图形化编辑和标定的参数在图形化界面中显示。DPA Proiect是在打开Developer时,是否加载Service Components,这个选项一版默认选的。Desin是表示是否使能数据转换的功能。DCF Workspace是对于那些不再使用的Arxml文件是否打开工程的时候从工程中删除。最后一个配置项可以根据需要勾选。
Default Packages是定制打开Developer后,显示在Object Broswer中的Package列表的显示配置项。如下图所示:
Home
Home->Object Broswer
Obiect Broswer主要有上图框出来的两部分,左边是设计ASW,创建IDT,创建S/R Port和C/S Port等区域,右边是显示Port或者IDT在引用关系。 举个例子我们看一个CAN 信号的路由变量:
为便于查看设计的SWC中相匹配的额Port口,可以使用搜索功能:
Home->Software Design
Sofware Design主要功能有SWC进行实例化,对左边列出的每个SWC进行相应的runnable,RTE port (S/R,C/S,ModeSwitch等) 的创建和设置相应的调用关系。点击SWC可进行跳转:
Home->Data Mapping
Data Mapping主要是查看CAN/LIN总线上的信号的mapping关系,下述视图是Signal View Mode,还有另外一种视图模式Port element View Mode
Home->End-To-End Protection
只有COM通信设置了E2E保护才会进行相应的配置。
Home->Data Exchange Analysis
Data Exchange Analysis用来显示SWC之间的Runnable, Port和数据交互的情况。下图举例说明两个SWC之间的数据交互情况:
Home->Data Type Mapping
主要是SWC中的ADT和IDT 数据类型的mapping关系情况,如下图所示
Project(主要用于导入、导出arxml文件)
Project -> ARXML Import
用于导入其他ASW相关的配置的arxml文件。打开如下图所示的界面
Project -> Special Import
导入特定的arxml,Update Diagnostic Configuration是用来导入和诊断相关的配置的arxml更新:
Project->Find Unused Object, Find Duplicate UUIDS, Redirect Legacy Data Types
Find Unused Obiect主要是用来查找未使用的SWC,IDT,ADT, Ports等等
Find Duplicate UUIDS用来查找在项目中重复存在的UUIDs。如下图所示:
Graphic(主要在SWC设计时使用,包含对图形界面下的设计工具)
Graphic里是图形化界面,在没有正确选择Composition Components时,图形化操作的工具栏是全灰的,不能操作的。只有选择Software Design后,单击Composition Components VIU_R,所有图形化工具才是可以操作的。
Window(主要就是对我们的Dev界面外形修改用的,使得界面更加方便我们使用(比如隐藏和显示Action Log这个窗口))
Window是关于界面布局的一个菜单,默认打开Developer是Tabbed Layout布局方式,单击Tabbed Layout后会切到Cascaed布局。Tile Horizontal和Tile Vertical分别是垂直和水平布局风格,可以根据个人喜好进行定制不同的布局方式。Windows是选择Obiect Browser和Software Design两个tab页。当想让布局回到默认状态,可以点最后的图标Reset.
三、Developer基本流程
- 打开developer工程(!!!注意不是新建工程,因为工程一般是在Cfg中新建,由于达芬奇工具Dev和Cfg共享一个工程;因此在Cfg中新建后保存,利用Dev打开这个保存后的**.dpa**工程即可)
- 在Object Browser中设计SWC Types、Data Types等(Types相当于一个类)
- 在Software Design中实例化SWC,并且设计其端口,再连接端口(将设计好的Types拖到Software Design中,就相当于将类实例化)
- 数据映射
- 保存工程再在Cfg中打开并同步
总结
个人对于DaVinci工具链的评价:
优点:1,界面简单 2,功能齐全 3,工具完善,bug较少。
缺点:1,贵,门槛高。 2,代码封装的太过复杂,对代码理解起来较为吃力。