第2章:开发环境搭建
好,咱们直接进入正题。搞AUTOSAR开发,环境搭不好,后面全是坑。我见过太多人卡在安装配置上,一卡就是半天。今天我把Vector这套工具链的安装要点,还有VS Code怎么跟编译器配合,一次性给你讲透。
2.1 DaVinci Developer安装
DaVinci Developer,说白了就是咱们画SWC(软件组件)架构的工具。你想想看,没有它,你连ECU里跑哪些功能模块都定义不清楚。
安装前要注意什么?
- 操作系统:Windows 10 64位或Windows 11。我个人习惯用Win10 LTSC版,稳定,少出幺蛾子。
- 许可证:Vector的License Server必须提前配好。我记得第一次装时忘了这步,折腾了俩小时才发现是License没启动。
- Java环境:需要JRE 11以上。别用太新的版本,我遇到过JRE 17跟某些旧版Developer不兼容的情况。
安装步骤(我简化了,照着做就行):
- 双击
DaVinci_Developer_Setup_*.exe,选中文或英文界面。嗯,这里要注意,选英文后面查资料方便些。 - 安装路径别带空格和中文。我习惯放
C:\Vector\DaVinci_Developer\。 - 选择组件时,把「DaVinci Developer」和「DaVinci Developer Assistant」都勾上。Assistant能帮你自动生成部分代码,省不少事。
- License配置选「Server」,填上你们公司的License Server地址和端口。
- 装完后重启电脑。别偷懒,不重启有时环境变量不生效。
我曾经遇到过安装后打不开,报错说缺少VC++运行库。去微软官网装个「Visual C++ Redistributable 2015-2022」就能解决。另外,杀毒软件可能会拦截Vector的进程,建议把安装目录加入白名单。
2.2 DaVinci Configurator Pro安装
Configurator Pro是干嘛的?它是用来配置BSW(基础软件)和RTE(运行时环境)的。Developer画好架构图,Configurator Pro负责把底层驱动、通信栈、诊断栈这些东西配起来。
安装要点:
- 版本必须跟Developer匹配。比如Developer是5.20,Configurator Pro也得是5.20。混着用?我试过,报错报到你怀疑人生。
- 安装路径同样不能有中文。我习惯放
C:\Vector\DaVinci_Configurator_Pro\。 - 安装过程中会提示选择「Configuration Data」路径。这个路径用来存放你生成的所有配置文件和代码。我建议单独建个文件夹,比如
D:\AUTOSAR_Workspace\,方便管理。
配置License:
Configurator Pro的License跟Developer是分开的。你需要在安装目录下的bin文件夹里找到licensetool.exe,运行后输入License Server信息。嗯,这一步很容易被忽略,我刚开始就忘了,结果Configurator Pro一直报「No license available」。
装完Configurator Pro后,建议先跑一次自带的示例工程。路径一般在
C:\Vector\DaVinci_Configurator_Pro\Examples\。跑通了,说明环境没问题。我每次换电脑都这么验证,省得后面调试时怀疑是工具问题。
2.3 VS Code与编译器集成
好,工具链装完了,接下来是写代码的环境。Vector自家的编辑器说实话不太好用,我强烈推荐用VS Code。轻量、插件多、还免费。
VS Code安装:
- 去官网下载安装包,一路Next就行。
- 装完后,推荐安装这几个插件:
- C/C++:微软官方插件,代码补全、调试都靠它。
- CMake Tools:AUTOSAR代码生成后通常用CMake构建,这个插件能帮你一键编译。
- Hex Editor:有时候需要看二进制文件,这个插件很方便。
编译器集成:
AUTOSAR项目常用的编译器有Green Hills、Tasking、GCC。我以GCC为例,讲一下怎么跟VS Code集成。
- 下载并安装GCC编译器,比如ARM GCC。我习惯放
C:\Arm_GCC\。 - 把GCC的
bin目录加到系统环境变量PATH里。你想想看,不加的话VS Code找不到编译器,编译时就会报错。 - 在VS Code里按
Ctrl+Shift+P,输入C/C++: Edit Configurations,会生成一个c_cpp_properties.json文件。在里面配置编译器路径和头文件路径。
一个简单的配置示例:
{
"configurations": [
{
"name": "AUTOSAR_GCC",
"compilerPath": "C:/Arm_GCC/bin/arm-none-eabi-gcc.exe",
"intelliSenseMode": "gcc-arm",
"includePath": [
"${workspaceFolder}/**",
"C:/Vector/DaVinci_Configurator_Pro/Include/**"
],
"defines": [],
"cStandard": "c11",
"cppStandard": "c++17"
}
],
"version": 4
}
includePath一定要包含Configurator Pro生成的BSW头文件路径。不然你写代码时,那些AUTOSAR标准接口(比如Std_ReturnType)会全部标红,看着心烦。
编译脚本怎么写?
我一般用CMake来管理构建。在项目根目录下建一个CMakeLists.txt,内容大致如下:
cmake_minimum_required(VERSION 3.10)
project(AUTOSAR_Project)
set(CMAKE_C_COMPILER arm-none-eabi-gcc)
set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
# 添加源文件
file(GLOB_RECURSE SOURCES "src/*.c" "src/*.cpp")
# 添加头文件路径
include_directories(
${CMAKE_SOURCE_DIR}/include
C:/Vector/DaVinci_Configurator_Pro/Include
)
# 生成可执行文件
add_executable(${PROJECT_NAME}.elf ${SOURCES})
然后在VS Code里按Ctrl+Shift+P,选CMake: Configure,再按F7就能编译了。说白了,这套流程跟普通嵌入式开发差不多,只是多了AUTOSAR的配置步骤。
编译器版本一定要跟Vector工具链兼容。我遇到过GCC 12编译出来的代码,在Configurator Pro生成的RTE里跑飞了。后来换成GCC 10就没事。建议用Vector官方推荐的编译器版本,别追新。
2.4 环境验证
装完所有东西后,怎么知道环境没问题?我一般做三步验证:
- 打开Developer:新建一个空工程,能正常创建SWC和端口,说明Developer没问题。
- 打开Configurator Pro:导入Developer生成的ARXML文件,能正常生成代码,说明配置工具链通了。
- VS Code编译:把生成的代码导入VS Code,按
F7能编译通过,没有红字报错。嗯,到这一步,环境就算搭好了。
我曾经帮一个同事排查环境问题,发现他Developer和Configurator Pro版本差了0.1,结果ARXML导入时一直报schema错误。所以版本匹配这事,真不是开玩笑的。
好,环境搭建就讲到这里。下一章咱们开始讲SWC的设计,那才是真正有意思的部分。