主要内容

为代码生成地图AUTOSAR元素

在仿真金宝app软件®映射,您可以使用代码编辑器和AUTOSAR字典单独或共同图形化配置一个AUTOSAR软件组件和仿真软件模型元素映射到AUTOSAR组件元素。金宝app有关更多信息,请参见AUTOSAR组件配置

使用代码映射编辑器仿真软件模型元素映射到AUTOSAR组件元素从仿真软件金宝app模型的角度来看。编辑器显示包括几个选项卡表,包括功能,港口,外港。使用的表选择模型元素并将它们映射到相应的AUTOS金宝appAR元素。您配置的映射是反映在AUTOSAR-compliant C代码生成和导出ARXML描述。

代码映射编辑器还提供了从AUTOSAR软件组件引用映射的子模型。有关更多信息,请参见引用AUTOSAR地图校准数据的子组件模型

金宝app仿真软件AUTOSAR映射工作流

仿真软件模型元金宝app素映射到AUTOSAR软件组件元素:

  1. AUTOSAR系统目标文件的打开一个模型autosar.tlc被选中。

  2. 创建或打开一个AUTOSAR的映射视图模型。在模型窗口中,做以下之一:

    • 应用程序选项卡,打开AUTOSAR组件设计器应用程序。

    • 点击右下角的角度控制和选择代码

    如果模型还没有被映射到一个AUTOSAR的软件组件,打开AUTOSAR组件快速启动。AUTOSAR组件开发配置模型,通过快速启动程序,然后单击工作完成。有关更多信息,请参见与快速启动创建AUTOSAR映射组件

    AUTOSAR代码的模型打开透视图。这个角度显示下面的直接模型和模型,映射编辑器的代码。

    代码映射编辑器提供了用帆布AUTOSAR映射信息,批量编辑,元素过滤、简单的导航模型元素和AUTOSAR属性,和模型元素的可追溯性。查看和修改附加的AUTOSAR属性为一个元素,选择元素并单击图标来配置额外的代码映射属性图标。

  3. 导航代码映射编辑器选项卡执行这些操作:

    • 动态仿真模块金宝app入口点函数映射到一个AUTOSAR可运行。

    • 映射模型尺寸金宝app或外港AUTOSAR接收或发送端口和sender-receiver数据元素,与特定的数据访问模式。

    • 工作空间仿真金宝app软件模型参数映射到一个AUTOSAR组件参数。

    • 模型数据存储金宝app映射到一个AUTOSAR变量。

    • 地图AUTO金宝appSAR的模型块信号或状态变量。

    • 地图的模型数金宝app据传输线路AUTOSAR inter-runnable变量(课)。

    • 映射模型函数金宝app调用者一个AUTOSAR端端口和一个客户端-服务器操作。

    使用内容过滤字段(如果有)有选择地显示一些元素,而忽略他人,在当前视图。

  4. 映射模型的元素后,单击验证按钮验证AUTOSAR组件配置。如果报告错误,解决它们,然后重试验证。

入口点函数映射到AUTOSAR可运行

功能标签代码的映射编辑器支持建模AUTOSAR runnable实体金宝app在仿真软件(可运行)。金宝app后使用AUTOSAR字典创建AUTOSAR runnable和AUTOSAR事件,这方面的内部行为贯彻AUTOSAR组件,打开代码映射编辑器。使用功能标签映射模型入口点函数金宝appAUTOSAR可运行。

有关更多信息,请参见配置AUTOSAR runnable和事件

功能标签的代码映射编辑器把每个模型入口点函数映射AUTOSAR可运行。金宝app单击更新按钮加载或更新仿真软件中的入口点函数模型金宝app。

功能选项卡,您可以:

  • 映射模型入口金宝app点函数选择的入口点函数,然后选择菜单价值AUTOSAR runnable,其中列出的AUTOSAR组件。

  • 指定软件解决方法(SwAddrMethods)运行的函数代码和内部数据。如果您指定SwAddrMethod名称、代码生成使用名字来集团在内存中运行的函数和数据定义部分。有关更多信息,请参见配置SwAddrMethod

    SwAddrMethod名称必须是在模型中定义的。例如,示例模型autosar_swc_counter定义了SwAddrMethod年代命名代码和VAR。

    指定SwAddrMethod年代runnable,选择相应的入口点函数,然后单击图标来配置额外的代码映射属性图标。对话框显示代码属性SwAddrMethod内部数据SwAddrMethod选择的功能。选择SwAddrMethod每个属性的名称中列出的有效值。

    创建额外的SwAddrMethod名称的组件,使用AUTOSAR字典,SwAddrMethods视图。有关更多信息,请参见配置AUTOSAR SwAddrMethods

请注意

代码生成可运行的内部数据SwAddrMethod需要配置选项设置模型代码生成>接口>每个入口点函数生成单独的内部数据(GroupInternalDataByFunction)

AUTOSAR Sender-Receiver港口和港口和外港映射到数据元素

港口外港标签的代码映射编辑器支持建模AUTOSAR sender-rece金宝appiver(因此)通信仿真软件。金宝app在使用AUTOSAR字典创建AUTOSAR因此端口,因此接口,数据元素,因此在你的模型中,打开代码映射编辑器。使用港口外港标签映射模型根港口和外港金宝appAUTOSAR接收方和发送方港口和AUTOSAR因此数据元素。

有关更多信息,请参见配置AUTOSAR Sender-Receiver通信配置AUTOSAR排队Sender-Receiver沟通

港口标签的代码映射编辑器地图每个模型根尺寸AUTOSAR接收机端口和一个因此接口数据元素金宝app。在港口选项卡,您可以:

  • 映射模型尺寸金宝app通过选择尺寸,然后选择菜单AUTOSAR端口和一个AUTOSAR元素值,其中列出的AUTOSAR组件。

  • 选择一个端口:AUTOSAR数据访问模式ImplicitReceive,ExplicitReceive,ExplicitReceiveByVal,QueuedExplicitReceive,ErrorStatus,IsUpdated,EndToEndRead,或ModeReceive

查看附加端口通信规范(全路径名)属性,选择一个尺寸,然后点击图标来配置额外的代码映射属性图标。

  • AUTOSAR nonqueued接收机端口,您可以修改全路径名属性AliveTimeout,HandleNeverReceived,InitValue

  • 排队接收机端口,您可以修改全路径名属性QueueLength

有关更多信息,请参见配置AUTOSAR Sender-Receiver端口全路径名

外港标签的代码映射编辑器地图每个模型根外港AUTOSAR发送端口和一个因此接口数据元素。金宝app在外港选项卡,您可以:

  • 通过选择外港金宝app映射模型输出港,然后选择菜单AUTOSAR端口和一个AUTOSAR元素的值。

  • 选择一个端口:AUTOSAR数据访问模式ImplicitSend,ImplicitSendByRef,ExplicitSend,QueuedExplicitSend,EndToEndWrite,或ModeSend

查看附加端口通信规范(全路径名)属性,选择一个输出港,映射到一个AUTOSAR nonqueued发送方端口并单击图标来配置额外的代码映射属性图标。在对话框中,您可以修改全路径名属性InitValue。有关更多信息,请参见配置AUTOSAR Sender-Receiver端口全路径名

工作区参数AUTOSAR组件参数映射模型

参数标签的代码映射编辑器中,您可以将模型映射模型工作区AUTOSAR运行时参数AUTOSAR参金宝app数校准。您可以映射模型空间参数的例子包括:

  • 金宝app模型参数对象

  • 金宝app仿真软件查找表对象

  • 金宝app仿真软件断点对象

通过查找表和断点对象映射到AUTOSAR校准参数,可以为集成和分布式模型AUTOSAR参数查询。有关更多信息,请参见为AUTOSAR校准和测量配置查找表

在创建模型空间参数,例如,使用模型浏览器,打开代码映射编辑器并选择参数选项卡。选择模型并将它金宝app们映射到模型空间参数:

  • AUTOSAR组件内部参数,如常量内存,共享参数,或每个参数。

  • AUTOSAR出口参数,通过参数接收机组件用于出口访问参数数据。

有关更多信息,请参见配置AUTOSAR不变的记忆,AUTOSAR共享或每个配置参数,AUTOSAR端口通信参数配置参数组件

参数选项卡列出每个仿真软件模型空间金宝app参数,您可以映射到一个AUTOSAR参数。在参数标签:

  • 如果没有配金宝app置工作空间仿真软件模型参数作为模型参数(也就是说,不是每一个人的多实例的实例模型),您可以映射参数通过选择菜单,然后选择一个值一个AUTOSAR参数类型。对于这个工作流程,有效的参数类型ConstantMemory,SharedParameter,或汽车。接受软件映射违约,指定汽车

    例如,在这里参数例如模型选项卡autosar_swc_counter

  • 如果工作空金宝app间仿真软件模型参数作为模型参数配置(即,独特的每个实例一个多实例模型),映射参数,选择它,然后选择菜单AUTOSAR参数类型的值。对于这个工作流程,有效的参数类型PerInstanceParameter,PortParameter,或汽车。接受软件映射违约,指定汽车

    例如,在这里参数例如模型选项卡autosar_swc_throttle_sensor。示例模型autosar_composition包含的两个实例autosar_swc_throttle_sensor

  • 如果您选择一个参数类型以外汽车,你可以点击图标来配置额外的代码映射属性图标查看和修改其他代码和校准属性参数。

    属性 目的
    常量(ConstantMemory唯一的) 选择或清除选项表明是否包含C类型限定符常量在生成的代码AUTOSAR参数。有关更多信息,请参见指定C类型限定符对AUTOSAR静态和不变的记忆
    挥发性(ConstantMemory唯一的) 选择或清除选项表明是否包含C类型限定符挥发性在生成的代码AUTOSAR参数。有关更多信息,请参见指定C类型限定符对AUTOSAR静态和不变的记忆
    AdditionalNativeTypeQualifier(ConstantMemory唯一的) 指定一个AUTOSAR额外的原生类型限定符包括在生成的代码AUTOSAR参数。例如,my_qualifier。有关更多信息,请参见指定C类型限定符对AUTOSAR静态和不变的记忆
    SwAddrMethod 选择一个SwAddrMethod名字从AUTOSAR的名字列入有效参数。例如,模型autosar_swc_counter定义了VAR。使用生成代码SwAddrMethod名字组AUTOSAR参数的内存部分访问通过校准和测量工具。有关更多信息,请参见配置SwAddrMethod
    SwCalibrationAccess 指定如何可以访问AUTOSAR参数校准和测量工具。有效的访问值包括只读的,读写,NotAccessible。有关更多信息,请参见配置SwCalibrationAccess
    DisplayFormat AUTOSAR参数指定一个显示格式。例如,% 5.1度。AUTOSAR显示格式规范控制宽度和精度校准和测量数据的显示。有关更多信息,请参见配置DisplayFormat
    港口(PortParameter唯一的) 选择参数的名称中接收机端口配置AUTOSAR字典。
    DataElement(PortParameter唯一的) 选择参数接口数据元素的名称中配置AUTOSAR字典。
    LongName 指定一个描述参数。

地图数据存储AUTOSAR变量

数据存储标签的代码映射编辑器中,您可以将模型数据存储内存块映射到AUTOSAR变量AUTOSAR运金宝app行时校准。在创建数据存储内存块在你的模型中,打开代码映射编辑器和选择数据存储选项卡。选择数据存储并将它们映射到AUTOSAR变量,如AUTOSAR-typed每个内存或AUTOSAR静态内存。

有关更多信息,请参见AUTOSAR每个内存配置AUTOSAR静态内存配置

数据存储选项卡列出每个数据存储,您可以映射到一个AUTOSAR变量。您可以:

  • 映射模型通过金宝app选择数据存储,数据存储,然后选择菜单AUTOSAR的变量值类型:ArTypedPerInstanceMemory,StaticMemory,或汽车。接受软件映射违约,指定汽车

    例如,在这里本地数据存储例如模型选项卡autosar_bsw_sensor1

  • 如果你选择一个以外的变量类型汽车,你可以点击图标来配置额外的代码映射属性图标查看和修改其他代码和校准属性变量。

    属性 目的

    AUTOSAR变量指定一个短名称。例如,dsmsig。如果未指定,ARXML出口生成一个短名称。

    挥发性(StaticMemory唯一的) 选择或清除选项表明是否包含C类型限定符挥发性在生成的代码AUTOSAR变量。有关更多信息,请参见指定C类型限定符对AUTOSAR静态和不变的记忆
    AdditionalNativeTypeQualifier(StaticMemory唯一的) 指定一个AUTOSAR额外的原生类型限定符包括在生成的代码AUTOSAR变量。例如,my_qualifier。有关更多信息,请参见指定C类型限定符对AUTOSAR静态和不变的记忆
    NeedsNVRAMAccess(ArTypedPerInstanceMemory唯一的) 选择或清除选项表明是否AUTOSAR变量需要访问的非易失性RAM处理器。配置每个内存镜像块为一个特定的NVRAM块,选择的选项。
    SwAddrMethod 选择一个SwAddrMethod名字的名字列为AUTOSAR变量有效。代码生成使用SwAddrMethod名字组AUTOSAR变量在内存部分访问通过校准和测量工具。有关更多信息,请参见配置SwAddrMethod
    RestoreAtStart(ArTypedPerInstanceMemory唯一的) 选择或清除选项表明如果政府应该在启动时宣读。
    StoreAtShutdown(ArTypedPerInstanceMemory只有 选择或清除选项表明如果政府写了关闭。
    SwCalibrationAccess 指定如何校准和测量工具可以访问AUTOSAR变量。有效的访问值包括只读的,读写,NotAccessible。有关更多信息,请参见配置SwCalibrationAccess
    DisplayFormat AUTOSAR变量指定一个显示格式。例如,% 5.1度。AUTOSAR显示格式规范控制宽度和精度校准和测量数据的显示。有关更多信息,请参见配置DisplayFormat
    LongName 指定一个描述变量。

AUTOSAR变量映射块信号和状态

信号/州标签的代码映射编辑器中,您可以:

  • 地图模型金宝app块信号和州AUTOSAR变量AUTOSAR运行时校准。

  • 选择性地添加或移除阻止信号AUTOSAR分量信号映射。

在代码映射编辑器中,仿真软件屏蔽状态,对应于状态所有者块可金宝app用于映射。

使模型块信号用于金宝app映射,使用一个代码映射编辑器按钮或一个模型提示:

  • 在模型中画布,选择一个或多个信号。打开代码映射编辑器,信号/州选项卡,并单击添加按钮

  • 模型中的画布,选择一个信号。将您的鼠标停留在显示省略号线索并选择模型添加选中的信号代码映射

另外,调用MATLAB®函数addSignal

选择性地添加块信号AUTOSAR组件后信号映射,映射编辑器并选择打开代码信号/州选项卡。选择块信号和状态并将它们映射到AUTOSAR变量,如AUTOSAR-typed每个内存或AUTOSAR静态内存。

有关更多信息,请参见AUTOSAR每个内存配置AUTOSAR静态内存配置

信号/州选项卡,信号节点,列出了每个模型块信号可以映射金宝app到一个AUTOSAR变量。你可以映射模型块信号通过选择金宝app信号,然后选择菜单AUTOSAR的变量值类型:ArTypedPerInstanceMemory,StaticMemory,或汽车。接受软件映射违约,指定汽车

例如,在这里信号/州例如模型选项卡autosar_swc_counter

信号/州选项卡,节点,列出每个配置的模型块状态,您可以映射到一个AUTOSA金宝appR变量。你可以映射模型块通过选择状态金宝app,然后选择菜单AUTOSAR的变量值类型:ArTypedPerInstanceMemory,StaticMemory,或汽车。接受软件映射违约,指定汽车

如果一个信号或状态映射到一个变量以外的其他类型汽车,你可以点击图标来配置额外的代码映射属性图标查看和修改其他代码和校准属性变量。

属性 目的

AUTOSAR变量指定一个短名称。例如,SM_equal_to_count。如果未指定,ARXML出口生成一个短名称。

  • 信号,自动生成的短名称可以从信号的名称不同。

  • 对于国家,自动生成的短名称是基于国家名字如果有的话。如果状态是不知名的,生成的名称可以从块不同名称。

挥发性(StaticMemory唯一的) 选择或清除选项表明是否包含C类型限定符挥发性在生成的代码AUTOSAR变量。有关更多信息,请参见指定C类型限定符对AUTOSAR静态和不变的记忆
AdditionalNativeTypeQualifier(StaticMemory唯一的) 指定一个AUTOSAR额外的原生类型限定符包括在生成的代码AUTOSAR变量。例如,my_qualifier。有关更多信息,请参见指定C类型限定符对AUTOSAR静态和不变的记忆
SwAddrMethod 选择一个SwAddrMethod名字的名字列为AUTOSAR变量有效。例如,模型autosar_swc_counter定义了VAR。使用生成代码SwAddrMethod名字组AUTOSAR变量在内存部分访问通过校准和测量工具。有关更多信息,请参见配置SwAddrMethod
SwCalibrationAccess 指定如何校准和测量工具可以访问AUTOSAR变量。有效的访问值包括只读的,读写,NotAccessible。有关更多信息,请参见配置SwCalibrationAccess
DisplayFormat AUTOSAR变量指定一个显示格式。例如,% 5.1度。AUTOSAR显示格式规范控制宽度和精度校准和测量数据的显示。有关更多信息,请参见配置DisplayFormat
LongName 指定一个描述AUTOSAR变量。

将仿真软件阻止信号A金宝appUTOSAR分量信号映射,使用一个代码映射编辑器按钮或一个模型提示:

  • 在模型中帆布或信号/州选项卡上,选择一个或多个信号。在信号/州选项卡上,单击删除按钮

  • 模型中的画布,选择一个信号。将您的鼠标停留在显示省略号线索并选择模型删除选中的信号代码映射

另外,调用MATLAB函数removeSignal

地图数据传输AUTOSAR Inter-Runnable变量

数据传输标签的代码映射编辑器支持建模AUTOSAR inter-runn金宝appable变量(课)的仿真软件。金宝app使用AUTOSAR字典创建AUTOSAR伊夫后,连接可运行和实施方面的内部行为AUTOSAR组件,打开代码映射编辑器。使用数据传输标签映射模型数据传输线金宝app路AUTOSAR的课。

有关更多信息,请参见AUTOSAR组件行为模型。插图的仍是如何使用率和function-call-based runnable,看到模型的示例AUTOSAR软件组件模型

数据传输标签的代码映射编辑器地图每个模型数据传输线AUTOSAR的课。金宝app单击更新按钮加载或更新模型中数据传输模型。金宝app

数据传输选项卡中,可以映射模型通过选择信号数据金宝app传输线路名称,然后选择菜单值IRV访问模式(隐式的显式的)和一个AUTOSAR伊夫的名字,其中列出的AUTOSAR组件。

例如,在这里数据传输例如模型选项卡autosar_swc_slfcns

Map函数调用者AUTOSAR客户机-服务器端口和操作

函数调用者标签的代码映射编辑器支持的客户端进行建模AUTOSAR客户机-服金宝app务器模型(c)通信。金宝app在使用AUTOSAR字典创建AUTOSAR客户港口,c接口,和c操作在你的模型中,打开代码映射编辑器。使用函数调用者标签映射模型函数调用者金宝appAUTOSAR客户港口和AUTOSAR c操作。

有关更多信息,请参见配置AUTOSAR客户机-服务器通信

函数调用者标签代码的映射编辑器地图每个模型函数调用者的AUTOSAR端端口和一个AUTOSAR金宝app c接口操作。单击更新按钮加载或更新仿真软件模型中的函数调用者金宝app。

函数调用者选项卡中,您可以映射模型函数调用者通过金宝app选择函数调用者的名字,然后选择菜单值一个AUTOSAR端端口和一个AUTOSAR操作,其中列出的AUTOSAR组件。

指定C类型限定符对AUTOSAR静态和不变的记忆

AUTOSAR的组件,您可以配置C类型限定符来定制生成AUTOSAR-compliant AUTOSAR常数C代码AUTOSAR静态内存和内存。例如,您可以应用C类型限定符等常量挥发性控制编译器优化。

AUTOSAR的模型,使用映射编辑器的代码配置C类型限定符模式信号,数据存储,和参数映射到AUTOSAR StaticMemory或AUTOSAR ConstantMemory。建筑模型出口类型限定符ARXML文件并生成AUTOSAR-compliant C代码使用类型限定符。

例如,在代码映射编辑器中,信号/州选项卡中,假设您地图一个信号StaticMemory。然后单击选择信号图标来配置额外的代码映射属性图标显示额外的代码属性。

如果您选择了挥发性属性和指定AdditionalNativeTypeQualifiermy_qualifier:

  • 出口ARXML文件定义AdditionalNativeTypeQualifier:

    < ADDITIONAL-NATIVE-TYPE-QUALIFIER >挥发my_qualifier < / ADDITIONAL-NATIVE-TYPE-QUALIFIER >
  • 生成C代码采用C类型限定符,例如:

    / *为内部数据静态内存* /不稳定my_qualifier布尔SM_equal_to_count;

有关更多信息,请参见AUTOSAR变量映射块信号和状态,地图数据存储AUTOSAR变量,工作区参数AUTOSAR组件参数映射模型

指定默认数据包装AUTOSAR内部变量

AUTOSAR Blockset提供函数来控制内部变量的默认数据包装使用AUTOSAR组件模型生成的代码。

对模型配置了AUTOSAR软件组件的一个实例,你可以指定内部数据存储,信号和状态数据打包:

  • 有或没有包装结构

  • 与私人或公共可见性

多次对AUTOSAR软件组件实例化和配置生成可重入,可重用的代码,您可以指定包装内部变量由仿真软件或使用这种每个内存。金宝app

的函数getInternalDataPackagingsetInternalDataPackaging返回并设置默认数据设置用于包装内部数据存储、信号,并在AUTOSAR组件模型生成的代码。

有效的设置值是:

  • 单实例模式:

    • 默认的——接受默认包装内部数据提供的软件。使用默认的子从AUTOSAR引用组件模型。

    • PrivateGlobal——没有包内部变量数据结构体并使其私人(仅可见模型。c)。

    • PrivateStructure——包内部变量中的数据结构体并使其私人(仅可见模型。c)。

    • PublicGlobal——没有包内部变量数据结构体并使其公共(走读生声明模型。h)。

    • PublicStructure——包内部变量中的数据结构体并使其公共(走读生声明模型。h)。

  • 多实例模式:

    • 默认的——接受默认包装内部数据提供的软件。使用默认的子从AUTOSAR引用组件模型。

    • CTypedPerInstanceMemory——包内部变量数据的每个实例AUTOSAR软件组件中使用这种每个实例的内存结构体并使其公共(声明模型。h)。

这个例子中修改默认数据包装在生成的代码中设置用于内部变量AUTOSAR组件模型。首先,它会返回当前包装内部数据的模型。然后设置内部数据打包,这样代码生成器包的内部变量中的数据结构体并使其私有的。

hModel =“autosar_swc”;openExample (hModel);slMap = autosar.api.get金宝appSimulinkMapping (hModel);pkgSetting1 = getInternalDataPackaging slMap setInternalDataPackaging (slMap,“PrivateStructure”)pkgSetting2 = getInternalDataPackaging (slMap)
pkgSetting1 =‘默认’pkgSetting2 = ' PrivateStructure '

如果数据包装将PrivateGlobalPrivateStructure、建筑模型生成头文件模型_private.h,即使模型配置参数文件的包装格式(嵌入式编码)被设置为紧凑的

如果模型配置选项每个入口点函数生成单独的内部数据(嵌入式编码)设置AUTOSAR模型,基于任务的内部数据分组覆盖AUTOSAR内部数据包装设置。然而,AUTOSAR的公共或私有可见性设置决定生成的内部数据组。

有关更多信息,请参见getInternalDataPackagingsetInternalDataPackaging参考页面。

相关的例子

更多关于