2、工作空间与项目创建:工作空间概念、新建AUTOSAR项目、导入现有项目、项目文件结构解析
好,咱们正式开始动手了。
这一章,我带你搞定 DaVinci Configurator Pro 的「地基」——工作空间与项目创建。说白了,就是搞清楚你的代码放哪儿、怎么新建一个 AUTOSAR 项目、怎么把别人的项目拿过来用,以及项目里那些文件夹到底都是干嘛的。
嗯,这部分看似简单,但我在项目里见过不少新人因为工作空间路径搞错,导致后面编译报错、引用丢失,折腾一整天。所以咱们一步一个脚印,把基础打牢。
2.1 工作空间概念
先说说工作空间(Workspace)。
我个人习惯把工作空间理解成一个「项目收纳盒」。你想想看,一个完整的 AUTOSAR 项目,涉及到的文件少说几百个,多则上千。如果没有一个统一的管理容器,光找文件就能让你崩溃。
DaVinci Configurator Pro 的工作空间,本质上就是一个本地文件夹。它记录了:
- 你当前打开了哪些项目
- 每个项目的配置状态
- 工具的一些全局设置(比如窗口布局、快捷键偏好)
避坑指南:我曾经犯过一个错——把工作空间直接放在 C 盘系统目录下。结果某次系统更新后,权限变了,工具死活打不开项目。后来我学乖了,工作空间路径一定要满足三个条件:
- 全英文路径(不要有中文,AUTOSAR 工具对中文支持很差)
- 路径不要太深(比如 D:\Workspace\AUTOSAR\ProjectX 就挺好)
- 不要有空格(有些脚本解析路径时会出问题)
2.2 新建AUTOSAR项目
好,咱们开始新建一个项目。
打开 DaVinci Configurator Pro 后,你会看到一个欢迎界面。点击 File → New → DaVinci Project,或者直接点工具栏上的新建图标。
这时候会弹出一个向导,需要你填写几个关键信息:
| 字段 | 说明 | 我的建议 |
|---|---|---|
| Project Name | 项目名称 | 建议用英文缩写+版本号,比如 "BCM_V1.0" |
| Project Location | 项目存放路径 | 放在工作空间文件夹内,不要乱跑 |
| AUTOSAR Version | 选择 AUTOSAR 版本 | 根据芯片和基础软件包来选,常见 4.2.2 或 4.4.0 |
| Target ECU | 目标 ECU 型号 | 选你实际用的芯片,比如 TC397、S32K144 |
填完之后,点击 Finish。工具会开始自动生成项目骨架。这个过程大概需要几十秒,取决于你的电脑性能。
重点来了:新建项目时,AUTOSAR 版本一定要和你的基础软件包(比如 Vector 的 MICROSAR)匹配。版本不对,后面导入配置时全是红叉。我遇到过有人拿 4.4.0 的工具去开 4.2.2 的工程,结果一堆模块报错,最后只能重来。
2.3 导入现有项目
实际工作中,更多的情况是接手别人的项目,或者从服务器上拉取已有工程。这时候就需要导入功能。
操作很简单:File → Import → General → Existing Projects into Workspace。
然后选择你项目所在的根目录。工具会自动识别出里面的 .project 文件,并列出可导入的项目。
这里有个坑,我提醒一下:
- 如果项目是用更高版本的 DaVinci 创建的,低版本工具可能打不开。反过来一般没问题。
- 导入后如果看到很多「Missing reference」错误,别慌。通常是路径映射变了。右键项目 → Properties → Project References,重新关联一下就好。
2.4 项目文件结构解析
项目创建好之后,咱们来看看它的「五脏六腑」。在 Project Explorer 里展开你的项目,你会看到类似这样的结构:
MyProject/
├── .project # Eclipse 项目描述文件
├── .cproject # C/C++ 项目配置
├── autosar/
│ ├── ecu_config.arxml # ECU 配置描述文件
│ ├── system.arxml # 系统级描述(信号、报文等)
│ └── swc.arxml # 软件组件描述
├── generated/ # 工具生成的代码
│ ├── Rte/ # RTE 层代码
│ ├── Bsw/ # 基础软件模块代码
│ └── SchM/ # 调度管理器代码
├── config/ # 用户自定义配置文件
│ ├── BswM/ # BSW 管理器配置
│ ├── Can/ # CAN 驱动配置
│ └── EcuM/ # ECU 管理器配置
└── scripts/ # 自动化脚本(可选)
└── generate.py
我来逐个解释一下:
- .project 和 .cproject:这是 Eclipse 平台的文件,记录了项目的构建属性和引用关系。一般不需要手动修改。
- autosar/ 目录:这是核心。里面存放的是 .arxml 文件,也就是 AUTOSAR 的标准化描述文件。说白了,你的所有配置最终都会序列化到这些 XML 文件里。
- generated/ 目录:工具根据你的配置自动生成的代码。这里的东西 不要手动修改,因为每次重新生成都会被覆盖。我见过有人手痒改了 Rte 的代码,结果下次生成后改的东西全没了,还查了半天 bug。
- config/ 目录:存放各个 BSW 模块的详细配置。比如你要配置 CAN 的波特率、报文 ID,就在这里操作。
- scripts/ 目录:如果你需要批量处理或者自动化生成,可以把 Python 或批处理脚本放这里。
嗯,到这里,工作空间和项目创建的基础知识就讲完了。下一章咱们会深入配置编辑器,真正开始动手配置模块。到时候你会发现,今天打下的基础会让你事半功倍。