配置对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服务接口的示例。
打开为AUTOSAR代码生成配置的模型。使用Library Browser或在模型窗口中输入块名,将NvM块添加到模型中。这个例子添加了这些块NvMAdminCaller而且NvMServiceCaller到示例模型的可写副本
autosar_swc
.打开每个块,特别是检查参数操作.如果选择不同的操作,单击应用,该软件更新块输入和输出,以匹配所选操作的参数。
此示例更改操作为NvMServiceCaller块从
GetDataIndex
来ReadBlock
.(举个例子readBlock
在油门位置传感器实现中,参见示例模拟AUTOSAR基本软件服务和运行时环境.)对于一些NvM操作,例如
ReadBlock
而且WriteBlock
,块参数对话框显示实参规格参数。参数为要由操作读取或写入的数据指定数据类型和维度信息,设置为uint8 (1)
默认情况下。可以指定数组和总线数据类型。打开代码映射编辑器。更新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
.
可以选择构建模型并检查生成的C和ARXML代码。
在块对话框步骤中,如果您选择了操作
ReadBlock
为NvMServiceCaller块,代码生成需要向模型添加数据存储块。将该块的第一个输出端口连接到“数据存储写”块,并添加“数据存储内存”块。对于这两个块,请指定数据存储名称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 target-required-operation-ref > operation-iref > < timeout >1 timeout > asynchronous-server-call-point > server-call-points > 要模拟组件模型,请创建包含组件、系统或测试工具的模型。在该包含模型中,插入NvM的引用实现
ReadBlock
而且SetBlockProtection
服务操作。AUTOSAR基本软件块库提供了一个NVRAM业务组件块,它提供了NvM服务操作的参考实现。您可以手动将该块插入到包含该块的组合、系统或管理模型中,或者通过创建金宝app仿真软件测试™利用模型。
有关更多信息,请参见为仿真配置AUTOSAR基本软件服务实现而且模拟AUTOSAR基本软件服务和运行时环境.
另请参阅
NvMAdminCaller|NvMServiceCaller|NVRAM业务组件