主要内容

配置AUTOSAR自适应代码生成

要从为AUTOSAR自适应平台配置的模型生成符合AUTOSAR的c++代码和ARXML组件描述:

  1. 在“配置参数”对话框中,在代码生成>AUTOSAR代码生成选项窗格,配置AUTOSAR代码生成参数。

  2. 使用AUTOSAR字典或AUTOSAR属性函数配置AUTOSAR XML导出选项。

  3. 可选地,自定义生成的c++类名和自适应模型的命名空间。

  4. 可选地,修改自适应应用程序的运行时日志行为。

  5. 构建的模型。

请注意

CMake版本3.12或以上是AUTOSAR自适应代码生成所必需的。

选择AUTOSAR自适应模式

对于ARXML文件的导入导出和AUTOSAR兼容c++代码的生成,AUTOSAR Blockset支持以下AUTOSAR自适应平台模式版本:

  • R20-11 (00049)

  • R19-11 (00048)

  • R19-03 (00047)

  • R18-10 (00046)

第一次为模型选择AUTOSAR自适应系统目标文件将模式版本参数设置为默认值R20-11 (00049)

如果你将ARXML文件导入到Simulink®, ARXML导入器检测并使用模式版本。它在模型中设置模式版本参数。例如,如果您基于模式R20-11(00049)导入ARXML文件,导入器将在模型中设置匹配的模式版本。

当您构建AUTOSAR自适应模型时,代码生成器导出ARXML描述并生成符合当前AUTOSAR模式版本值的c++代码。

在导出AUTOSAR软件组件之前,请检查所选的模式版本。如果需要更改所选的模式版本,请使用模型配置参数为模式版本生成XML文件(嵌入式编码)

请注意

将AUTOSAR模型配置参数设置为顶级模型和参考模型相同的值。本指南适用于为模式版本生成XML文件(嵌入式编码),最大字长度(嵌入式编码),传输层(嵌入式编码),IP地址(嵌入式编码),港口(嵌入式编码),详细的(嵌入式编码),使用自定义XCP Slave(嵌入式编码)

指定Maximum SHORT-NAME Length

AUTOSAR标准规定的最大长度XML元素是128个字符。

指定的最大长度代码生成器导出的元素,设置模型配置参数最大字长度(嵌入式编码)为32到128之间的整数值,包括。默认为128个字符。

指定XCP从传输层

XCP是一种源于ASAM的网络协议,用于连接校准系统和电子控制单元。它能够在运行时对微控制器系统的变量和内存内容进行读写访问。作为一种两层协议,XCP将协议和传输层分离开来,并坚持单主/多从的概念。传输层的选择不影响XCP协议层。

目前,以下传输层被ASAM定义为标准:

  • 的XCP可以

  • 上的XCP Sxl

  • 以太网上的XCP (TCP/IP或UDP/IP)

  • 在USB的XCP

  • Flex Ray上的XCP

要选择AUTOSAR自适应应用程序(XCP Slave)使用的传输层,使用模型配置参数传输层(嵌入式编码)。选择一个XCP传输层可以启用其他XCP参数。

有关更多信息,请参见为运行时校准和测量配置AUTOSAR自适应数据

指定XCP从IP地址

互联网协议(IP)是跨网络边界中继数据报的主要通信协议。互联网协议负责寻址主机接口,将数据封装到数据报中,并跨一个或多个IP网络将数据报从源主机接口路由到目标主机接口。

每个数据报有两个组件:头和有效载荷。IP头包括源IP地址、目的IP地址和路由和传递数据报所需的其他元数据。有效载荷是它所传输的数据。

要指定执行AUTOSAR自适应应用程序(XCP Slave)的机器的IP地址,请使用模型配置参数IP地址(嵌入式编码)。的IP地址参数通过选择的值启用传输层(嵌入式编码)

有关更多信息,请参见为运行时校准和测量配置AUTOSAR自适应数据

指定XCP Slave Port

端口号是每个使用网络或Internet进行通信的应用程序或进程的逻辑地址。端口号主要帮助网络和应用程序之间的数据传输。端口号与网络协议协同工作以实现这一点。

端口号唯一标识计算机上基于网络的应用程序。每个应用程序分配一个16位整数端口号。该端口号由操作系统分配,由用户手动设置,或者设置为默认值。

要指定AUTOSAR自适应应用程序(XCP Slave)在其上服务XCP Master命令的网口,请使用模型配置参数港口(嵌入式编码)。的港口参数通过选择的值启用传输层(嵌入式编码)

有关更多信息,请参见为运行时校准和测量配置AUTOSAR自适应数据

启用XCP Slave Message Verbosity

冗长是软件信息中包含的技术细节级别。详细的消息可以帮助调试和理解XCP通信。

要为AUTOSAR自适应应用程序(XCP Slave)启用详细消息,请选择模型配置参数详细的(嵌入式编码)。的详细的参数通过选择的值启用传输层(嵌入式编码)

有关更多信息,请参见为运行时校准和测量配置AUTOSAR自适应数据

使用自定义XCP Slave

默认情况下,MathWorks®XCP Slave用于通信。可以为以太网(TCP/IP)传输层使用自定义XCP Slave。需要一个自定义的XCP Slave实现来建立接口。在头文件中定义实现xcp_slave.h在文件夹中matlabroot/工具箱/编码器/ autosar /自适应

要启用使用自定义XCP Slave,请选择模型配置参数使用自定义XCP Slave(嵌入式编码)。的使用自定义XCP Slave参数通过选择的值启用传输层(嵌入式编码)

有关更多信息,请参见为运行时校准和测量配置AUTOSAR自适应数据

检查AUTOSAR自适应XML选项

检查您使用AUTOSAR Dictionary配置的XML选项。如果您还没有配置这些选项,请参见配置AUTOSAR自适应XML选项

在生成代码中自定义类名和命名空间

如果你想自定义生成的代码,你可以以交互方式或编程方式控制生成的AUTOSAR应用程序的c++类名和命名空间。

以交互方式配置生成代码的这些方面,从一个开放模型,在AUTOSAR选项卡上,单击代码接口中,选择班级名称和命名空间,并在打开的配置对话框中自定义名称。

要以编程方式配置名称和名称空间,请使用AUTOSAR函数getClassName,setClassName,getClassNamespace,setClassNamespace

配置Run-Time Logging Behavior

可选地,修改ara:日志基于AUTOSAR自适应应用程序的运行时日志行为。

在AUTOSAR中定义《诊断日志与跟踪规范》,自适应应用程序可以将事件日志信息转发到控制台、文件或网络。这允许您整理和分析来自多个应用程序的日志数据。默认情况下,应用程序将事件消息记录到本地控制台。

要修改自适应模型的默认运行时日志记录行为,可以使用AUTOSAR属性函数,包括。代码生成将指定的日志记录属性导出到ARXML执行清单文件。如果你构建一个Linux®可执行文件,您可以生成一个JSON执行清单文件,修改可执行文件的默认日志记录行为。有关更多信息,请参见为AUTOSAR自适应可执行程序配置运行时日志

生成AUTOSAR Adaptive c++和XML文件

配置AUTOSAR代码生成和XML选项后,生成代码。要生成c++代码并导出XML描述,需要构建自适应组件模型。

构建过程为模型构建文件夹生成符合AUTOSAR的c++代码和AUTOSAR XML描述。导出的XML文件包括:

  • 一个或多个modelname* .arxml文件,根据您是否设置导出XML文件打包单独的文件模块化

  • AUTOSAR可执行程序和服务实例的清单。

  • 如果您将ARXML文件导入到Simulink中,这些文件的更新版本。

此表列出了modelname* .arxml的值生成的文件导出XML文件打包选项在AUTOSAR字典中配置。

导出的XML文件打包值 导出文件名称 默认的内容
单独的文件 modelname.arxml 自适应软件组件、数据类型和接口的AUTOSAR元素。
modelname_ExecutionManifest.arxml 自适应应用程序的部署相关信息,包括可执行程序、进程到机器映射集和进程。
modelname_ServiceInstanceManifest.arxml 面向服务的通信的配置,包括服务接口部署、服务实例和服务实例到端口的映射。
模块化 modelname_component.arxml

自适应软件组件,包括所需和提供的端口。

这是为Simulink模型导出的主要ARXML文件。除了软件组件外,组件文件还包含可打包的元素,导出器不会根据AUTOSAR元素类别将这些元素移动到数据类型或接口文件中。

modelname_datatype.arxml

数据类型和相关元素,包括:

  • 应用程序数据类型

  • 标准Cpp实现数据类型

  • 不断规范

  • 物理数据的约束

  • 单位和单位组

  • 软件记录布局

modelname_interface.arxml 自适应接口,包括具有名称空间和事件的必需和提供的服务接口。
modelname_ExecutionManifest.arxml 自适应应用程序的部署相关信息,包括可执行程序、进程到机器映射集和进程。
modelname_ServiceInstanceManifest.arxml 面向服务的通信的配置,包括服务接口部署、服务实例和服务实例到端口的映射。

您可以将AUTOSAR自适应XML组件描述合并到AUTOSAR创作工具中。AUTOSAR组件信息被划分到单独的文件中,以方便合并。分区试图最小化必须进行的合并的数量。您不需要将数据类型文件合并到创作工具中,因为数据类型在设计过程的早期就定义了。您必须合并内部行为文件,因为这些信息是模型实现的一部分。

为了帮助支持AUTOSAR元素在AUTOSAR创作工具(AAT)和Simulink基于模型的设计环境之间的往返,代码生成器跨ARXML导入和导出保存了AUTOSAR元素及其通用唯一标识符(uuid)。有关更多信息,请参见AUTOSAR XML文件结构和元素信息的双向保存

关于如何生成符合AUTOSAR的c++代码以及从Simulink模型导出AUTOSAR XML组件描述的例子,请参见生成AUTOSAR自适应c++代码和XML描述

另请参阅

|||||(嵌入式编码)|(嵌入式编码)|(嵌入式编码)|(嵌入式编码)|(嵌入式编码)|(嵌入式编码)|(嵌入式编码)

相关的例子

更多关于

Baidu
map