3. 开发环境搭建:Vector DaVinci Developer/CFG、EB tresos Studio 等工具链安装与配置
说实话,很多初学者一上来就急着写代码,结果卡在环境搭建这一步好几天。我见过太多人,工具装了一半就跑去问“为什么编译不过”——其实根本不是代码的问题,是工具链没配好。
这一章,我们就来把 Vector 和 EB 这两大主流工具链的安装、配置、工程模板创建,一次性讲清楚。我会把我在项目里踩过的坑、总结的经验,都揉进去。
3.1 工具链概览:你需要装哪些东西?
先看一张总图,帮你建立整体认知:
从上图你能看到,整个工具链分三层:配置工具层、代码生成层、编译调试层。我们这一章主要搞定第一层。
3.2 Vector DaVinci Developer 安装与配置
DaVinci Developer 是干什么的?说白了,它就是用来画软件组件(SWC)的。你定义好接口、端口、运行实体,它帮你生成 RTE 代码。
3.2.1 安装步骤
- 获取安装包:从 Vector 官网或公司内部服务器下载。注意版本,我建议用 4.3 以上版本,对 AUTOSAR 4.2/4.4 支持更好。
- 运行安装程序:以管理员身份运行。安装路径不要有中文,不要有空格。我个人习惯装在
C:\Vector\DaVinciDeveloper\。 - 选择组件:勾选“DaVinci Developer”主程序,以及“DaVinci Developer Add-ons”里的“ARXML Import/Export”。
- License 配置:Vector 工具使用浮动 License。你需要配置
VECTOR_LICENSE_FILE环境变量,指向 License 服务器地址。
3.2.2 配置要点
安装完成后,先别急着建工程。有几个配置项需要你手动调一下:
| 配置项 | 推荐值 | 说明 |
|---|---|---|
| Workspace 路径 | C:\AUTOSAR_Workspace |
不要用默认的“文档”目录,路径太长容易出问题 |
| ARXML 版本 | AUTOSAR 4.2.2 或 4.4.0 | 根据项目需求选,我一般用 4.4.0 |
| 代码生成模板 | RTE_ |
Vector 会提供对应 MCU 的模板文件 |
| 语言 | C | 虽然支持 C++,但 AUTOSAR 主流还是 C |
3.3 DaVinci CFG 安装与配置
DaVinci CFG 是系统配置工具。它负责定义 ECU 的硬件抽象、通信矩阵、网络拓扑。你可以把它理解为“ECU 的总体规划师”。
3.3.1 安装步骤
安装流程和 Developer 类似,但有几点不同:
- 需要先装 .NET Framework 4.8:CFG 依赖这个,没装的话安装程序会报错。
- 数据库组件:CFG 使用 SQLite 存储配置数据,安装时会自动装。
- License 复用:和 Developer 共用同一个 License 服务器,不用重复配置。
3.3.2 工程模板创建
安装完成后,我们来创建一个工程模板。这个模板后面会反复用到:
1. 打开 DaVinci CFG,点击 File → New → Project
2. 选择 "ECU Project" 模板
3. 输入项目名称:MyAUTOSAR_Project
4. 选择 AUTOSAR 版本:4.4.0
5. 选择 MCU:Infineon TC3xx(根据实际芯片选)
6. 点击 Finish
等待项目初始化完成,你会看到左侧出现一个树形结构:
- System
- Communication
- ECU Extract
- SWC
- BSW
嗯,到这里模板就建好了。但别高兴太早——你还需要导入一个关键的描述文件。
3.4 EB tresos Studio 安装与配置
EB tresos Studio 是 BSW 配置的利器。它专门用来配置底层驱动、OS、通信栈、诊断栈等模块。说白了,Developer 和 CFG 管“上层”,tresos 管“下层”。
3.4.1 安装步骤
- 获取安装包:EB 的安装包通常是一个
.exe文件,大约 2-3 GB。 - 运行安装:同样以管理员身份运行。安装路径建议
C:\EB\tresos\。 - 选择 BSW 模块:安装过程中会让你选择要安装的 BSW 模块。我建议全选,虽然占用空间大,但后面省事。
- 配置工作空间:启动 tresos 后,设置工作空间路径。我习惯和 Developer 的 Workspace 放在一起:
C:\AUTOSAR_Workspace。
3.4.2 导入 BSW 模块描述
tresos 安装完成后,你需要导入 BSW 模块的描述文件(.arxml)。这些文件通常由芯片厂商提供:
1. 打开 EB tresos Studio
2. 点击 File → Import → General → Existing Projects into Workspace
3. 选择 BSW 模块描述文件所在的目录
4. 勾选需要导入的模块(如:EcuM、Os、Com、Can、Dcm 等)
5. 点击 Finish
导入成功后,你会在 Project Explorer 中看到每个模块的配置界面。
3.5 工具链联调:让三个工具协同工作
工具都装好了,模板也建了。但三个工具之间怎么配合?我画了一张流程图:
你想想看,这三个工具各自生成一部分代码,最后要合在一起编译。如果版本不对,或者 ARXML 格式不兼容,编译时就会报一堆莫名其妙的错误。
3.5.1 数据交换方式
三个工具之间通过 ARXML 文件交换数据。具体流程是这样的:
- Developer → CFG:Developer 导出 SWC 的 ARXML,CFG 导入后做系统映射。
- CFG → tresos:CFG 导出 ECU Extract(ECU 配置提取),tresos 导入后配置 BSW。
- tresos → Developer:tresos 生成 BSW 模块的接口描述,Developer 导入后用于 RTE 生成。
3.6 工程模板创建实战
好了,理论讲完了。我们直接上手,创建一个完整的工程模板。这个模板后面所有章节都会用到。
3.6.1 创建步骤
Step 1: 在 DaVinci CFG 中创建项目
- 项目名:AUTOSAR_Demo
- 路径:C:\AUTOSAR_Workspace\AUTOSAR_Demo
- 版本:AUTOSAR 4.4.0
Step 2: 在 DaVinci Developer 中创建 SWC 模板
- 新建一个 Application SWC
- 定义 2 个端口:一个 SenderPort,一个 ReceiverPort
- 定义 1 个运行实体:Runnable_10ms
- 保存并导出 ARXML
Step 3: 在 CFG 中导入 SWC 描述
- 导入 Developer 导出的 ARXML
- 将 SWC 映射到 ECU
- 配置通信矩阵(至少一个 CAN 报文)
Step 4: 在 EB tresos 中配置 BSW
- 导入 CFG 导出的 ECU Extract
- 配置 EcuM(ECU 管理器)
- 配置 Os(操作系统)
- 配置 Can(CAN 驱动)
- 生成 BSW 代码
Step 5: 回到 Developer,生成 RTE 代码
- 导入 tresos 生成的 BSW 接口描述
- 点击 Generate RTE
- 检查生成的 Rte.h 和 Rte.c
3.6.2 验证模板
模板创建完成后,怎么验证它能不能用?我一般做三件事:
- 检查文件完整性:确认生成了
Rte.h、Rte.c、SchM.h、SchM.c等关键文件。 - 检查接口一致性:用文本对比工具,对比 Developer 中定义的接口和 Rte.h 中生成的接口是否一致。
- 尝试编译:把生成的代码丢到编译器里,看能不能通过语法检查。
- Rte.h 中是否有你定义的端口函数?
- SchM.h 中是否有调度点?
- BSW 代码中是否有 EcuM_Init 函数?
- 编译器能否找到所有头文件路径?
3.7 常见问题与避坑指南
最后,分享几个我实际项目中遇到过的坑:
- 路径问题:所有工具和工程路径都不要有中文、空格、特殊字符。我见过有人把工程放在“桌面”上,结果编译时路径解析失败。
- 版本匹配:Developer、CFG、tresos 的版本要匹配。比如 Developer 4.3 对应 CFG 4.3,不要混用。
- License 过期:Vector 的 License 通常按年续费。我建议你在项目开始前确认 License 有效期,别做到一半突然过期。
- ARXML 版本:三个工具之间交换的 ARXML,必须使用同一个 AUTOSAR 版本。4.2 和 4.4 的 ARXML 格式有差异,混用会导致导入失败。
嗯,环境搭建这部分内容确实有点琐碎。但相信我,把这一步走扎实了,后面写代码、联调的时候会顺畅很多。工具链就像地基,地基不稳,上面盖的房子迟早要塌。