第二章:工程创建与管理——新建工程向导、工程结构解析、工程导入导出

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

上一章我们把EB tresos装好了,环境也配通了。这一章,咱们直接创建一个真正的AUTOSAR工程。我敢说,很多人刚开始接触EB tresos时,最懵的就是——这软件到底怎么建工程?建完了一堆文件夹是干嘛的?

别急,我带你一步步走一遍。走完这一章,你就能自己搭一个完整的AUTOSAR开发环境了。

2.1 新建工程向导——别被选项吓到

打开EB tresos,你会看到一个启动界面。点那个“New Project”按钮,或者从菜单栏选 File → New → Project。

嗯,这里要注意:EB tresos的工程向导有好几页,每一页都有选项。我第一次用的时候,差点被那些下拉菜单搞晕。其实核心就三个东西:

  • 工程名字——别用中文,别带空格。我习惯用“Demo_Can_Project”这种命名方式。
  • 工程路径——建议单独建一个文件夹,别跟其他工程混在一起。
  • BSW配置模板——这个最关键。EB tresos会问你用哪个MCU、哪个编译器。选错了后面全白干。

核心操作步骤:

  1. File → New → Project
  2. 输入工程名:比如 MyFirstAutosar
  3. 选择BSW配置模板(根据你的芯片型号选,比如TC275、S32K144)
  4. 点击Finish,等待几秒钟

建完之后,你会看到左侧的Project Explorer里多了一个工程。别急着点开,先看看它的结构。

2.2 工程结构解析——BSW、RTE、SWC到底在哪?

很多人第一次看到EB tresos的工程结构时,第一反应是:这什么鬼?文件夹套文件夹,名字还都带下划线。

其实结构很清晰。我把它拆成三块来讲:

2.2.1 BSW层——基础软件层

BSW就是基础软件。说白了,就是MCU的底层驱动、通信协议栈、操作系统这些。在EB tresos里,BSW相关的配置都在 config 文件夹下。

你点开 config 文件夹,会看到一堆 .arxml 文件。每个文件对应一个BSW模块。比如:

  • Can.arxml —— CAN通信配置
  • EcuM.arxml —— ECU管理器配置
  • Os.arxml —— 操作系统配置

我在项目中遇到过一个问题:有同事把Can和CanIf的配置搞混了,结果CAN报文死活发不出去。记住,Can是底层硬件驱动,CanIf是上层接口,别弄反了。

2.2.2 RTE层——运行时环境

RTE是连接SWC和BSW的桥梁。在EB tresos里,RTE的配置是自动生成的,你不需要手动改太多。

RTE相关的文件在 rte 文件夹下。你点开看看,里面会有 Rte.cRte.h 这些文件。这些文件是EB tresos根据你的SWC配置自动生成的。

小技巧: 如果你改了SWC的接口定义,记得重新生成RTE。否则编译时会报“函数未定义”的错误。我刚开始做的时候,经常忘了这步,浪费了不少时间。

2.2.3 SWC层——应用软件组件

SWC是你的应用代码所在的地方。在EB tresos里,SWC的配置在 swc 文件夹下。

每个SWC对应一个 .arxml 文件。比如你写了一个控制车窗的模块,就可以建一个 WindowController.arxml

SWC里最重要的三个东西:

  • 端口(Port)——SWC跟外界通信的接口
  • 运行实体(Runnable)——SWC里实际执行的函数
  • 内部行为(Internal Behavior)——定义Runnable的触发方式

你想想看,SWC就像是一个个独立的小盒子,每个盒子有自己的输入输出,盒子之间通过RTE通信。这样设计的好处是:你可以单独开发、单独测试每个SWC,互不干扰。

2.3 工程导入导出——搬砖必备技能

做项目时,经常需要把工程从一台电脑搬到另一台电脑。或者把某个模块分享给同事。这时候就要用到导入导出功能了。

2.3.1 导出工程

在Project Explorer里右键你的工程,选 Export。

EB tresos支持两种导出方式:

导出方式 适用场景 注意事项
Archive File (.zip) 整个工程打包带走 文件较大,适合完整备份
Project Fragment (.arxml) 只导出某个模块的配置 适合分享给同事

我个人习惯用Archive File方式。因为有时候同事的电脑上缺少某些库文件,用Fragment方式导过去会报错。整包导出最保险。

2.3.2 导入工程

导入就更简单了。File → Import → Existing Projects into Workspace。

然后选择你之前导出的 .zip 文件或者工程文件夹就行。

避坑指南: 我曾经导入一个工程后,发现所有BSW模块都报红叉。查了半天,原来是导入时路径变了,EB tresos找不到配置文件。解决办法:导入后,右键工程 → Properties → Project References,重新关联一下BSW配置。

2.4 工程管理小技巧——来自实战的总结

最后,分享几个我在项目中积累的工程管理经验:

  • 版本控制——用Git管理你的工程。别问我为什么,等你某天不小心删了关键文件就知道了。
  • 命名规范——工程名、模块名、变量名,统一用英文。我见过用拼音命名的工程,那叫一个酸爽。
  • 定期清理——EB tresos的工程会生成很多临时文件。用一段时间后,工程会变得很臃肿。建议定期用 Project → Clean 清理一下。
  • 备份备份备份——重要的事情说三遍。我有个同事,熬夜改了三天配置,结果电脑蓝屏了...嗯,从那以后他学会了每天备份。

好了,这一章的内容就到这。你学会了怎么建工程、怎么看工程结构、怎么导入导出。下一章,我们开始配置第一个BSW模块——Can模块。到时候你会看到,那些 .arxml 文件里到底藏着什么秘密。

记住,别怕犯错。EB tresos的工程大不了删了重建。我刚开始学的时候,一个工程建了删、删了建,折腾了十几次才搞明白。你比我聪明,肯定一次就能搞定。