主要内容

配置对AUTOSAR NVRAM Manager服务的调用

对于AUTOSAR经典平台,AUTOSAR标准将重要服务定义为在AUTOSAR运行时环境(RTE)中运行的基础软件(BSW)的一部分。例如,诊断事件管理器(Dem)、功能抑制管理器(FiM)和NVRAM管理器(NvM)提供的服务。在AUTOSAR RTE中,AUTOSAR软件组件通常使用客户机-服务器或发送方-接收方通信访问BSW服务。

为了支金宝app持AUTOSAR组件和服务的系统级建模,AUTOSAR Blockset提供一个AUTOSAR基本软件块库。该库包含预配置的块,用于建模对AUTOSAR BSW服务的组件调用和BSW服务的参考实现。有关使用这些块为对AUTOSAR BSW服务接口的客户机调用建模的信息,请参见模型AUTOSAR基本软件服务调用

有关模拟AUTOSAR BSW服务的实时脚本示例,请参见示例模拟AUTOSAR基本软件服务和运行时环境

下面是在AUTOSAR软件组件中配置客户端调用到NvM服务接口的示例。

  1. 打开为AUTOSAR代码生成配置的模型。使用Library Browser或在模型窗口中输入块名,将NvM块添加到模型中。这个例子添加了这些块NvMAdminCaller而且NvMServiceCaller到示例模型的可写副本autosar_swc

  2. 打开每个块,特别是检查参数操作.如果选择不同的操作,单击应用,该软件更新块输入和输出,以匹配所选操作的参数。

    此示例更改操作NvMServiceCaller块从GetDataIndexReadBlock.(举个例子readBlock在油门位置传感器实现中,参见示例模拟AUTOSAR基本软件服务和运行时环境.)

    对于一些NvM操作,例如ReadBlock而且WriteBlock,块参数对话框显示实参规格参数。参数为要由操作读取或写入的数据指定数据类型和维度信息,设置为uint8 (1)默认情况下。可以指定数组和总线数据类型。

  3. 打开代码映射编辑器。更新Simulink金宝app®以AUTOSAR映射的模型与Simulink函数的更改调用者,单击金宝app更新按钮.该软件创建AUTOSAR客户端服务接口、操作和端口,并将每个Simulink函数调用者映射到AUTOSAR客户端端口和操作。金宝app

    例如,对于NvMServiceCaller块,其中ReadBlock选择操作:

    • 软件创建C-S接口NvMService,及以下NvMService,其支持的操金宝app作。对于每个操作,参数都提供了只读属性。以下是关于NvMService操作ReadBlock显示在AUTOSAR字典中。

    • 软件会使用默认名称创建一个客户端端口NvMService.与c - s接口、操作和参数名不同,客户端端口名可以自定义。客户端端口映射到NvMService接口。

    • 代码映射编辑器映射NvMService函数调用程序块到AUTOSAR客户端端口NvMService和AUTOSAR操作ReadBlock

  4. 可以选择构建模型并检查生成的C和ARXML代码。

    在块对话框步骤中,如果您选择了操作ReadBlockNvMServiceCaller块,代码生成需要向模型添加数据存储块。将该块的第一个输出端口连接到“数据存储写”块,并添加“数据存储内存”块。对于这两个块,请指定数据存储名称a。

    C代码包括对BSW服务的客户端调用,例如:

    /* FunctionCaller: '/NvMServiceCaller' */ Rte_Call_NvMService_ReadBlock(& rtwd . a);.../* FunctionCaller: '/NvMAdminCaller' */ Rte_Call_NvMAdmin_SetBlockProtection(false);

    生成的RTE包含文件定义服务器操作调用点,例如Rte_Call_NvMService_ReadBlock

    ARXML代码将组件调用的BSW服务操作定义为服务器调用点,例如:

    < SERVER-CALL-POINTS >…< ASYNCHRONOUS-SERVER-CALL-POINT UUID = "……"> SC_NvMService_ReadBlock   /Company/Powertrain/Components/ASWC/NvMService   .AUTOSAR /服务/ NvM / NvMService / ReadBlock  < timeout >1  
  5. 要模拟组件模型,请创建包含组件、系统或测试工具的模型。在该包含模型中,插入NvM的引用实现ReadBlock而且SetBlockProtection服务操作。

    AUTOSAR基本软件块库提供了一个NVRAM业务组件块,它提供了NvM服务操作的参考实现。您可以手动将该块插入到包含该块的组合、系统或管理模型中,或者通过创建金宝app仿真软件测试™利用模型。

    有关更多信息,请参见为仿真配置AUTOSAR基本软件服务实现而且模拟AUTOSAR基本软件服务和运行时环境

另请参阅

||

相关的例子

更多关于