第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不兼容的情况。

安装步骤(我简化了,照着做就行):

  1. 双击DaVinci_Developer_Setup_*.exe,选中文或英文界面。嗯,这里要注意,选英文后面查资料方便些。
  2. 安装路径别带空格和中文。我习惯放C:\Vector\DaVinci_Developer\
  3. 选择组件时,把「DaVinci Developer」和「DaVinci Developer Assistant」都勾上。Assistant能帮你自动生成部分代码,省不少事。
  4. License配置选「Server」,填上你们公司的License Server地址和端口。
  5. 装完后重启电脑。别偷懒,不重启有时环境变量不生效。
⚠️ 避坑指南
我曾经遇到过安装后打不开,报错说缺少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集成。

  1. 下载并安装GCC编译器,比如ARM GCC。我习惯放C:\Arm_GCC\
  2. 把GCC的bin目录加到系统环境变量PATH里。你想想看,不加的话VS Code找不到编译器,编译时就会报错。
  3. 在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 环境验证

装完所有东西后,怎么知道环境没问题?我一般做三步验证:

  1. 打开Developer:新建一个空工程,能正常创建SWC和端口,说明Developer没问题。
  2. 打开Configurator Pro:导入Developer生成的ARXML文件,能正常生成代码,说明配置工具链通了。
  3. VS Code编译:把生成的代码导入VS Code,按F7能编译通过,没有红字报错。嗯,到这一步,环境就算搭好了。

我曾经帮一个同事排查环境问题,发现他Developer和Configurator Pro版本差了0.1,结果ARXML导入时一直报schema错误。所以版本匹配这事,真不是开玩笑的。

好,环境搭建就讲到这里。下一章咱们开始讲SWC的设计,那才是真正有意思的部分。