2. DaVinci工具链部署与工程初始化

DaVinci 工具链并不是单一软件,而是由 Configurator、Developer、Generator 以及底层许可与工作空间机制共同组成的一套 AUTOSAR 工程环境。量产项目里,工具链部署是否规范,直接决定后续 ECU 配置能否被正确生成、编译和集成。本节从安装配置、License 管理、工作空间与工程模板创建三个层面展开,目标是让读者能够独立完成一套可用的 DaVinci 工程初始化。

一、工具链组成与安装顺序

Vector 的 DaVinci 产品线中,DaVinci Configurator 负责 ECU 配置,包括 ECUC 参数、BSW 模块、RTE 生成等;DaVinci Developer 负责应用层软件组件(SWC)设计、端口与接口定义、Runnable 与事件配置;DaVinci Generator 则承担代码生成任务,把配置结果转换为可编译的 C 代码、ARXML 与 Makefile 片段。三者共享同一套工程数据模型,因此安装顺序和版本匹配非常关键。

推荐安装顺序为:先安装 DaVinci Configurator,再安装 DaVinci Developer,最后安装 Generator 及对应编译器适配包。原因是 Configurator 会注册基础框架和 ARXML 解析库,Developer 依赖这些库完成 SWC 描述导入;Generator 则依赖前两者生成的中间文件。若顺序颠倒,常见现象是 Developer 启动时报“无法加载 ECU 配置模板”或 Generator 找不到 EcucDefs 路径。

安装时需要注意三个配置项:一是安装路径不要包含中文或空格,建议使用 D:\Vector\DaVinci 这类纯英文短路径;二是勾选与目标编译器匹配的 Generator 插件,例如 Tasking VX、GHS 或 GCC;三是确认 .NET 运行时和 Visual C++ 运行库版本满足安装程序要求。安装完成后,可在命令行执行 DaVinciConfigurator.exe -version 验证主程序是否可调用。

二、License 管理与版本匹配

DaVinci 采用 FlexNet 许可机制,量产项目通常使用网络许可服务器或本地加密狗。安装完成后,需要配置环境变量 VECTOR_LICENSE_FILE,指向许可服务器地址,例如 27000@lic-server,或指向本地 .lic 文件路径。配置完成后,在 Configurator 的 Help → License Information 中应能看到已授权的模块列表。

License 管理中最容易出问题的是版本匹配。DaVinci 的许可通常按主版本授权,例如 4.4、5.0、6.0 等。如果安装的是 6.0 版本,但许可只覆盖 5.x,启动时会提示“License does not match product version”。此时不能通过修改版本号绕过,而应安装与许可匹配的版本,或向 Vector 申请升级许可。另一个常见问题是网络许可超时,表现为工具运行一段时间后突然退出,解决方法是检查防火墙是否放行 lmgrd 端口,并在客户端设置 VECTOR_LICENSE_TIMEOUT 为合理值。

建议在工程初始化前先单独验证 License:打开 Configurator,新建一个空工程,若能正常进入配置界面且模块树可展开,说明许可与安装均正常。不要等到导入量产 ARXML 时才发现许可问题。

三、工作空间与工程模板创建

DaVinci 的工作空间(Workspace)用于保存用户偏好、最近工程列表、生成器路径和日志配置。首次启动时,工具会要求选择工作空间目录,建议为每个项目单独建立工作空间,例如 D:\Workspace\ECU_ProjectA,避免不同项目的生成器路径和缓存互相污染。

工程模板创建有两种方式:一是使用 File → New → DaVinci Project,选择目标 ECU 模板,例如 TC3xx、S32K3 或 RH850;二是导入已有的 .dpa 工程文件或 .arxml 配置集。对于量产项目,更推荐第二种方式,因为模板工程通常已经包含芯片派生、MCAL 配置和基础 BSW 模块。

创建工程时需要填写几个关键参数:工程名称、目标芯片型号、AUTOSAR 版本(如 4.2.2 或 4.4.0)、编译器类型、生成代码输出目录。这些参数一旦确定,后续修改成本较高,尤其是 AUTOSAR 版本,会直接影响 ARXML 命名空间和 API 签名。建议在工程初始化阶段就与项目架构师确认清楚。

DaVinci 工具链部署与工程初始化关系图 安装顺序 · 许可校验 · 工作空间 · 工程模板 License 层 FlexNet 许可服务器 / 本地加密狗 · VECTOR_LICENSE_FILE · 版本必须与安装主版本一致 校验点:Help → License Information 中模块授权列表可见 DaVinci Configurator ECU 配置 · ECUC 参数 BSW 模块 · RTE 生成 安装顺序:第 1 位 DaVinci Developer SWC 设计 · 端口接口 Runnable · 事件配置 安装顺序:第 2 位 DaVinci Generator C 代码 · ARXML 输出 Makefile 片段 · 编译器适配 安装顺序:第 3 位 工作空间(Workspace) 每个项目独立目录 · 保存偏好 / 最近工程 / 生成器路径 / 日志 示例:D:\Workspace\ECU_ProjectA 工程模板创建 方式一:新建工程 File → New → DaVinci Project 选择 ECU 模板 TC3xx / S32K3 / RH850 方式二:导入工程 导入 .dpa / .arxml 量产项目推荐 含 MCAL 与基础 BSW 关键参数确认 芯片型号 · AUTOSAR 版本 编译器类型 · 输出目录 初始化阶段锁定 安装路径避免中文与空格 · 先验证 License 再导入量产 ARXML

四、工程初始化后的验证

工程创建完成后,不要急于导入全部量产配置。建议按以下顺序做一次最小闭环验证:第一步,在 Configurator 中打开工程,确认模块树能正常展开,EcuC、Os、Com 等基础模块可见;第二步,在 Developer 中新建一个空 SWC,添加一个 SenderReceiver 端口,保存后确认无报错;第三步,在 Generator 中执行一次代码生成,观察输出目录是否产生 *.c、*.h 和 *.arxml 文件;第四步,用目标编译器编译生成代码,确认无缺失头文件或符号冲突。

如果第三步生成失败,优先检查三个位置:Generator 的编译器路径是否指向实际安装目录;工程属性中的 AUTOSAR 版本是否与导入的 ARXML 命名空间一致;工作空间日志目录下最新的 .log 文件是否记录了缺失的 EcucDefs 路径。量产项目中,很多“生成失败”并不是配置错误,而是工具链路径或许可问题,因此初始化阶段的验证必须做扎实。

不要在同一工作空间中混用不同 DaVinci 主版本的工程。不同版本的工程元数据格式可能不兼容,混用会导致工程打开后模块树丢失或参数被重置。建议按项目或按工具版本划分工作空间。

五、可复用的初始化检查清单

为便于项目落地,下面给出一份可直接使用的初始化检查清单。字段和判断依据均围绕 DaVinci 工具链本身,不引入无关管理项。

检查项 预期结果 不通过时的处理
安装路径 纯英文、无空格,如 D:\Vector\DaVinci 卸载后重新安装到合规路径
安装顺序 Configurator → Developer → Generator 按顺序重装,避免库注册缺失
License 校验 Help → License Information 中模块授权可见 检查 VECTOR_LICENSE_FILE 与版本匹配
工作空间 每项目独立目录,路径无中文 新建工作空间并迁移工程
工程模板 芯片型号、AUTOSAR 版本、编译器类型已确认 与架构师确认后重建工程
最小生成验证 Generator 输出 .c/.h/.arxml 且可编译 检查编译器路径、EcucDefs、日志