CLASSIC
Modul: nvdatahandling
Rolle: heuristic
Konfidenz: 90%
SNIP_CLASSIC_NVDATAHANDLING_SECTION_4_1_4_5_Resistant_to_changed_software
Wortlaut
4.1.4.5 Resistant to changed software
The behavior of the NvM module during start-up (i.e. while processing the request NvM_ReadAll) will be influenced by the two configuration parameters NvMDynamicConfiguration and NvMResistantToChangedSw. In ECU projects, in which it is not important to react on configuration changes of the NVRAM Blocks, the parameter NvMDynamicConfiguration has to be set to FALSE. For NVRAM Blocks with the configuration parameter NvMCalcRamBlockCrc set to TRUE, the assigned RAM block is then checked for its validity. If the RAM block content is detected to be invalid, or if the parameter NvMCalcRamBlockCrc set to FALSE, the NV block is checked for its validity. A NV block, which is detected to be valid, is copied to its assigned RAM block. If an invalid NV Block is detected default data will be loaded (if configured via either the parameter NvMRomBlockDataAddress or the parameter NvMInitBlockCallback). In case the configuration of NVRAM Blocks was changed, while the NV Blocks already stored in NV Memory still correspond to the old configuration, critical problems may arise during the NvM_ReadAll process. An example for this is when a new NVRAM Block was added, the identifier of many other blocks might implicitly be changed, which could lead to wrong data read from the NV memory. For such situations, it is possible to configure the NvM module so that it will not try to initialize RAM Blocks with data from NV memory. This has to be done by setting the value of the configuration parameter NvMDynamicConfiguration to TRUE. A change of the NVRAM configuration has to be indicated to the NvM module by modifying the configuration parameter NvmCompiledConfigID by the integrator. The NvM module stores this value in NV memory, using a separate NVRAM Block. With every execution of the start-up process (NvM_ReadAll) the NvM module compares the value stored in NV memory with the value of the configuration parameter NvmCompiledConfigID. In case both values are different the value in the NV memory will be overwritten by the one from the configuration with the next shutdown process (NvM_WriteAll). In such a situation, there are two different possibilities how the NvM module will initialize the NVRAM Blocks during the processing of NvM_ReadAll, based on the value of the corresponding configuration parameter NvMResistantToChangedSw.
If the data of the respective NV block shall be ignored and instead default data (if configured via either the parameter NvMRomBlockDataAddress or the parameter NvMInitBlockCallback) shall be loaded, independent of the validity of an assigned RAM block, the value of the configuration parameter NvMResistantToChangedSw has to be set to FALSE.
For the NVRAM Blocks, that need to have the RAM Block to be initialized with the data from NV memory, even in case of a configuration change, the NV Data Handling Guideline configuration parameter NvMResistantToChangedSw has to be set to TRUE. The behavior will be the same as when no configuration change occurs. For blocks having NvMResistantToChangedSw set to TRUE the integrator has to ensure that the following configuration parameters must not be changed for the rest of the ECU’s lifetime, because otherwise it will not be possible to successfully retrieve the data from NV memory:
NvMResistantToChangedSw (must not be changed from TRUE to FALSE)
ShortName
NvMBlockUseCrc
NvmBlockCrcType (if NvMBlockUseCrc is set to TRUE)
NvMStaticBlockIDCheck
NvmNvramDeviceId
NvmBlockManagementType
NvmNvBlockLength
NvmNvBlockBaseNumber Note: Additional constraints may apply depending on the implementation of the used modules NvM, Fee and Ea. Please refer to the respective user manuals.
Versionen & Provenienz · Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.
Begründung & Zuweisungs-Evidenz
ReadAll behavior when NvMResistantToChangedSw is TRUE.
Dokumenten-Herkunft & Rückverfolgbarkeit
| Spezifikations-Dokument | NVDataHandling.pdf |
|---|---|
| Dokumentseite | Seite 15 |
| Ziel-Modul | nvdatahandling (classic) |
| Ziel-Anforderung | SWS_NvM_00674 |
| Semantische Rolle | heuristic |
| Automatisierungs-Konfidenz | 0.90 |