Main Content

开发符合 AUTOSAR 标准的模型

生成符合 AUTOSAR 的 C 代码,并从 Simulink® 模型中导出 AUTOSAR XML (ARXML) 描述。

AUTOSAR Blockset 软件支持汽车开放系统架构 (AUTOSAR),这是一种开放且标准化的汽车软件架构。汽车制造商、供应商和工具开发人员共同开发 AUTOSAR 组件。要在 Simulink 中开发 AUTOSAR 组件,请遵循以下一般工作流:

  1. 创建 AUTOSAR 组件的 Simulink 表示。

  2. 通过优化 AUTOSAR 配置和创建算法模型内容来开发组件。

  3. 生成 ARXML 描述和算法 C 或 C++ 代码,用于在 Simulink 中测试或集成到 AUTOSAR 运行时环境中。(AUTOSAR 代码生成需要 Simulink Coder™ 和 Embedded Coder®。)

准备模型以进行 AUTOSAR 代码生成

要了解生成符合 AUTOSAR 标准的 C 代码和从 AUTOSAR 模型导出 ARXML 描述的步骤,请打开一个模型并为 AUTOSAR 代码生成准备模型。

打开一个要从中生成 AUTOSAR 代码和描述的模型。该模型可以是未针对代码生成进行任何配置或仅进行了部分配置的模型。此示例使用 AUTOSAR 示例模型 autosar_swc

open_system('autosar_swc.slx');

要为 AUTOSAR 代码生成准备模型,请使用 Embedded Coder 快速向导。从 App 选项卡中,打开 AUTOSAR 组件设计器。在 AUTOSAR 选项卡上,点击快速向导

完成快速入门过程。在 Output 窗口中,选择输出选项符合 AUTOSAR 的 C 代码

快速入门软件采取以下步骤来配置 AUTOSAR 软件组件模型:

  1. 为模型配置代码生成设置。如果尚未选择 AUTOSAR 目标,软件会将模型配置参数系统目标文件设置为 autosar.tlc 并将为架构版本生成 XML 文件设置为一个默认架构值。

  2. 如果不存在 AUTOSAR 映射,则为模型创建一个映射的 AUTOSAR 软件组件。

  3. 执行模型编译。

在最后一个窗口中,当您点击完成时,您的模型将在 AUTOSAR 代码透视中打开。代码透视将显示您的模型,并且在模型的正下方显示代码映射编辑器。

开发 AUTOSAR 软件组件的 Simulink 表示

在 Simulink 中创建 AUTOSAR 软件组件模型后,可使用代码映射编辑器和 AUTOSAR 字典来进一步开发 AUTOSAR 组件。有关详细信息,请参阅 AUTOSAR Component Configuration (AUTOSAR Blockset)

代码映射编辑器采用选项卡式表格来显示 Simulink 模型元素,例如入口函数、输入端口、输出端口和数据传输。使用该编辑器可从 Simulink 模型角度将 Simulink 模型元素映射到 AUTOSAR 组件元素。AUTOSAR 组件元素按照 AUTOSAR 标准定义,包括可运行实体、端口和可运行实体间变量 (IRV)。

在代码映射编辑器中,当您选择一个模型元素时,它会在模型中突出显示,并显示编辑图标 。要查看该元素的其他 AUTOSAR 属性,请点击该图标。以下是某模型输入端口的 AUTOSAR 属性显示。

在每个代码映射编辑器的选项卡中,您可以选择模型元素并修改其 AUTOSAR 映射和属性。您的修改会反映在生成的 ARXML 描述和 C 代码中。如果您在此示例中使用的是 AUTOSAR 示例模型 autosar_swc,请修改映射的 Simulink 输入端口 In1_1s 的通信属性。在 AUTOSAR 属性显示中,将 AliveTimeout 特性从 60 更改为 30,将 HandleNeverReceived 从清除状态更改为选中状态,并将 InitValue 从 0 更改为 1。

要配置映射的 AUTOSAR 软件组件的 AUTOSAR 属性,请打开 AUTOSAR 字典。在代码映射编辑器中,点击最左边的 AUTOSAR 字典按钮。AUTOSAR 字典随即会打开,并基于您在代码映射编辑器中选择和映射的 Simulink 元素显示对应的 AUTOSAR 视图。如果选择并映射了 Simulink 输入端口,字典将打开 ReceiverPorts 视图,并显示输入端口映射到的 AUTOSAR 端口。

AUTOSAR 字典以树格式显示映射的 AUTOSAR 组件及其元素、通信接口、计算方法、软件寻址方法和 XML 选项。使用该字典可从 AUTOSAR 组件的角度配置 AUTOSAR 元素和属性。

在 ReceiverPorts 视图中,在代码映射编辑器中选择 Simulink 输入端口映射到的 AUTOSAR 接收方端口。如果 AUTOSAR 元素有其他未显示的属性,选择该元素可显示它们。在每个 AUTOSAR 元素视图中,您可以添加或重命名 AUTOSAR 元素,并修改它们的显示属性。您的修改会反映在生成的 ARXML 描述和 C 代码中。

如果您在此示例中使用的是 AUTOSAR 示例模型 autosar_swc,可将 AUTOSAR 接收方端口从 ReceivePort 重命名为 RequirePort。要开始编辑,请点击名称值字段。

生成 C 代码和 ARXML 描述

如果您有 Simulink Coder 和 Embedded Coder 软件,您就可以编译 AUTOSAR 模型。编译 AUTOSAR 模型可生成符合 AUTOSAR 规范的 C 代码,并导出 ARXML 描述。在模型窗口中,按 Ctrl+B

编译完成后,将打开代码生成报告。检查报告。验证您在代码映射编辑器和 AUTOSAR 字典上所做的更改是否反映在 C 代码和 ARXML 描述中。例如,使用查找字段搜索您修改和重命名的 AUTOSAR 接收方端口的名称。

生成的 C 代码在 AUTOSAR 运行时环境 API 读取调用中对 AUTOSAR 接收方端口名称进行编码。

生成的 AUTOSAR 接收方端口的 ARXML 描述使用修改后的端口名称和端口通信属性 AliveTimeoutHandleNeverReceivedInitValue 的修改值。

相关链接