主要内容

配置AUTOSAR包

在仿真金宝app软件®,您可以修改由AUTOSAR标准定义的分层AUTOSAR包结构,即嵌入式编码器®导出到ARXML代码。

AR-PACKAGE结构

AUTOSAR标准定义了AUTOSAR包(ar包)。AR-PACKAGE包含一组AUTOSAR元素,并位于一个分层的AR-PACKAGE结构中。在AUTOSAR创作工具(AAT)或Simulink中,您可以配置AR-PACKA金宝appGE结构:

  • 符合组织的或标准化的AR-PACKAGE结构。

  • 为包中的元素建立命名空间。

  • 提供对元素的相对引用的基础。

ARXML导入器将ar包及其元素和路径导入到Simulink中。金宝app模型配置保存后续导出到ARXML代码的包。通常,该软件在AAT和Simulink之间的往返中保留AUTOSAR包。金宝app

如果您的AUTOSAR组件起源于Simulink,在组件创建时,AUTOSAR组金宝app件构建器会创建一个初始的默认AR-PACKAGE结构,其中包含以下包。

  • 软件组件

  • 数据类型

  • 端口的接口

  • 实现

例如,假设您从一个简单的Simulink模型开始,例如金宝apprtwdemo_counter.将其重命名为mySWC.为AUTOSAR代码生成配置模型。(例如,打开嵌入式编码器快速入门,选择AUTOSAR代码生成。)在构建模型时,其初始AR-PACKAGE结构类似于下图。

组件创建之后,可以使用XML选项查看AUTOSAR字典来指定额外的ar包。(见配置AUTOSAR XML选项配置AUTOSAR自适应XML选项)。每个ar包代表一个AUTOSAR元素类别。在代码生成期间,如果模型中存在其类别的任何元素,ARXML导出器将生成一个包。对于每个包,您指定一个路径,该路径定义了它在AR-PACKAGE结构中的位置。

使用XML选项,您可以为以下类别的AUTOSAR元素配置AUTOSAR包:

  • 应用程序数据类型

  • 软件库类型

  • 数据类型映射集

  • 常量和值

  • 物理数据约束(由应用程序数据类型或数据原型引用)

  • 系统常量

  • 软件地址方法

  • 模式声明组

  • 计算方法

  • 单位和单位组

  • 软件记录布局(适用于CURVE、MAP、CUBOID或COM_AXIS类别的应用程序数据类型)

  • 内部数据约束(由实现数据类型引用)

请注意

  • 对于用XML选项定义的包,只有当模型包含包类别的元素时,ARXML导出器才生成包。例如,仅当模型包含软件地址方法元素时,导出器才生成软件地址方法包。

  • 您可以为列出的元素指定单独的包,例如应用程序数据类型。实现数据类型聚合在主数据类型包中。

AR-PACKAGE结构在逻辑上不同于您可以使用XML选项为ARXML导出选择的单文件或模块文件分区导出的XML文件打包.有关AUTOSAR包导出的详细信息,请参见导出的ARXML文件中的ar包位置

配置AUTOSAR包和路径

如果您将AR-PACKAGE结构导入到Simulink中,ARXML导入器将保留ARX金宝appML代码中定义的包-元素关系和包路径。此外,导入器在组件和中填充包装属性XML选项AUTOSAR字典中的视图。如果ARXML代码没有根据类别将AUTOSAR元素分配给包,导入器将使用启发式方法确定包的最佳类别关联。但是,一个类别最多只能关联一个包。

假设您从一个非AUTOSAR Simulink模型开始,并为AUTOSAR代码生成配金宝app置该模型。(例如,打开嵌入式编码器快速入门,选择AUTOSAR代码生成。)该软件创建一个初始的默认ar包结构。创建组件后,将显示AUTOSAR字典中的组件视图组件XML选项,包括组件的包路径、内部行为和实现。

XML选项view显示AUTOSAR数据类型和接口包以及其他包的路径。

使用额外的包子窗格中,可以填充其他包的路径字段,也可以将其保留为空。如果您将包字段保留为空,并且如果模型包含该类别的可打包元素,则ARXML导出器将使用内部规则计算包路径。内部规则的应用程序与早期版本向后兼容。下表列出了XML选项打包属性及其基于规则的默认包路径。

属性名 基于内部规则的包路径
InternalBehaviorQualifiedName / / InternalBehaviors /组件modelname_IB
ImplementationQualifiedName / / SwcImplementations /组件modelname_Impl
ComponentQualifiedName /组件/modelname
(对话框中显示的是组件的路径,不需要简称。)
DataTypePackage /数据类型
(数据类型打包受AUTOSAR平台类型属性设置的影响。看到AUTOSAR平台类型以获取更多信息。)
InterfacePackage /接口
ApplicationDataTypePackage DataTypePackage/ ApplDataTypes
SwBaseTypePackage DataTypePackage/ SwBaseTypes
(SW基本类型打包受AUTOSAR平台类型属性设置的影响。看到AUTOSAR平台类型以获取更多信息。)
DataTypeMappingPackage DataTypePackage/ DataTypeMappings
ConstantSpecificationPackage DataTypePackage/常量
DataConstraintPackage ApplicationDataTypePackage/ DataConstrs
SystemConstantPackage DataTypePackage/ SystemConstants
SwAddressMethodPackage DataTypePackage/ SwAddrMethods
ModeDeclarationGroupPackage DataTypePackage/ ModeDeclarationGroups
CompuMethodPackage DataTypePackage/ CompuMethods
UnitPackage DataTypePackage/单位
SwRecordLayoutPackage DataTypePackage/ SwRecordLayouts
InternalDataConstraintPackage DataTypePackage/ DataConstrs

在MATLAB中设置打包属性®命令窗口或脚本中,使用AUTOSAR属性函数调用类似如下:

hModel = 'autosar_swc_counter';目录fullfile (matlabroot ' / / autosarblockset /主要例子'));open_system (hModel);arProps = autosar.api.getAUTOSARProperties (hModel);集(arProps,‘XmlOptions’,‘ApplicationDataTypePackage’,‘/公司/动力/数据类型/ adt ');get (arProps,‘XmlOptions’,‘ApplicationDataTypePackage’)

有关示例脚本,请参见配置AUTOSAR XML导出

有关配置和导出AUTOSAR包的示例,请参见导出AUTOSAR包

控制受包路径修改影响的AUTOSAR元素

如果您修改了AUTOSAR包路径,并且该类别的可打包元素受到影响,则可以:

  • 将元素从现有包移动到新包。

  • 在不移动元素的情况下设置新的包路径。

如果修改AUTOSAR Dictionary中的包路径,并且该类别的可打包元素受到影响,则会打开一个对话框。例如,如果修改XML选项ConstantSpecification包从路径值/ pkg / dt /地面/ pkg / misc / MyGround,软件弹出如下对话框。

若要将AUTOSAR常量规格元素移动到新包中,请单击好吧.若要设置新的包路径而不移动元素,请单击取消

如果以编程方式修改包路径,则可以使用MoveElements属性指定受影响元素的处理。属性可以设置为所有(默认),没有一个,或警报.如果你指定警报,如果可包装的元素受到影响,软件将以好吧而且取消按钮。

例如,下面的代码设置了一个新的常量规范包路径,而不将现有的常量规范元素移动到新包中。

hModel =“autosar_swc_expfcns”;目录(fullfile (matlabroot,' / / autosarblockset /主要的例子));open_system (hModel);arProps = autosar.api.getAUTOSARProperties(hModel);集(arProps,“XmlOptions”“ConstantSpecificationPackage”' / pkg / misc / MyGround '“MoveElements”“没有”);

导出AUTOSAR包

本示例展示如何为源自Simulink的AUTOSAR软件组件配置和导出AUTOSAR包。金宝app

  1. 打开您为AUTOSAR系统目标文件配置的模型,该模型为AUTOSAR软件组件建模。本例使用示例模型autosar_swc_expfcns

  2. 打开AUTOSAR字典并选择XML选项.下面是一些AUTOSAR包参数的初始设置。

    在这个例子中,导出的XML文件打包设置为单独的文件,它会生成一个统一的ARXML文件。如果您更喜欢多个模块化ARXML文件,请将设置更改为模块化

  3. 为您的模型导出到ARXML代码的一个或多个AUTOSAR元素配置包。对于每个包,输入一个路径以定义其在AR-PACKAGE结构中的位置。点击应用

    示例模型导出多个AUTOSAR常量规范。此示例更改ConstantSpecification包参数从/ pkg / dt /地面/ pkg / misc / MyGround

  4. 为模型生成代码。

  5. 打开生成的文件modelname.arxml.(如果你设置导出的XML文件打包模块化,打开生成的文件modelname_datatype.arxml)。

  6. 在XML代码中搜索您配置的包,例如,使用文本AR-PACKAGE或元素名称。对于示例模型,搜索autosar_swc_expfcns.arxml对于文本MyGround找到常量规范包及其许多引用。下面是一个示例代码摘录。

导出的ARXML文件中的ar包位置

将AUTOSAR元素分组到AUTOSAR包(ar包)中在逻辑上不同于使用AUTOSAR配置参数的ARXML输出文件包导出的XML文件打包控制。你是否设置导出的XML文件打包单独的文件模块化, ARXML导出保存配置的AR-PACKAGE结构。

假设您配置了示例模型autosar_swc_expfcns使用以下AR-PACKAGE结构。(请参阅下面的步骤导出AUTOSAR包).在此配置中,常量规格包的路径已从初始模型设置更改,/ pkg / dt /地面,/ pkg / misc / myGround

如果将此AR-PACKAGE结构导出到单个文件(导出的XML文件打包设置为单独的文件),导出的ARXML代码会保留已配置的AR-PACKAGE结构。

autosar_swc_expfcns.arxml:< ar-packages > < ar-package > < short-name >包裹< /字>…<字>swc< /字>…<字>如果< /字>…<字>dt< /字>…<字>SwBaseTypes< /字>…<字>misc< /字>…<字>MyGround< /字>…<字>小鬼< /字>…< / AR-PACKAGE > < / AR-PACKAGES >

如果将相同的AR-PACKAGE结构导出到多个文件(导出的XML文件打包设置为模块化),导出的ARXML代码保存配置的ar包结构,分布在多个文件中。

导出器根据元素类别(而不是包路径)将可打包的AUTOSAR元素映射到ARXML文件。例如,导出器映射面向数据类型的数据ConstantSpecification包,/ pkg / misc / myGround,到数据类型ARXML文件,autosar_swc_expfcns_datatype.arxml

autosar_swc_expfcns_component.arxml:< ar-packages > < ar-package > < short-name >包裹< /字>…<字>swc< /字>…< / AR-PACKAGE > < / AR-PACKAGES >autosar_swc_expfcns_datatype.arxml:< ar-packages > < ar-package > < short-name >包裹< /字>…<字>dt< /字>…<字>SwBaseTypes< /字>…<字>misc< /字>…<字>MyGround< /字>…< / AR-PACKAGE > < / AR-PACKAGES >autosar_swc_expfcns_implementation.arxml:< ar-packages > < ar-package > < short-name >包裹< /字>…<字>小鬼< /字>…< / AR-PACKAGE > < / AR-PACKAGES >autosar_swc_expfcns_interface.arxml:< ar-packages > < ar-package > < short-name >包裹< /字>…<字>如果< /字>…< / AR-PACKAGE > < / AR-PACKAGES >

相关的例子

更多关于