2. 开发环境准备:操作系统要求与运行时环境配置

做AUTOSAR工具链部署,第一步不是装软件,而是先把环境搭好。我见过太多人上来就双击安装包,结果跑起来各种报错——说白了,90%的问题都出在环境没配对。

这一章,咱们把Windows和Linux下的环境准备讲清楚。Java、Python、Perl,一个都不能少。

2.1 操作系统要求

EB tresos和Vector DaVinci对操作系统都有明确要求。我个人的习惯是:开发机用Windows 10/11,CI服务器用Ubuntu 20.04 LTS。

工具 Windows支持 Linux支持 备注
EB tresos Studio Windows 10/11 (64-bit) 不支持 GUI只能在Windows上跑
EB tresos CLI (命令行) Windows 10/11 Ubuntu 20.04/22.04 CI/CD场景首选Linux
Vector DaVinci Developer Windows 10/11 (64-bit) 不支持 架构设计工具,仅Windows
Vector DaVinci Configurator Pro Windows 10/11 Ubuntu 20.04/22.04 批量配置时Linux更稳定
注意:Windows上路径不要有中文和空格。我曾经有个项目,同事把工程放在"桌面/项目/新项目(2024)"下,结果EB tresos死活解析不了路径里的括号。折腾了两小时才发现是这个问题。

2.2 Java运行环境配置

EB tresos和DaVinci都基于Eclipse RCP,所以Java是必须的。嗯,这里要注意版本匹配。

2.2.1 JDK版本选择

  • EB tresos 23.x / 24.x:需要JDK 11(推荐Adoptium Temurin 11)
  • DaVinci Developer 2023 / 2024:需要JDK 17(推荐Adoptium Temurin 17)
  • DaVinci Configurator Pro 2023 / 2024:需要JDK 17

你可能会问:能不能装一个JDK两个工具共用?不建议。我试过用JDK 17跑EB tresos,启动没问题,但生成代码时偶尔会报NullPointerException。老老实实各装各的。

2.2.2 环境变量设置

以Windows为例,假设你装了JDK 11和JDK 17:

# 系统变量 - JAVA_HOME (指向默认JDK)
JAVA_HOME = C:\Program Files\Eclipse Adoptium\jdk-11.0.22.7-hotspot

# 系统变量 - 额外JDK路径 (工具会自己找)
EB_JAVA_HOME = C:\Program Files\Eclipse Adoptium\jdk-11.0.22.7-hotspot
DV_JAVA_HOME = C:\Program Files\Eclipse Adoptium\jdk-17.0.10.7-hotspot

# Path变量追加
%JAVA_HOME%\bin
验证方法:打开命令行,输入 java -version。如果显示的是你期望的JDK版本,就对了。如果不对,检查Path变量里有没有其他JDK路径排在前面。

2.3 Python环境配置

Python在AUTOSAR工具链里主要用来写脚本——批量生成SWC、解析ARXML、自动化测试。我个人建议用Python 3.8+,别用Python 2.7了,已经停止维护好几年了。

2.3.1 安装与虚拟环境

我强烈推荐用虚拟环境。为什么呢?因为不同项目可能依赖不同版本的库,混在一起迟早出问题。

# 安装Python 3.10 (Windows)
# 下载地址: https://www.python.org/downloads/
# 安装时勾选 "Add Python to PATH"

# 创建虚拟环境
python -m venv autosar_env

# 激活虚拟环境 (Windows)
autosar_env\Scripts\activate

# 激活虚拟环境 (Linux)
source autosar_env/bin/activate

# 安装常用库
pip install pyyaml lxml openpyxl

2.3.2 环境变量设置

Python的环境变量相对简单:

# 系统变量
PYTHON_HOME = C:\Users\你的用户名\AppData\Local\Programs\Python\Python310

# Path变量追加
%PYTHON_HOME%
%PYTHON_HOME%\Scripts
避坑指南:Windows Store也会安装Python,但路径带空格,而且权限管理很麻烦。我曾经被这个坑过——EB tresos调用Python脚本时,因为路径里有"WindowsApps"这个带空格的目录,直接报错。建议从官网下载安装。

2.4 Perl环境配置

Perl?现在还有人用Perl?说实话,我一开始也是这个反应。但EB tresos的代码生成器底层大量依赖Perl脚本,尤其是BSW模块的生成器,比如Can、Lin、Ethernet的驱动代码生成,都是Perl写的。

2.4.1 Perl版本选择

  • Windows推荐:Strawberry Perl 5.32+
  • Linux推荐:系统自带Perl 5 (一般Ubuntu 20.04自带5.30)

2.4.2 安装与验证

# Windows - Strawberry Perl
# 下载地址: https://strawberryperl.com/
# 安装后自动添加环境变量

# 验证
perl -v

# 输出示例:
# This is perl 5, version 32, subversion 1 (v5.32.1) built for MSWin32-x64-multi-thread

2.4.3 环境变量设置

# 系统变量 (如果安装时没自动添加)
PERL_HOME = C:\Strawberry\perl\bin

# Path变量追加
%PERL_HOME%
C:\Strawberry\c\bin   # 有些Perl模块需要C编译器
注意:EB tresos在调用Perl时,会通过环境变量PERL5LIB查找自定义模块。如果你有自己写的Perl模块,记得设置这个变量。我遇到过的情况是:生成CanIf代码时一直报"Can't locate CanIf.pm",就是因为PERL5LIB没指向模块目录。

2.5 环境变量综合设置与验证

好了,现在Java、Python、Perl都装好了。但工具链要协同工作,还需要一些额外的环境变量。

2.5.1 工具链专用环境变量

变量名 值示例 说明
EB_HOME C:\EB\tresos_24.0 EB tresos安装根目录
EB_LICENSE_FILE @license-server:27000 许可证服务器地址
DV_HOME C:\Vector\DaVinci_Developer_2024 DaVinci Developer安装目录
DV_CONFIG_HOME C:\Vector\DaVinci_Configurator_2024 DaVinci Configurator安装目录
ARXML_WORKSPACE D:\AUTOSAR_Projects 工作空间目录(建议自定义)

2.5.2 一键验证脚本

我写了个小脚本,每次配完环境跑一遍,省心:

# Windows - check_env.bat
@echo off
echo ===== AUTOSAR 开发环境验证 =====
echo.

echo [1/5] 检查 Java...
java -version 2>&1 | findstr "version"
if %errorlevel% neq 0 echo [FAIL] Java未找到

echo [2/5] 检查 Python...
python --version
if %errorlevel% neq 0 echo [FAIL] Python未找到

echo [3/5] 检查 Perl...
perl -v | findstr "This is perl"
if %errorlevel% neq 0 echo [FAIL] Perl未找到

echo [4/5] 检查 EB_HOME...
if defined EB_HOME (
    echo EB_HOME = %EB_HOME%
) else (
    echo [FAIL] EB_HOME未设置
)

echo [5/5] 检查 DV_HOME...
if defined DV_HOME (
    echo DV_HOME = %DV_HOME%
) else (
    echo [FAIL] DV_HOME未设置
)

echo.
echo ===== 验证完成 =====
小技巧:把这个脚本放在桌面,每次换电脑或者重装系统后,跑一遍就知道缺什么。我团队里新来的同事,我都让他们先跑这个脚本再开始干活。

2.6 知识体系总览

下面这张图把整个环境准备的知识结构串起来了。你对照着检查,缺哪个补哪个:

AUTOSAR 开发环境准备 - 知识体系 操作系统层 Java 运行时 Python 运行时 Perl 运行时 JDK 11 / 17 Python 3.8+ Perl 5.32+ 虚拟环境 环境变量:JAVA_HOME / PYTHON_HOME / PERL_HOME / EB_HOME / DV_HOME 验证:一键检查脚本 核心原则 版本匹配 > 路径无中文空格 > 虚拟环境隔离 > 验证脚本兜底 先配环境再装工具,顺序别搞反

2.7 常见问题与排查

最后,分享几个我实际踩过的坑:

  • Java版本冲突:装了JDK 17后,EB tresos启动报"Unsupported class version"。解决办法:设置EB_JAVA_HOME指向JDK 11,工具会优先读这个变量。
  • Python路径带空格:Windows Store安装的Python在"Program Files"下,路径有空格。EB tresos调用Python脚本时,如果路径没加引号就会失败。建议装到C:\Python310这种无空格路径。
  • Perl模块缺失:生成代码时报"Can't locate XML/Simple.pm"。运行cpan install XML::Simple安装缺失模块。
  • 环境变量不生效:改了环境变量后,记得重启命令行。我经常忘了这步,然后怀疑人生。
总结一句话:环境准备这件事,花30分钟配好,能省后面3天排查问题的时间。别嫌麻烦,一步到位最省事。