CLASSIC
Modul: nvm
Rolle: constitutive
Konfidenz: 95%
SNIP_CLASSIC_NVM_SECTION_7_4_3_2_5_NvM_Low_Proxy
Wortlaut
7.4.3.2.5 NvM Low Proxy
As shown in figure 7.10, the NvM Low Proxy shall be able to invoke APIs of the BSW modules in the Host Software Cluster, without a partition change in the Application Software Clusters. This partition change is only needed, if the BSW module does not offer a satellite on this partition. The availability of the BSW modules on dedicated EcucPartitions is a property of the Host Software Cluster.
[SWS_SwCluC_02132] Upstream requirements: SRS_SwCluC_00206
⌈The NvM Low Proxy shall provide the entry functions for single block requests, according to [SWS_SwCluC_02103], once per configured SwCluCNvMBaseSocket at the EcucPartition configured by SwCluCNvMBaseSocket.SwCluCProxyEcucPartitionRef. In case the SwCluCNvMProxyUsedSatelliteRef is set, the EcucPartition shall be changed, before the NVM API is called.⌋
[SWS_SwCluC_02111] Upstream requirements: SRS_SwCluC_00206
⌈The NvM Low Proxy shall provide an instance of a NvM_SingleBlockCallbackFunction per configured NV block (SwCluCNvMProxyNvBlock) in the NvM Low Proxy.⌋
[SWS_SwCluC_02127] Upstream requirements: SRS_SwCluC_00206
⌈The NvM Low Proxy shall provide an instance of a NvM_InitBlockCallbackFunction per configured NV block (SwCluCNvMProxyNvBlock) in the NvM Low Proxy.⌋ module
[SWS_SwCluC_02128] Upstream requirements: SRS_SwCluC_00206
⌈The NvM Low Proxy shall provide an instance of a NvM_ReadRamBlockFromNvm per configured NV block (SwCluCNvMProxyNvBlock) in the NvM Low Proxy.⌋
[SWS_SwCluC_02129] Upstream requirements: SRS_SwCluC_00206
⌈The NvM Low Proxy shall provide an instance of a NvM_WriteRamBlockToNvm per configured NV block (SwCluCNvMProxyNvBlock) in the NvM Low Proxy.⌋ Contrary to the call of BSW module’s APIs from an Application Software Cluster, the invoked callback notifications need to change the partition in the Host Software Cluster, before the calls are ending up in the Application Software Cluster, if the BSW module does not offer a satellite on this partition.
[SWS_SwCluC_02133] Upstream requirements: SRS_SwCluC_00206
⌈The callback instances according to [SWS_SwCluC_02111], [SWS_SwCluC_02127],
[SWS_SwCluC_02128], and [SWS_SwCluC_02129], are provided
• at the EcucPartition referenced by SwCluCNvMProxyNvBlock.SwCluCNvMProxyNvBlockEcucPartitionRef, if a SwCluCNvMBaseSocket is directly available at this EcucPartition OR
• at the EcucPartition of the SwCluCNvMBaseSocket referenced by the SwCluCNvMBaseSocket - via SwCluCNvMProxyUsedSatelliteRef, which is on the EcucPartition given by SwCluCNvMProxyNvBlock.SwCluCNvMProxyNvBlockEcucPartitionRef. In this case, the EcucPartition shall be changed, before the callback in the High Proxy is called.
⌋
Handling of unconnected blocks In case a NV Block configured in the NvM Low Proxy being unconnected, the NvM can still invoke the callback functions without any effect. But the NvM Low Proxy will not invoke any of the NvM APIs with the according Block ID autonomously.
[SWS_SwCluC_02161] Unconnected-behavior of NvM_SingleBlockCallbackFunction Upstream requirements: SRS_SwCluC_00206, SRS_SwCluC_00213
⌈TheNvM_SingleBlockCallbackFunction of NvM Low Proxy shall return E_NOT_OK, if the corresponding NV Block is not connected to an instance in the NvM High Proxy.⌋ module
[SWS_SwCluC_02162] Unconnected-behavior of NvM_InitBlockCallbackFunction Upstream requirements: SRS_SwCluC_00206, SRS_SwCluC_00213
⌈TheNvM_InitBlockCallbackFunction of NvM Low Proxy shall return E_NOT_OK, if the corresponding NV Block is not connected to an instance in the NvM High Proxy.⌋
[SWS_SwCluC_02163] Unconnected-behavior of NvM_ReadRamBlockFromNvm Upstream requirements: SRS_SwCluC_00206, SRS_SwCluC_00213
⌈TheNvM_ReadRamBlockFromNvm of NvM Low Proxy shall return E_NOT_OK, if the corresponding NV Block is not connected to an instance in the NvM High Proxy.⌋
[SWS_SwCluC_02164] Unconnected-behavior of NvM_WriteRamBlockToNvm Upstream requirements: SRS_SwCluC_00206, SRS_SwCluC_00213
⌈TheNvM_WriteRamBlockToNvm of NvM Low Proxy shall return E_NOT_OK, if the corresponding NV Block is not connected to an instance in the NvM High Proxy.⌋
[SWS_SwCluC_02108] Upstream requirements: SRS_SwCluC_00206, SRS_SwCluC_00213
⌈In case a NV block configured in the NvM Low Proxy is not connected to any NvM High Proxy, the NvM Low Proxy implementation shall not modify the content of that NV Block.⌋ Note: An access by Dcm might still change the NV Block content in this case.
[SWS_SwCluC_02142] Upstream requirements: SRS_SwCluC_00206
⌈The NvM Low Proxy implementation shall describe the NV blocks provided to NvM High Proxies via NvBlockNeeds, derived from the CpSoftwareClusterServiceResource.resourceNeeds.⌋ Note: [SWS_SwCluC_02142] ensures an automated configuration of the NVRAM Manager.
[SWS_SwCluC_02143] Upstream requirements: SRS_SwCluC_00206, SRS_BSW_00101
⌈The NvM Low Proxy shall provide, for each SwCluCNvMBaseSocket, a SwCluC_ NvMProxy_Init API, to initialize the NvM High Proxy of an Application Software Cluster. This shall be one element of the service resource SwCluCNvMBaseSocket.⌋ module
Versionen & Provenienz · Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.
Begründung & Zuweisungs-Evidenz
Cited verbatim in the snippet (deterministic citation).
Dokumenten-Herkunft & Rückverfolgbarkeit
| Spezifikations-Dokument | SWS_SoftwareClusterConnection.pdf |
|---|---|
| Dokumentseite | Seite 165 |
| Ziel-Modul | nvm (classic) |
| Ziel-Anforderung | SWS_SwCluC_02164 |
| Semantische Rolle | constitutive |
| Automatisierungs-Konfidenz | 0.95 |