DEENESPTFRRUARHIKOZHNL
CLASSIC Modul: nvm Rolle: constitutive Konfidenz: 95%

SNIP_CLASSIC_NVM_SECTION_7_4_3_2_3_Configuration_ID_check

Quelle: SWS_SoftwareClusterConnection.pdf (Seite 159) • Ziel-Anforderung: SWS_SwCluC_CONSTR_02160

Wortlaut

7.4.3.2.3 Configuration ID check In case of a non-clustered AUTOSAR ECU the configuration ID check is centrally implemented in NVRAM Manager when it is enabled via NvMDynamicConfiguration is set to TRUE. If a configuration ID mismatch is detected, for NVRAM blocks which are configured with NvMResistantToChangedSw == FALSE, default data are loaded independent of the validity of an assigned RAM or NV block. This feature ensures an initialization of NV blocks in case of a changed NVRAM memory layout, i.e., if a block is added or removed, or if its size or type is changed. In case of an AUTOSAR ECU using independently reprogrammable Software Clusters, a common configuration ID has the drawback of unintended reprogramming dependencies. In case of a NVRAM memory layout change caused by one Software Cluster, the non-resistant-to-changed-SW NV blocks of all other Software Clusters needs to be set to default as well. In addition, such a configuration ID change can only be initiated via an update of the Host Software Cluster. To enable a check on changed NVRAM memory layout per Application Software Cluster the NvM High Proxy supports individual configuration IDs per Application Software Cluster. Since the NvM High Proxy cannot directly interfere with the NvM_ReadAll execution it has to implement its configuration ID checking in the execution of the NvM_ReadRamBlockFromNvm triggered by the execution of the multi block request triggered by NvM_ReadAll. This configuration ID check is only active after the initialization of the NvM Proxy till the NvM_ReadAll multi block request is successfully finished. The NvM Proxy gets informed about the successful finish of NvM_ReadAll by the call of SwCluC_NvMProxy_MultiBlockReadAllJobFinished from BswM via an appropriately configured action list. The time span between NvM Proxy initialization and the call of SwCluC_NvMProxy_ MultiBlockReadAllJobFinished is called NvM startup phase. To ensure a working behavior of the NvM Proxy in the SwCluC, the NVRAM Manager of the Host Software Cluster has to treat all NvBlocks of an Application Software Cluster as NvMResistantToChangedSw == TRUE. This behavior can be ensured by the appropriate configuration of the NVRAM Manager. module [SWS_SwCluC_CONSTR_02145] Application Software Cluster’s NvBlocks are treated as ’resistant to changed SW’ by NvM in Host Software Cluster Upstream requirements: SRS_SwCluC_00206, SRS_BSW_00167 ⌈For any NVRAM Block belonging to an Application Software Cluster (NvM Low Proxy of the SwCluC occurs as block user) the parameter NvMResistantToChangedSw shall be set to TRUE in the Host Software Cluster.⌋ Note: This includes the NVRAM Blocks used to store the configuration ID of a specific Application Software Cluster In addition, the NvBlocks in the Host Software Cluster have to be configured such, that the Configuration ID block of an Application Software Cluster is restored before the regular NvBlocks of that Application Software Cluster. Since the NvM ensures the processing order of NvM Blocks during a NvM_ReadAll job by the Block Id ([SWS_NvM_00244]). This enables that the NvM High Proxy can process its Config Block ID handling before that recovery of the regular NvBlocks. [SWS_SwCluC_CONSTR_02146] Block IDs of Application Software Cluster’s Configuration ID blocks in Host Software Cluster Upstream requirements: SRS_SwCluC_00206, SRS_BSW_00167 ⌈In the NvM module of the Host Software Cluster the Configuration ID block of an Application Software Cluster shall be configured with a lower block ID than all the other NvBlocks of the identical Application Software Cluster.⌋ Please note, that the configured Block IDs of an Application Software Cluster’s NvBlock can differ in the configuration in the NvM High Proxy and the NvM of the Host Software Cluster. The Block ID numbers are translated during the API calls from Application Software Cluster to the Host Software Cluster. Hence, a valid configuration of Block IDs in the Host Software Cluster can look like following example as shown in figure 7.12. module Figure 7.12: Example configuration of NvBlocks used by Application Software Clusters [SWS_SwCluC_02147] Upstream requirements: SRS_SwCluC_00206 ⌈The NvM High Proxy of a specific Application Software Cluster shall enable the configuration ID check, if the parameter NvMDynamicConfiguration is set to TRUE in this Application Software Cluster.⌋ Note: The parameter NvMDynamicConfiguration is set in the NvM module configuration of the respective Application Software Cluster. Like in the configuration of the NvM module in the Host Software Cluster, the block ID 1 is reserved for the Configuration ID block in each Application Software Cluster. This Configuration ID block to contain the stored NVRAM configuration ID. module [SWS_SwCluC_CONSTR_02148] Configuration ID block uses always block ID 1 Upstream requirements: SRS_SwCluC_00206 ⌈In the configuration of the NvM High Proxy, the NVRAM block with the block ID 1 shall be reserved for the Configuration ID block to contain the stored NVRAM configuration ID.⌋ [SWS_SwCluC_02149] Upstream requirements: SRS_SwCluC_00206 ⌈The NvM High Proxy of a specific Application Software Cluster shall implement the Configuration ID block as redundant type with CRC32.⌋ [SWS_SwCluC_CONSTR_02160] NvBlock configuration of Application Software Cluster’s Configuration ID blocks in Host Software Cluster Upstream requirements: SRS_SwCluC_00206 ⌈In the NvM module of the Host Software Cluster the Configuration ID block of an Application Software Cluster shall be configured with NvMBlockManagementType == NVM_BLOCK_REDUNDANT and NvMBlockCrcType == NVM_CRC32.⌋ [SWS_SwCluC_02150] Upstream requirements: SRS_SwCluC_00206 ⌈The job of the function NvM_WriteBlock for the Configuration ID block shall write the compiled NVRAM configuration ID to the stored NVRAM configuration ID (in the Configuration ID blocks) of this Application Software Cluster.⌋ [SWS_SwCluC_02151] Upstream requirements: SRS_SwCluC_00206 ⌈The job of the function NvM_WritePRAMBlock for the Configuration ID block shall write the compiled NVRAM configuration ID to the stored NVRAM configuration ID (in the Configuration ID blocks) of this Application Software Cluster.⌋ [SWS_SwCluC_02152] Upstream requirements: SRS_SwCluC_00206 ⌈The NvM_ReadRamBlockFromNvm call for the Configuration ID block shall validate the configuration ID by comparing the stored NVRAM configuration ID of this Application Software Cluster vs. the compiled NVRAM configuration ID of this Application Software Cluster.⌋

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 159
Ziel-Modul nvm (classic)
Ziel-Anforderung SWS_SwCluC_CONSTR_02160
Semantische Rolle constitutive
Automatisierungs-Konfidenz 0.95