AUTOSAR CP 之 配置、开发流程、工具链 解析

前言:在上一篇文章中,我们从架构、模块的角度对Autosar CP进行了一定解析,本文我们从配置、开发流程、工具链三个角度继续解读一下。

目录

[一、Autosar CP配置](#一、Autosar CP配置)

[1.1 配置流程](#1.1 配置流程)

[1.2 ARXML文件](#1.2 ARXML文件)

二、开发流程

三、工具链

[3.1 Vector DaVinci](#3.1 Vector DaVinci)

[3.2 ETAS ISOLAR-A/B](#3.2 ETAS ISOLAR-A/B)

[3.3 EB tresos Studio](#3.3 EB tresos Studio)

[3.4 国产工具链](#3.4 国产工具链)


一、Autosar CP配置

AUTOSAR CP 的配置采用分层级 的系统配置方法,主要包括三个核心层级:系统配置(System

Configuration)、ECU 配置(ECU Configuration)和软件组件配置(Software Component

Configuration)。

系统配置:是AUTOSAR 配置的最高层级,它定义了整个车辆电子系统的架构。其功能主要是在资源和时序关系的前提下,把软件组件映射到各个 ECU 上,然后借助系统配置生成器生成系统配置描述文件。

ECU 配置:是系统配置的下一层级,主要是为特定 ECU 添加必要的信息和数据,如任务调度、必要的基础软件模块及其配置、运行实体及任务分配等,并将结果保存在 ECU 配置描述文件中。

软件组件配置:是配置体系的最底层,负责定义软件组件的内部行为和接口。

1.1 配置流程

系统配置阶段:

• 第一步:创建系统描述文件(System.arxml)

• 第二步:定义整车拓扑结构,包括 ECU 节点、总线类型、网络连接

• 第三步:进行通信设计,将信号映射到 PDU,再映射到物理报文

• 第四步:定义诊断服务和 DTC 列表

• 第五步:配置网络管理策略

ECU 提取阶段:

• 第一步:从系统描述中提取本 ECU 相关配置

• 第二步:使用 ECU Extractor 模块进行配置提取

• 第三步:生成 ECU 级别的配置文件

ECU 配置阶段:

• 第一步:配置微控制器和外设

• 第二步:配置基础软件模块(OS、COM、DCM 等)

• 第三步:配置任务调度和资源分配

• 第四步:生成 ECU 配置文件

软件组件配置阶段:

• 第一步:设计软件组件类型

• 第二步:定义端口和接口

• 第三步:配置内部行为(Runnable、Event 等)

• 第四步:生成 SWC 描述文件(.arxml)

配置工具链我们在第三节进行详细介绍。

1.2 ARXML文件

ARXML 文件本质上就是一个**"工程蓝图"** 或**"合同"**。它采用 XML 的格式,严格定义了 AUTOSAR 系统里有哪些零件(SWC)、零件上有哪些接口、数据类型是什么,以及它们是如何连接的。

ARXML 文件采用典型的分层包(Package)结构,最外层是根节点,内部按功能域划分为多个包,每个包又可嵌套子包。

ARXML文件的基本结构如下:

bash 复制代码
ARXML (AUTOSAR XML)
├── 包 (AR-PACKAGE)              ← 组织单元
│   ├── 元素 (ELEMENTS)
│   │   ├── 软件组件 (SWC)
│   │   ├── 数据类型 (DataTypes)
│   │   ├── 接口 (PortInterfaces)
│   │   └── 系统配置 (System)
│   └── 子包 (AR-PACKAGES)
└── 管理数据 (ADMIN-DATA)         ← 版本/作者信息

你通常不需要手写 ARXML ,但必须看得懂!

这里展示一个简易例子:

  • 定义一个温度类型(16 位数字)
  • 定义一个通信接口,里面包含温度信号
  • 定义一个软件组件:
    • 有一个发送端口 → 发温度
    • 有一个接收端口 → 收温度
bash 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<AUTOSAR xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://autosar.org/schema/r4.0 autosar_4_3.xsd">

<!-- ========================================== -->
<!-- 1. 定义数据类型:一个温度信号 -->
<!-- ========================================== -->
<DATA-TYPE>
  <SHORT-NAME>Temperature_Type</SHORT-NAME>
  <BASE-TYPE>
    <BASE-TYPE-ENCODING>2's complement</BASE-TYPE-ENCODING>
    <BITS>16</BITS>
  </BASE-TYPE>
</DATA-TYPE>

<!-- ========================================== -->
<!-- 2. 定义接口:Sender-Receiver 接口 -->
<!-- ========================================== -->
<SENDER-RECEIVER-INTERFACE>
  <SHORT-NAME>Temp_Interface</SHORT-NAME>
  <DATA-ELEMENT>
    <SHORT-NAME>Temperature</SHORT-NAME>
    <TYPE>
      <DATA-TYPE-REF DEST="DATA-TYPE">/Temperature_Type</DATA-TYPE-REF>
    </TYPE>
  </DATA-ELEMENT>
</SENDER-RECEIVER-INTERFACE>

<!-- ========================================== -->
<!-- 3. 定义软件组件 SWC + 端口 -->
<!-- ========================================== -->
<APPLICATION-SOFTWARE-COMPONENT>
  <SHORT-NAME>TempSensor_SWCD</SHORT-NAME>

  <!-- 提供端口(发送数据) -->
  <PROVIDED-PORT>
    <SHORT-NAME>Temp_Send_Port</SHORT-NAME>
    <INTERFACE>
      <SHORT-NAME-REF DEST="SENDER-RECEIVER-INTERFACE">/Temp_Interface</SHORT-NAME-REF>
    </INTERFACE>
  </PROVIDED-PORT>

  <!-- 需求端口(接收数据) -->
  <REQUIRED-PORT>
    <SHORT-NAME>Temp_Receive_Port</SHORT-NAME>
    <INTERFACE>
      <SHORT-NAME-REF DEST="SENDER-RECEIVER-INTERFACE">/Temp_Interface</SHORT-NAME-REF>
    </INTERFACE>
  </REQUIRED-PORT>
</APPLICATION-SOFTWARE-COMPONENT>

</AUTOSAR>

二、开发流程

AutoSar CP 的开发遵循一套严谨的 V 模型流程:

  1. 系统配置:定义系统架构、组件接口、通信矩阵,生成系统级 ARXML。
  2. ECU 配置:将系统配置映射到具体的 ECU,分配任务、调度表、资源。
  3. 代码生成:配置工具根据配置自动生成 RTE 代码和 BSW 配置代码。
  4. 应用开发:开发者编写 SWC 内部的功能代码,调用 RTE 提供的接口。
  5. 编译集成:将生成的代码、应用代码和基础软件库编译链接,生成最终的可执行文件。

三、工具链

国际上 AUTOSAR 三大工具链厂商分别是 Vector、ETAS 和 EB。

  • Vector:基本上可以配合所有主流 MCU 芯片,工具链完整、技术实力雄厚、软件质量优异,在行业内处于领先地位。
  • ETAS:偏向意法半导体、英飞凌和瑞萨,价格更有优势,在小型 ECU 开发中表现良好。
  • EB:偏向瑞萨和 NXP 的 MCU,在特定芯片平台上有深度优。

3.1 Vector DaVinci

Vector DaVinci套件是市场领导者,它主要包括DaVinci Developer和DaVinci Configurator。

DaVinci Developer:用于实现和测试 AUTOSAR 应用程序,支持代码生成和仿真。

包括以下功能:

  1. 创建和维护 AUTOSAR ARXML 文件,用于软件组件、组合和系统描述

  2. 定义端口、接口、数据类型、runnables 和事件,包括校准参数

  3. 建模内部行为并通过基于服务和信号的通信连接组

DaVinci Configurator Pro:它是配置、验证和生成BSW和运行时环境(RTE)的核心工具,支持从系统设计到 ECU 配置的完整流程。

bash 复制代码
      DaVinci Configurator Pro          
  ┌────────────────────────────────┐   
  │    • ECU配置 (ECU Extract)          
  │    • RTE生成                        
  │    • BSW配置 (COM/NVM/OS/DEM...)    
  │    • 诊断配置 (DCM/DEM)            
  │    • 存储配置 (NVM/MemIf)          
  │    • 通信配置 (COM/PduR/CanIf)      
  └────────────────────────────────┘   

DaVinci 工具链的优势:

  1. 统一的工作流程:Vector DaVinci 作为主流的 AutoSAR 配置工具,支持从系统级建模到具体 ECU 通信参数配置的全流程实现。Vector DaVinci 通过标准化的 ARXML(AUTOSAR XML)文件实现与其他工具链的数据交互,确保从系统设计到代码生成的无缝衔接。

  2. 广泛的格式支持:Vector 工具链支持 DBC、ARXML、ODX 等多种格式的直接导入,自动化程度高,对新手上手较为友好。

  3. 模型驱动开发:采用模型驱动架构,通过元模型实现配置即代码的开发模式。

3.2 ETAS ISOLAR-A/B

ETAS 作为博世集团子公司,提供了另一个主流的 AUTOSAR CP 工具链。

ETAS ISOLAR工具包括 ISOLAR-A 和 ISOLAR-B 两个部分。

ISOLAR-A:用于 AUTOSAR 架构配置与应用集成工具。它是一个设计 AUTOSAR 架构的工具,帮助用户设计应用层软件。

bash 复制代码
─────────────────────────────────  
   ISOLAR-A (Architect) 
---------------------------------------------------------------------------------------------------        
     • 系统级架构设计                
     • 网络拓扑设计 (CAN/LIN/Eth)     
     • 通信矩阵设计 (DBC/LDF)          
     • 诊断需求定义                
     • 系统映射 (SWC to ECU)          
     • 生成 System ARXML              
─────────────────────────────────   

ISOLAR-B:用于配置满足 AUTOSAR 标准的基础软件,以及用于生成和集成 ECU 软件的工具。它允许用户自动配置基本软件,以满足应用软件需求。

ETAS 工具链的特点:

  1. 成本优势:ETAS 工具链价格更有优势,在小型 ECU 开发中表现良好。
  2. 芯片兼容性:作为博世集团子公司,ETAS 偏向意法半导体、英飞凌和瑞萨等芯片平台。
  3. 安全分析集成:ETAS ISOLAR-AB 集成安全分析模块,自动生成 FTA(故障树分析)

3.3 EB tresos Studio

EB tresos Studio深度集成了英飞凌AURI芯片,具备强大的MCAL配置能力,完整的BSW堆栈。

核心模块:

bash 复制代码
────────────────────────────────
    EB tresos Studio 
------------------------------------------------------------------------------------------------
    • 项目配置管理                      
    • 模块参数配置 (GUI/表格/脚本)       
    • 一致性验证                       
    • 代码生成                          
─────────────────────────────── 

3.4 国产工具链

  1. NeuSAR(东软睿驰):2018 年,东软睿驰正式发布 NeuSAR 基础软件版本,率先实现国内 "-

AUTOSAR AP+CP + 中间件" 全栈软件平台产品量产落地,经过持续迭代,目前已升级至 AUTOSAR R21-11 版本。

  1. 普华基础软件:面向中国整车企业和一级供应商提供车用基础软件平台、开发工具以及本地化增值服务。普华基础软件成为 AUTOSAR 高级合作伙伴,成功通过 Automotive SPICE 3 级认证。
相关推荐
xyq20241 小时前
Bootstrap4 提示框
开发语言
小小测试开发1 小时前
NVIDIA SANA-WM:2.6B 开源世界模型,单卡 H100 生成 1 分钟 720p 视频
c++·音视频·mfc
yqcoder1 小时前
JavaScript 的速度秘密:深入理解 JIT (即时编译)
开发语言·javascript·ecmascript
吴声子夜歌2 小时前
Java——动态代理
java·开发语言·代理模式
Romantic_love_2 小时前
【类和对象 :上篇】
c++·学习
存在morning2 小时前
【GO语言开发实践】一 GO 语法快速上手
开发语言·python·golang
晨曦中的暮雨2 小时前
Python 并发模型理解:GIL、线程、async 到底是什么关系
开发语言·python
星恒随风2 小时前
四天学完前端基础三件套(JavaScript webAPI篇)
开发语言·前端·javascript
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题 第59题】【JVM篇】第19题:并发标记过程中会出现什么问题?
java·开发语言·jvm