
AUTOSAR 三大工具链全了:AI 现在能配 EB、达芬奇、ETAS
新增 ETAS ISOLAR 支持与 System Template,EB、DaVinci、ETAS 三大工具链齐备;SwcD 等系统级 ARXML 可一并加载,RTE 配置不再卡在空引用列表。
上周把两件攒了一段时间的事情一起上线了:
- AutoC 支持 ETAS RTA-CAR / ISOLAR-B 工具链
- 新增 System Template,可以把 SWC 描述等系统级 ARXML 一起加载进来
这两件事放在一篇里说,是因为它们经常一起出现。比如配 RTE 时,如果 SwcD 没加载进来,RTE 就不知道有哪些 SWC、runnable 和端口可用。
先说 ETAS 支持
AutoC 之前已经支持 EB tresos 和 Vector DaVinci Configurator。ETAS 是现在补上的第三套工具链。

配置至少需要安装路径与工程路径:
{
"etas": {
"installPath": "D:\\ETAS\\RTA-CAR_12.1.0\\ISOLAR-AB_12.1.2",
"projectPath": "."
}
}若自动扫描到的 ECUC 值 ARXML 不符合预期,可在 etas.dataArxmlPaths 中显式指定要加载的文件(相对工程根,支持 glob 与多文件)。详见 ETAS ISOLAR 配置。
把它放到工程目录下的 .autoc/settings.json,执行 /reload 生效。也可以用 /settings 交互配置,进入 ETAS ISOLAR 子菜单,第一次用会更省心。
配置是否成功,看启动信息里的 ETAS ISOLAR 一栏:

再说 System Template
System Template 乍看不大,但做过 RTE 或通信栈配置的人应该知道它解决的是什么。
BSW 配置文件里有大量 foreign reference。Com 信号要引用系统描述里的信号定义,RTE 要引用 SWC 的 runnable,PduR 要引用 PDU。问题是这些对象不在 BSW 工程里,而是在另一套系统级 ARXML 里。
如果这些文件没有加载进来,AutoC 在列举 v:ref 候选项时只能拿到空列表。System Template 做的事很直接:把这些系统级 ARXML 一起放进当前工作上下文。
加载方式推荐用 /system 命令:
/system import Config/System/Armf_SwcD.arxml
/system import Config/System/*.arxml支持 glob,多文件逗号分隔。也可以写进 settings.json:
{
"autosar": {
"systemTemplatePaths": [
"Config/System/Armf_SwcD.arxml"
]
}
}加载之后,RTE、Com、PduR 里的引用型配置项就能选到候选值。
一个 ARMF 项目的例子
下面用一个 ARMF 项目演示完整流程。这里的 ARMF 是某量产平台里的主动横向稳定杆控制软件组件,系统描述文件是 Armf_SwcD.arxml。
整个 ARMF 软件组件拆成 5 个 SWC:
| SWC 名称 | 职责 |
|---|---|
SWC_ArmfMain | 主控逻辑,10ms 周期 |
SWC_ArmfSafety | 安全监控,10ms 周期 |
SWC_ArmfMotCtrl | 电机控制,1ms 快速任务 + 10ms 慢速任务 |
SWC_ArmfSigProc | 信号处理,10ms 周期 |
SWC_ArmfComm | 通信处理,20ms 周期 |
每个 SWC 都有一个 Init runnable 和至少一个 Cyclic runnable。SWC_ArmfMotCtrl 多了两个周期任务:RE_MotCtrl_Fast 是 1ms,RE_MotCtrl_Slow 是 10ms。电机控制里这种快慢分层很常见。
端口主要分两类:
- SR 端口:
TqReqFrnt(扭矩需求)、PwrCnsLim(功率限制)、VehModMngt(整车模式管理)、ActvRollBarStsFrnt(主动横向稳定杆状态)等 - CS 端口:
CSIf_Dem(故障上报)、CSIf_NvM(非易失存储读写)
【截图占位:SWC 端口连接关系图,在 ETAS 或 DaVinci 里看到的 Composition 视图】
第一步:加载 SwcD
把 ARXML 导入进来:
/system import Armf_SwcD.arxml
第二步:配置 RTE
加载之后,可以直接让 AutoC 根据 SwcD 配 RTE:
根据已加载的 SwcD,帮我配置 RTE——
SWC 映射、runnable 实体、data access point 都按 SwcD 的定义来AutoC 会读取 SwcD 里的 SWC 类型定义、端口和 runnable,然后在 RTE 配置里生成对应项:
SwcInstanceToTaskMapping(SWC 实例到任务的映射)RunnableEntity(runnable 实体注册)PortDefinedArgumentValue/DataReceivedErrorEvent(数据访问点)






小结
这次更新主要补了两个能力。
ETAS 支持补上以后,EB、DaVinci、ETAS 三套常见工具链都能接。项目用哪套,AutoC 就连哪套。
System Template 则把工作范围从 "只看 BSW" 扩到 "BSW 和系统级 ARXML 一起看"。RTE、Com、PduR 这类需要引用 SWC、信号或 PDU 定义的配置,现在才算配得完整。
两个功能的文档在这里:
如果你们项目里正在用 ETAS,或者 RTE 配置一直卡在引用候选项为空,这两个功能可以先试一下。
