2. 开发环境搭建:Vector DaVinci Developer安装与配置、EB tresos Studio安装与配置、MATLAB/Simulink配置、工作空间与项目创建
说实话,很多新手一上来就急着写代码,结果被工具链折腾得够呛。我见过太多人卡在环境搭建这一步,一卡就是好几天。工具链没配好,后面全是坑。
这一章,咱们就把三件套——DaVinci Developer、EB tresos Studio、MATLAB/Simulink——的安装和配置捋清楚。嗯,都是实战经验,你照着做就行。
2.1 Vector DaVinci Developer:SWC建模的核心工具
DaVinci Developer是干啥的?说白了,它就是用来画SWC的。你设计好的软件组件,在这里定义端口、接口、运行实体,然后生成代码骨架。
2.1.1 安装要点
我个人习惯,安装前先关掉杀毒软件。Vector的License Manager有时候会被误杀,很烦人。
- 版本选择:建议用2020以上版本,对AUTOSAR 4.x支持更完整。我早期用过2018版,踩过不少坑。
- 安装路径:不要有中文,不要有空格。C:\Vector\DaVinci_Developer 这种就挺好。
- License配置:如果是浮动License,记得配好服务器地址。如果是单机版,把license.lic文件放到安装目录下。
2.1.2 工作空间配置
第一次启动Developer,会让你选工作空间。我建议每个项目单独建一个工作空间,别混在一起。
# 工作空间目录结构示例
D:\Workspace\ProjectA_Dev
├── .metadata # Eclipse元数据
├── SWCs # 你的SWC项目文件
└── Config # 配置文件备份
你想想看,如果所有项目都放一个工作空间,切换项目时Eclipse会卡死。我吃过这个亏。
2.2 EB tresos Studio:基础软件配置的利器
tresos Studio主要负责配置BSW(基础软件)和ECU提取。它和Developer是搭档——Developer画SWC,tresos配底层。
2.2.1 安装与激活
EB的工具安装比Vector稍微麻烦一点。它需要Java环境,而且对JDK版本有要求。
| 组件 | 推荐版本 | 备注 |
|---|---|---|
| JDK | 11 或 17 | 太高或太低都可能报错 |
| tresos Studio | 27.0.0+ | 支持AUTOSAR 4.4.0 |
| License | 浮动/单机 | 需要EB License Server |
2.2.2 导入Developer生成的ARXML
Developer画完SWC后,会导出ARXML文件。tresos Studio需要导入这些文件,才能进行后续的BSW配置。
- 打开tresos Studio,新建一个ECU项目。
- 右键项目 -> Import -> AUTOSAR -> ARXML File。
- 选择Developer导出的SWC描述文件。
- 系统会自动解析,生成对应的BSW模块配置项。
这里要注意:Developer和tresos的AUTOSAR版本必须一致。否则导入时会报schema错误。我当年从4.2升级到4.4时,就因为这个折腾了两天。
2.3 MATLAB/Simulink:算法建模与代码生成
很多控制算法是在Simulink里开发的。然后通过Embedded Coder生成C代码,再集成到SWC中。
2.3.1 配置Embedded Coder
Simulink默认生成的代码,说实话,不太适合AUTOSAR。你需要做几件事:
- 安装Embedded Coder:这是生成产品级代码的必备工具箱。
- 配置系统目标文件:选择ert.tlc(Embedded Real-Time)。
- 设置AUTOSAR接口:在模型配置中,勾选“Support AUTOSAR”选项。
% MATLAB命令行配置示例
% 设置代码生成目标
set_param('myModel', 'SystemTargetFile', 'ert.tlc');
% 启用AUTOSAR支持
set_param('myModel', 'GenerateASAP2', 'on');
set_param('myModel', 'SupportAUTOSAR', 'on');
核心思路:Simulink模型中的Inport/Outport,最终会映射成SWC的RPort/PPort。你建模时就要想好接口定义。
2.3.2 代码生成与集成
模型建好后,按Ctrl+B生成代码。你会得到一堆.c和.h文件。这些文件需要导入到Developer中,作为SWC的实现代码。
我个人习惯,在Simulink中把代码生成路径设到Developer的工作空间里。这样省去手动拷贝的麻烦。
2.4 工作空间与项目创建:从零开始搭一个Demo
理论说完了,咱们动手搭一个。我带你走一遍完整的流程。
2.4.1 创建Developer项目
- 打开DaVinci Developer,选择工作空间。
- File -> New -> AUTOSAR Project。
- 输入项目名,比如“Demo_SWC_Project”。
- 选择AUTOSAR版本(建议4.4.0)。
- 点击Finish,项目就建好了。
你会看到左侧出现一个项目树。里面有SWCs、DataTypes、Interfaces等文件夹。这就是你的战场。
2.4.2 创建tresos项目
- 打开EB tresos Studio,File -> New -> AUTOSAR ECU Project。
- 输入ECU名称,比如“DemoECU”。
- 选择BSW模块模板(比如CAN、DIO、MCU等)。
- 导入Developer生成的ARXML文件。
- 配置BSW参数,生成代码。
2.4.3 配置Simulink模型
- 打开MATLAB,设置工作目录到Developer项目文件夹。
- 新建一个Simulink模型,添加Inport和Outport。
- 在模型配置中,设置代码生成目标为ert.tlc。
- 勾选“Support AUTOSAR”,配置SWC名称和接口映射。
- 生成代码,检查是否生成Rte_Component.h等文件。
嗯,到这里,三个工具的项目就都搭好了。它们之间通过ARXML文件交换信息。Developer定义SWC结构,Simulink生成算法代码,tresos配置底层驱动。
2.5 工具链集成关系图
下面这张图,展示了三个工具之间的数据流和依赖关系。你看一眼就明白了。
说白了,这三个工具就是一条流水线。Developer是设计师,Simulink是工程师,tresos是装配工。各司其职,缺一不可。
2.6 避坑指南
最后,我把自己这些年踩过的坑总结一下。你遇到了,直接翻回来查。
- 版本匹配:Developer、tresos、MATLAB的AUTOSAR版本必须一致。4.2的ARXML不能直接导入4.4的项目。
- 路径无中文:所有工具、工作空间、项目路径都不能有中文和空格。否则编译报错你都不知道为什么。
- 环境变量:Vector_LICENSE_FILE、JAVA_HOME、MATLAB_ROOT这些变量,装完工具后一定要检查。
- 杀毒软件:安装时关掉,运行时把工具目录加入白名单。
我的习惯:每装完一个工具,先跑一遍官方示例。确认没问题了,再开始自己的项目。这样能快速排除工具本身的问题。
环境搭建这块,急不得。你花一天时间把工具链配稳了,后面开发会顺畅很多。我曾经为了赶进度,环境没配好就开干,结果后面返工的时间比搭建环境还多。嗯,教训深刻。