Autosar 手写界面

Posted

技术标签:

【中文标题】Autosar 手写界面【英文标题】:Autosar interface for handwritten 【发布时间】:2021-01-31 21:40:50 【问题描述】:

我是 Autosar 的新手。

我被要求为手写代码实现 Autosar 接口,创建 RTE 和 ARXML 文件,并将 Arxml 文件发送给其他组。

我的代码中有两个可运行文件。 假设例如接口变量(输入)X和Y,我们的输出为Z: 这是我的代码:

global X;
global Y;
global Z;

Runnable_Step()

    Z = X + Y;

Runnable_Init()

    X =0 ;
    Y =0;
    Z =0;

我想,我的问题是从哪里开始以及如何开始? 我们有 Autosar DaVinci Developer 和 Autosar DaVinci 配置器。

【问题讨论】:

【参考方案1】:

您的问题本质上很笼统,无法用几行来回答。但是,我尝试给出一个一般性的答案,这可能有助于其他人在使用 Vector DaVinci 进行 AUTOSAR 开发中定位自己。

在达芬奇中,您通常在工具之间进行以下工作划分:

    DaVinci Developer 用于对应用程序组件、接口、数据类型等进行建模。您还可以运行 RTE 生成器来生成“合同阶段”工件。 DaVinci Configurator 用于集成/配置 ECU(电子控制单元)。在应用程序开发人员的场景中,它通常用于生成实际构建到最终映像中的 RTE。

实际上,这两种工具之间的转换通常是流畅的:您在配置器中输入一些信息(例如 CAN 堆栈中的信号),然后切换到 Developer 以将信号映射到组件实例的端口,然后切换回来到 Configurator 以配置和生成生产 RTE。

您应该首先考虑您的任务的 AUTOSAR 模型的外观。这包括以下几个方面:

将使用哪些数据类型? 将使用哪些接口(SenderReceiverInterface、ClientServerInterface) 您需要哪些软件组件?使用您在上一步中定义的端口接口添加所需的端口原型 您的软件组件需要 RTE 提供哪些资源?您将这些添加到组件的“内部行为”中。特别是,这些是可运行实体,但也需要考虑对端口的读/写依赖项。 将您的新软件组件集成到***组合中。

这些元素的创建/编辑在 Developer 中完成。根据目前所做的工作,您应该能够生成“合同阶段”RTE 头文件和 C 语言实现存根。然后,您可以通过向提供的存根添加代码来继续实现您的可运行实体。

接下来,您可能需要切换到 Configurator 来配置您的应用程序应该在其中运行的 ECU。如果您的工作基于现有的 ECU,您只需添加到现有模型中即可。如果您还没有 ECU 项目,您需要创建一个并通常使用模型的通信方面来填充它。这可以通过导入通信提取或 CANdb 文件(Vector 的专有 CAN 配置格式)来完成。

切换回 Developer,您可以将软件组件部署到 ECU 上,并将其端口映射到 ECU 已知的信号。

最后,返回配置器,可选择配置基本软件并生成 RTE。为了通过 RTE 生成器的验证过程,正确获取所有 BSW 模块和参数可能是一个漫长的过程。

一旦您成功生成了 RTE,您就可以开始构建过程,然后就可以开始了!

请务必参阅https://www.autosar.org/ 的 AUTOSAR 文档

【讨论】:

嗯,谢谢 Markus Brenner,这很有帮助。我的意思是让我的问题笼统地知道从哪里开始。这里有更多细节:我的函数大约有 20,000 行,由不同组创建的另一个函数调用。我的代码是另一个组的黑匣子,我通常发送带有在头文件中定义的接口的 obj 文件,他们编译他们的代码并与我的 obj 链接。这里是一个例子: my_func () read_interface_from_othergroup;我的代码.. write_interface_to_othergroup; othergroup_func() 调用 func1(); ... 调用 my_func (); .. 调用 funcX(); 在这种情况下,其他组必须处理ECU接口,对吗?我想在我的函数上使用 Autosar 接口,用接口(名称、数据类型、比例、软件组件)创建 RTE 和 ARxml 文件,然后发送到其他组 OBJ 文件 + ARxml 文件。在他们这边,他们将使用我的 ARxml 文件来创建 RTE 文件。然后双方都包含这个 RTE 文件以连接所有接口变量。 我已经在其他项目中完成了这项工作,但我使用的是 Matlab Simulink 模型,使用 Simulink 很容易更改为 Autosar 界面,它为我创建了包含所有接收器端口和发送器端口的 RTE 文件和 Arxml 文件,并将 obj 文件和 ARxml 文件发送到其他组。它工作正常,我想做同样的事情,但手写代码。 如果我错了,请纠正我,在我的情况下,我只需要使用 DaVinci Developer,对吗?在开发者中,需要添加数据类型的SenderReceiverInterface端口并定义SWC,(不使用ClientServerInterface)。我只使用一个SWC。基于此,Developer 将构建建模应用程序组件。然后,生成“合约阶段”RTE头文件,并将我的代码添加到这个模型中。

以上是关于Autosar 手写界面的主要内容,如果未能解决你的问题,请参考以下文章

详解AUTOSAR:什么是AUTOSAR?(理论篇—1)

详解AUTOSAR:AUTOSAR应用接口(理论篇—5)

详解AUTOSAR:AUTOSAR方法论(理论篇—3)

如何理解 autosar 的rte

详解AUTOSAR:AUTOSAR方法论(理论篇—3)

AUTOSAR SWC详解