2、工作空间与项目:创建工作空间、导入示例工程、项目结构解析、构建第一个工程

好,咱们正式开始动手了。

上一章我们把 EB tresos 装好了,环境也配通了。这一章,我们要真正创建一个工作空间,导入一个示例工程,然后把它跑起来。说白了,就是让工具先转起来,你心里有个底。

2.1 创建工作空间

工作空间是什么?你可以把它理解成一个「项目收纳盒」。EB tresos 的所有配置、代码、生成文件,都放在这个文件夹里。

我个人习惯,工作空间路径里不要有中文,不要有空格。为什么呢?因为 AUTOSAR 的底层工具链对路径编码很敏感,我曾经遇到过因为路径里带了个「项目」两个字,结果代码生成报错,查了半天才发现是路径问题。嗯,从那以后我就老实了。

创建步骤很简单:

  1. 打开 EB tresos Studio
  2. 菜单栏选 File → Switch Workspace → Other
  3. 在弹出的对话框里,点 Browse,选一个你喜欢的目录
  4. OK,工具会自动重启
小技巧:我一般会在 D 盘建一个 EB_Workspace 文件夹,里面按项目名再分子文件夹。比如 D:\EB_Workspace\DemoProject。这样多个项目互不干扰。

重启之后,你会看到一个空白的界面。别慌,这是正常的。接下来我们要往里塞东西了。

2.2 导入示例工程

EB tresos 安装包里自带了一些示例工程。这些例子是官方写的,配置完整,可以直接编译。我个人建议初学者先拿这些例子练手,别一上来就自己建工程——坑太多。

导入步骤:

  1. 菜单栏选 File → Import
  2. 在弹出的窗口里,展开 General,选 Existing Projects into Workspace
  3. Next
  4. Select root directory 那里,点 Browse
  5. 找到 EB tresos 安装目录下的 examples 文件夹
  6. 你会看到几个示例工程,比如 Demo_MCALDemo_OS 之类的
  7. 勾选你想导入的工程,点 Finish
注意:导入时如果弹出「Project already exists」的提示,说明工作空间里已经有同名工程了。你可以勾选「Copy projects into workspace」,这样会复制一份新的进来,避免污染原始文件。

导入完成后,左侧的 Project Explorer 里就会出现你的工程。双击展开,你会看到一堆文件夹和配置文件。别被吓到,我们接下来一个一个拆解。

2.3 项目结构解析

一个典型的 EB tresos 工程长这样:

Demo_MCAL/
├── .project
├── .cproject
├── .settings/
├── config/
│   ├── EcuC/
│   ├── Mcu/
│   ├── Port/
│   ├── Dio/
│   └── ...
├── generated/
│   ├── src/
│   └── include/
├── output/
└── Makefile

我来给你讲讲每个部分是干嘛的:

文件夹/文件 作用
.project / .cproject Eclipse 的项目配置文件。别手动改,容易崩。
.settings/ 编辑器偏好设置,比如缩进、编码格式。
config/ 核心目录。里面按模块分文件夹,每个模块的配置都在这里。
generated/ 代码生成器输出的 C 代码和头文件。你一般不需要手动改这里。
output/ 编译产物,比如 .o 文件、.elf 文件。
Makefile 编译脚本。EB tresos 用 Makefile 来驱动编译器。

你想想看,config/ 文件夹里每个子文件夹对应一个 AUTOSAR 模块。比如 Mcu/ 管时钟和复位,Port/ 管引脚配置,Dio/ 管数字输入输出。每个模块下都有一个 .arxml 文件,那是 AUTOSAR 的标准化配置文件。

避坑指南:我曾经手贱去改了 generated/ 里的代码,结果下次重新生成时,我的修改全被覆盖了。记住,generated/ 是只读的,要改配置去 config/ 里改。

2.4 构建第一个工程

好,现在我们来编译它。

构建之前,先确认一下你的编译器路径配好了没。上一章我们配了环境变量,但 EB tresos 还需要知道编译器具体在哪。

检查步骤:

  1. 菜单栏选 Window → Preferences
  2. 展开 C/C++ → Build → Environment
  3. 确保 CCCXXAR 这些变量指向了你的编译器路径

确认无误后,开始构建:

  1. Project Explorer 里右键点击你的工程
  2. Build Project
  3. 看下方的 Console 窗口,会滚动输出编译信息

如果一切顺利,你会看到类似这样的输出:

**** Build of configuration Default for project Demo_MCAL ****
make all
Compiling Mcu.c...
Compiling Port.c...
Compiling Dio.c...
...
Linking...
Build Finished. 0 errors, 0 warnings.

看到 0 errors, 0 warnings 的时候,恭喜你,第一个工程构建成功了!

如果报错了怎么办?别慌。最常见的错误是编译器路径没配对。检查一下 Console 里的错误信息,如果是 command not found,那就是路径问题。如果是语法错误,那可能是示例工程版本和你的工具版本不匹配。

构建成功后,去 output/ 文件夹看看。里面应该有一个 .elf 文件,那就是你的可执行文件。虽然现在它还不能跑在真正的芯片上(因为没有烧录),但至少证明你的工具链是通的。

嗯,到这里,你已经完成了 EB tresos 开发的第一个闭环:创建空间 → 导入工程 → 理解结构 → 构建成功。接下来,我们就可以深入每个模块的配置了。

下一章,我会带你手把手配置第一个 MCAL 模块——GPIO。到时候你会看到,配置界面其实没那么可怕。