2. 开发环境搭建:Vector DaVinci Developer安装与配置、EB tresos Studio安装与配置、编译器与调试工具链集成

好,咱们直接进入正题。这一章我带你把吃饭的家伙事儿都装好、配通。

做AUTOSAR BSW配置,说白了就是跟三样东西打交道:Vector DaVinci Developer(画SWC架构的)、EB tresos Studio(配BSW模块的)、还有编译器+调试器(把代码烧进去跑起来的)。这三样缺一不可,而且版本之间还有讲究。

我个人习惯是先把工具链的版本对应关系搞清楚,再动手装。不然装到一半发现不兼容,那才叫一个头大。

2.1 Vector DaVinci Developer 安装与配置

DaVinci Developer,说白了就是用来定义软件组件(SWC)的。你想想看,整个AUTOSAR架构里,应用层的那些功能模块怎么划分、端口怎么连、数据怎么流,全得靠它画出来。

2.1.1 版本选择与许可证

Vector家的工具版本更新挺快的。我建议你选跟你的AUTOSAR版本匹配的。比如你用AUTOSAR 4.2.2,那DaVinci Developer最好用4.2.x系列。

  • 许可证方式:有USB加密狗(dongle)和浮动许可证(floating license)两种。我个人更推荐浮动许可证,方便团队共享。
  • 版本号:比如我手头常用的是DaVinci Developer 4.2.22 SP1。别追最新版,稳定第一。
注意: 许可证环境变量 VECTOR_LICENSE_FILE 一定要配好。我曾经有个同事,装完死活打不开,折腾了半天才发现是环境变量没设对。

2.1.2 安装步骤

  1. 双击安装包,选“Developer”组件。
  2. 一路Next,但注意安装路径不要有中文和空格。我习惯放 C:\Vector\DaVinci_Developer_4.2
  3. 安装完成后,打开License Manager,导入你的license文件(.lic)。
  4. 重启电脑,确保服务启动。

2.1.3 配置要点

装好之后,先别急着用。有几个配置你得先调好:

  • 工作空间路径:建议跟你的项目路径分开,别混在一起。
  • 导入BSW模块描述文件:从EB tresos那边导出的 .arxml 文件,得先导入到Developer里,才能看到完整的SWC和BSW接口。
小技巧: 我习惯在Developer里把网格(Grid)打开,对齐端口的时候特别方便。快捷键是 Ctrl + G

2.2 EB tresos Studio 安装与配置

EB tresos Studio,这才是咱们BSW配置的主战场。所有的CAN、LIN、Ethernet、OS、存储栈……全在这儿配。

2.2.1 安装前准备

EB tresos Studio对Java环境有要求。我记得有一次我装了个新版,结果它要求Java 11,我机器上还是Java 8,折腾了半天。

  • Java版本:建议装OpenJDK 11或Oracle JDK 11。别用Java 8,太老了。
  • 内存:至少8GB,16GB以上更舒服。你想想看,一个项目里几十个BSW模块的配置界面同时打开,内存小了直接卡死。

2.2.2 安装步骤

  1. 运行 setup.exe,选择安装路径。我放的是 C:\EB\tresos_Studio_24.0
  2. 选择组件:建议全选,尤其是“Plugins”和“Modules”。
  3. 安装完成后,设置环境变量 EB_TRESOS_HOME 指向安装目录。
  4. 启动tresos Studio,第一次启动会提示选择工作空间。我建议单独建一个,比如 D:\Workspace\tresos_workspace

2.2.3 配置BSW模块包

EB tresos Studio本身只是一个壳,真正的BSW配置内容在模块包里。你得把供应商提供的模块包(比如MCAL、OS、CAN stack的包)导入进来。

// 导入模块包的典型路径
// 假设你从供应商拿到了 MCAL 包
// 路径: D:\AUTOSAR_Modules\MCAL\Infineon_TC3xx_1.0.0

// 在tresos Studio中操作:
// File -> Import -> General -> Existing Projects into Workspace
// 选择根目录,勾选 "Copy projects into workspace"
核心要点: 模块包的版本必须跟tresos Studio版本兼容。比如tresos Studio 24.0,模块包最好也是24.0系列。混用版本,配置界面都可能打不开。

2.3 编译器与调试工具链集成

配置好了,代码生成了,总得编译烧录吧?这一步就是把你的BSW配置跟硬件真正连起来。

2.3.1 编译器选择

不同的芯片厂商,推荐的编译器不一样。我拿Infineon TC3xx系列举例:

编译器 适用场景 我的评价
HighTec TC2xx/TC3xx 免费版够用,但优化一般
Tasking TC3xx 性能好,但贵。我项目里用的就是它
GCC (Green Hills) 多平台 稳定,但配置复杂

2.3.2 集成到EB tresos Studio

在tresos Studio里,你得告诉它用哪个编译器。具体在 Project Settings -> Build Settings 里配置:

  • Compiler Path:指向编译器的bin目录。比如 C:\Tasking\ctc\bin
  • Linker Script:指定链接脚本文件(.lsl或.ld)。这个文件一般芯片厂商提供。
  • Makefile Generator:选“EB Generated Makefile”或者“CMake”。我习惯用Makefile,简单直接。
避坑指南: 我曾经在集成Tasking编译器时,忘了把编译器的license环境变量设好。结果一编译就报“License not found”。折腾了两天才发现是环境变量 LM_LICENSE_FILE 没配。嗯,这种低级错误,犯一次就记住了。

2.3.3 调试器配置

调试器,比如Lauterbach、PLS UDE、I-jet。你得在IDE里配好调试会话。

  1. 安装调试器驱动和软件(比如Lauterbach的Trace32)。
  2. 在tresos Studio或你的IDE(比如Eclipse)里,新建一个Debug Configuration。
  3. 选择调试器类型,指定芯片型号(比如TC397)。
  4. 配置连接参数:JTAG或SWD,时钟频率,等等。
// 以Lauterbach为例,典型的启动脚本片段
// 文件: config.t32
; 初始化CPU
SYStem.CONFIG.CPU TC397
SYStem.CONFIG.JTAGCLOCK 20MHz
SYStem.Up

; 加载ELF文件
Data.LOAD.Elf "D:\Project\BSW_Output\Demo.elf"

; 设置PC指针
Register.Set PC 0x80000000
Go

2.4 工具链联调验证

所有东西都装好配好了,怎么验证能不能用?我一般走一个最小流程:

  1. 在DaVinci Developer里建一个最简单的SWC,只有一个Runnable。
  2. 导出ARXML,导入到EB tresos Studio。
  3. 在tresos里配一个最简单的OS模块,只配一个Task。
  4. 生成代码,编译,烧录到开发板。
  5. 用调试器单步跑一下,看Task能不能正常调度。
我的经验: 第一次联调,别贪多。就配一个Task,一个Runnable。跑通了,再往上加模块。不然出了问题,你都不知道是工具链的问题还是配置的问题。

嗯,这一章的内容差不多就这些。工具链的安装配置,说白了就是个熟练活。装个两三次,你就能摸清里面的门道了。下一章,咱们开始真正动手配BSW模块。