创建和配置AUTOSAR自适应软件组件
从算法模型创建AUTOSAR自适应软件组件模型。
AUTOSAR Blockset软件支持汽车开放系统架构(AUTOSAR),这是一种开放的标准化汽车软件架构。汽车制造商、供应商和工具开发商共同开发AUTOSAR组件。要在Simulink中开发AUTOSAR自适应组件,请遵循以下通用工作流:
创建AUTOSAR自适应组件的Simulink表示。
通过细化AUTOSAR配置和创建算法模型内容来开发组件。
生成ARXML描述和算法c++代码,用于在Simulink中测试或集成到AUTOSAR运行时环境中。(AUTOSAR代码生成需要Simulink Coder和Embedded Coder)
在Simulink中创建AUTOSAR自适应软件组件
若要创建AUTOSAR自适应软件组件的初始Simulink表示,请执行以下操作之一:
使用现有的Simulink模型创建一个AUTOSAR自适应软件组件。
将AUTOSAR自适应软件组件描述从ARXML文件导入到新的Simulink模型中。(见例子将AUTOSAR自适应组件导入Simulink.)
若要使用现有模型创建AUTOSAR自适应软件组件,请首先打开未映射AUTOSAR软件组件的Simulink组件模型。本例使用AUTOSAR样例模型LaneGuidance
.
open_system (“LaneGuidance”);
在模型窗口,对建模选项卡上,选择模型设置.在“配置参数”对话框中,代码生成窗格中,将系统目标文件设置为autosar_adaptive.tlc
.点击好吧.
在模型的顶层,设置基于事件的通信。AUTOSAR自适应软件组件提供和使用服务。每个组件包含:
一种对收到的事件作出响应而执行任务的算法
所需端口和提供端口,每个端口都与一个服务接口相关联
服务接口,具有关联事件和关联名称空间
AUTOSAR块集提供事件接收而且事件发送块来进行必要的事件和信号连接。
在每个根导入之后,添加一个Event Receive块,它将输入事件转换为信号,同时保留信号值和数据类型。
在每个根输出端口之前,添加一个事件发送块,它将输入信号转换为事件,同时保留信号值和数据类型。
(为了加快块插入,您可以从AUTOSAR示例模型中复制事件块autosar_LaneGuidance
.)
要将模型配置为映射的AUTOSAR自适应软件组件,请打开AUTOSAR组件快速入门。在应用程序选项卡上,单击AUTOSAR组件设计器.打开AUTOSAR组件快速入门。
要为AUTOSAR自适应软件组件开发配置模型,请执行快速启动过程。本例接受“快速入门”中的选项的默认设置设置组件窗格。
在完成窗格,当单击时完成,您的模型在AUTOSAR代码透视图中打开。
在Simulink中配置AUTOSAR自适应软件组件
AUTOSAR代码透视图显示您的模型,在模型的正下方是代码映射编辑器。
接下来使用Code Mappings编辑器和AUTOSAR Dictionary进一步开发AUTOSAR自适应组件。
代码映射编辑器显示模型导入和输出。使用编辑器从Simulink模型透视图将Simulink输入和输出端口映射到AUTOSAR所需端口和提供端口(在AUTOSAR标准中定义)。
打开每个Code Mapping选项卡并检查映射的模型元素。若要修改元素的AUTOSAR映射,请选择一个元素并修改其相关属性。当您选择一个元素时,它将在模型中高亮显示。
要配置映射的AUTOSAR自适应软件组件的AUTOSAR属性,请打开AUTOSAR字典。在代码映射编辑器中,单击最左边的图标AUTOSAR Dictionary按钮。在AUTOSAR视图中打开AUTOSAR字典,该视图对应于您最后选择并在“代码映射”编辑器中映射的Simulink元素。如果您选择并映射了一个Simulink导入,字典将在RequiredPorts视图中打开,并显示您将导入映射到的AUTOSAR端口。
AUTOSAR字典显示映射的AUTOSAR自适应组件及其元素、通信接口和XML选项。使用字典从AUTOSAR组件的角度配置AUTOSAR元素和属性。
打开每个节点并检查其AUTOSAR元素。若要修改AUTOSAR元素,请选择一个元素并修改其相关属性。从模型生成的AUTOSAR XML和符合AUTOSAR的C代码反映了您的修改。
生成c++代码和ARXML描述(嵌入式编码器)
如果您有Simulink Coder和Embedded Coder软件,您可以构建AUTOSAR自适应模型。构建AUTOSAR模型生成符合AUTOSAR的c++代码,并导出AUTOSAR XML (ARXML)描述。在模型窗口,按Ctrl + B或者,在AUTOSAR选项卡上,单击生成代码.
构建完成后,将打开一个代码生成报告。检查报告。验证代码映射编辑器和AUTOSAR字典的更改是否反映在c++代码和ARXML描述中。例如,使用找到字段搜索所修改的Simulink模型元素和AUTOSAR组件元素的名称。
相关链接
代码生成(自适应平台)