AUTOSAR_CP_SWS_NVRAMManager
FIG-e63c6fbfd0cd1ecc
297 × 468 px
2 Release(s)
Figure 7.5: NV block layout with Static Block ID enabled
SHA-256 Inhalts-Fingerabdruck:
e63c6fbfd0cd1ecc4577c1bdb2298a1648a22e92a51cd80bc80a9bc8319cb3d2
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08
1. Diagrammtyp & Architektur-Kontext
- Klassifikation: Speicherlayout- / PDU-Strukturdiagramm (Darstellung der physischen Byte-Segmentierung eines persistenten Speicherblocks).
- Technischer Zweck & Einordnung:
- Das Diagramm spezifiziert die interne Datenorganisation eines Nichtflüchtigen Speicherblocks (NV Block) im NVRAM Manager (NvM) der AUTOSAR Classic Platform (Releases R21-11, R22-11, R23-11).
- Es definiert die strukturelle Kapselung der Nutzdaten auf Treiber- und Hardwareabstraktionsebene (MemIf / Fee / Ea), wenn das Sicherheitsfeature Static Block ID Check über den Konfigurationsparameter
NvMStaticBlockIDCheck == TRUEaktiviert ist ([SWS_NvM_00522]). - Zweck ist der Schutz vor Adressierungsfehlern, Blockverwechslungen und falscher Zuordnung im physikalischen Speicher (Flash/EEPROM).
2. Komponenten, Entitäten & Schnittstellen
Das Diagramm visualisiert die drei logischen Segmente eines persistenten Speicherblocks:
NV block header(Header-Segment):- Inhalt: Enthält die statische 16-Bit Block-Identifikationsnummer (Static Block ID,
uint16), korrespondierend zur konfiguriertenNvMBlockId. - Kardinalität:
1(zwingend vorhanden und an Offset 0 vorangestellt, sobaldNvMStaticBlockIDCheck == TRUE). - Schnittstellen-Eigenschaft: Modulinternes Datum; für anwendende Software-Components (SWC) unsichtbar (wird im NvM erzeugt/geprüft und nicht in den RAM-Spiegel übernommen).
- Inhalt: Enthält die statische 16-Bit Block-Identifikationsnummer (Static Block ID,
NV block data(Payload-Segment):- Inhalt: Reine Applikations- oder BSW-Nutzdaten.
- Kardinalität:
1(Länge entspricht exakt dem KonfigurationswertNvMNvBlockLength). - Schnittstellen-Eigenschaft: Bildet das exakte 1:1-Äquivalent zum Anwendungs-RAM-Block (
NvMRamBlockDataAddress) bzw. PRAM-Block.
NV block CRC (optional)(Trailer-Segment):- Inhalt: Prüfsumme zur Erkennung von Datenkorruption (
CRC8,CRC16oderCRC32via CRC-Bibliothek). - Kardinalität:
0..1(vorhanden, wennNvMBlockUseCrc == TRUE; Typ bestimmt durchNvMBlockCrcType).
- Inhalt: Prüfsumme zur Erkennung von Datenkorruption (
Abbildung auf NVRAM-Blockverwaltungstypen ([SWS_NvM_00137]):
NVM_BLOCK_NATIVE([SWS_NvM_00557]): Besteht aus genau 1 NV-Block (welcher exakt diesem Layout folgt), 1 RAM-Block, 0..1 ROM-Block und 1 Administrative Block.NVM_BLOCK_REDUNDANT([SWS_NvM_00558]): Besteht aus 2 NV-Blöcken (beide besitzen identisch dieses 3-teilige Layout mit jeweils identischer Static Block ID), 1 RAM-Block, 0..1 ROM-Block und 1 Administrative Block.NVM_BLOCK_DATASET: Besteht aus 1..N NV-Blöcken (jeder Datensatz besitzt dieses Layout), 1 RAM-Block, 0..M ROM-Blöcken und 1 Administrative Block.
3. Dynamisches Verhalten & Sequenzablauf
Schreibpfad (NvM_WriteBlock, NvM_WritePRAMBlock, NvM_WriteAll):
- Serialisierung: NvM fügt im internen Arbeits- oder Sektorpuffer vor die Nutzdaten (
NV block data) den 2 Byte breitenNV block headermit der konfiguriertenNvMBlockIdein. - CRC-Berechnung: Falls
NvMBlockUseCrc == TRUE, berechnet NvM die Prüfsumme über Header und Nutzdaten und hängt diese alsNV block CRCan. - Persistierung: Der vollständige Block (Header + Payload + CRC) wird asynchron über
MemIf_Write(DeviceIndex, BlockNumber, Buffer)an Fee/Ea übergeben.
Lesepfad (NvM_ReadBlock, NvM_ReadPRAMBlock, NvM_ReadAll):
- Leseoperation: NvM liest den gesamten physischen Block via
MemIf_Read(...)in seinen Puffer ein. - CRC-Verifikation: Validierung der
NV block CRC. Schlägt diese fehl, wirdNVM_REQ_INTEGRITY_FAILEDgesetzt und die Error-Recovery gestartet. - Static Block ID Check: NvM extrahiert die ID aus dem
NV block headerund vergleicht sie mit der Ziel-NvMBlockId:- Mismatch (ID fehlerhaft / ungleich Ziel-BlockId):
- NvM meldet den Diagnosefehler
NVM_E_WRONG_BLOCK_IDan das Dem (Dem_SetEventStatus). - Abbruch der Nutzdatenübernahme in den RAM-Block.
- Read Error Recovery:
- Bei
NVM_BLOCK_REDUNDANT: Automatischer Fallback auf den zweiten redundanten NV-Block ([SWS_NvM_00558]). - Falls Recovery fehlschlägt oder Block Native: Laden von Standardwerten aus dem ROM-Block (
NvMRomBlockDataAddress), sofern vorhanden; sonst Markierung als ungültig (NVM_REQ_NV_INVALIDATED).
- Bei
- NvM meldet den Diagnosefehler
- Match (Erfolg):
- Header und CRC werden verworfen (Stripping).
NV block datawird in den konfigurierten RAM-Block kopiert; Status wird aufNVM_REQ_OKgesetzt.
- Mismatch (ID fehlerhaft / ungleich Ziel-BlockId):
4. Normative Relevanz & Entwickler-Hinweise
- Blockdimensionierung in Fee / Ea (Kritische Kopplung):
- Das Treiber-Layout unterhalb des MemIf (
FeeBlockConfigurationbzw.EaBlockConfiguration) muss die Gesamtgröße abbilden: $$\text{Physische Blockgröße} = \text{sizeof(NV Block Header [2 Byte])} + \text{NvMNvBlockLength} + \text{sizeof(CRC [0/1/2/4 Byte])}$$ - Eine Fehlkonfiguration der virtuellen Blocklängen in Fee/Ea führt zu Pufferüberläufen oder Driver-Rejections (
MEMIF_JOB_FAILED).
- Das Treiber-Layout unterhalb des MemIf (
- Transparenz für Applikations-Entwickler:
- Der Anwendungs-RAM-Puffer allokiert ausschließlich
NvMNvBlockLength. Header-Verwaltung und CRC-Handling sind für SWCs und PRAM-Buffer vollständig unsichtbar und stack-gekapselt.
- Der Anwendungs-RAM-Puffer allokiert ausschließlich
- Lebenszyklus- & Upgrade-Restriktion (
NvMResistantToChangedSw):- Der Parameter
NvMStaticBlockIDCheckdarf nach Serienanlauf / Flashen von Kundendaten nicht mehr geändert werden (Konsistenzanforderung der AUTOSAR NV Data Handling Guidelines). - Eine nachträgliche Aktivierung verschiebt die Nutzdaten-Payload um 2 Byte; bereits im Feld geschriebene Bestandsdaten werden inkompatibel und führen zwingend zu
NVM_E_WRONG_BLOCK_IDoder CRC-Fehlern.
- Der Parameter
- Funktionale Sicherheit (ISO 26262):
- Dient als normative Maßnahme zur Beherrschung systematischer und zufälliger Hardwarefehler (Address Line Corruption, Aliasing, fehlerhafte Flash-Emulations-Routingtabellen) für Sicherheitsziele bis ASIL D.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.