配置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 /组件 |
ImplementationQualifiedName |
/ / SwcImplementations /组件 |
ComponentQualifiedName |
/组件/ (对话框中显示的是组件的路径,不需要简称。) |
DataTypePackage |
/数据类型 (数据类型打包受AUTOSAR平台类型属性设置的影响。看到AUTOSAR平台类型以获取更多信息。) |
InterfacePackage |
/接口 |
ApplicationDataTypePackage |
|
SwBaseTypePackage |
(SW基本类型打包受AUTOSAR平台类型属性设置的影响。看到AUTOSAR平台类型以获取更多信息。) |
DataTypeMappingPackage |
|
ConstantSpecificationPackage |
|
DataConstraintPackage |
|
SystemConstantPackage |
|
SwAddressMethodPackage |
|
ModeDeclarationGroupPackage |
|
CompuMethodPackage |
|
UnitPackage |
|
SwRecordLayoutPackage |
|
InternalDataConstraintPackage |
|
在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
打开您为AUTOSAR系统目标文件配置的模型,该模型为AUTOSAR软件组件建模。本例使用示例模型
autosar_swc_expfcns
.打开AUTOSAR字典并选择XML选项.下面是一些AUTOSAR包参数的初始设置。
在这个例子中,导出的XML文件打包设置为
单独的文件
,它会生成一个统一的ARXML文件。如果您更喜欢多个模块化ARXML文件,请将设置更改为模块化
.为您的模型导出到ARXML代码的一个或多个AUTOSAR元素配置包。对于每个包,输入一个路径以定义其在AR-PACKAGE结构中的位置。点击应用.
示例模型导出多个AUTOSAR常量规范。此示例更改ConstantSpecification包参数从
/ pkg / dt /地面
来/ pkg / misc / MyGround
.为模型生成代码。
打开生成的文件
.(如果你设置导出的XML文件打包来modelname
.arxml模块化
,打开生成的文件
)。modelname
_datatype.arxml在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 >
相关的例子
- 将AUTOSAR XML描述导入Simulink金宝app
- 导入AUTOSAR自适应软件描述
- 为组件、接口、CompuMethod或SwAddrMethod配置AUTOSAR包
- 配置AUTOSAR XML选项
- 配置AUTOSAR自适应XML选项
- 配置AUTOSAR XML导出
- 配置AUTOSAR代码生成
- 配置AUTOSAR自适应代码生成