AUTOSAR_CP_SWS_NVRAMManager
FIG-f109aecda99e5f88
297 × 448 px
5 Release(s)
Figure 7.2: NV Block layout
SHA-256 Inhalts-Fingerabdruck:
f109aecda99e5f8855e8bc00cfe24e75301afff87ed559baddf9b9fb5a39906a
✦
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- und Datenstruktur-Diagramm (NV Block Frame / Serialization Layout).
- Architektur-Kontext: Spezifiziert die physische bzw. logische Kapselung eines NV blocks (Non-Volatile Block) im Adressraum des nichtflüchtigen Speichers (EEPROM/Flash via
MemIf,Fee/Ea). Definiert das Format, in dem der NVRAM Manager (NvM) Nutzdaten, Metadaten und Integritätsprüfdaten serialisiert, bevor sie an unterlagerte Abstraktionsschichten übergeben werden.
2. Komponenten, Entitäten & Schnittstellen
Das Diagramm zeigt die drei Schichten/Felder, aus denen ein einzelner NV block zusammengesetzt ist:
NV block Header (optional):- Metadaten-Präfix vor den Nutzdaten.
- Enthält z. B. statische Block-Identifikationsdaten oder Prüfinformationen (relevant bei aktivierter Option
NvMStaticBlockIdCheck, um Fehladressierungen im Flash/EEPROM zu erkennen).
NV block data:- Obligatorischer Nutzdaten-Payload. Entspricht der per Konfiguration festgelegten Blockgröße
NvMBlockLengthder Applikations- bzw. BSW-Daten (z. B. Kalibrierdaten, Fehlerspeicher-/DTC-Snapshots).
- Obligatorischer Nutzdaten-Payload. Entspricht der per Konfiguration festgelegten Blockgröße
NV block CRC (optional):- Postfix-Integritätsfeld am Blockende.
- Nimmt die berechnete Prüfsumme über die Nutzdaten (sowie den Header, falls vorhanden) auf. Konfiguriert über den Parameter
NvMBlockUseCrc(TRUE/FALSE) und typisiert überNvMBlockCrcType(NVM_CRC16,NVM_CRC32,NVM_CRC8).
- Strukturelle Beziehung:
- Der dargestellte NV block bildet zusammen mit dem RAM block (Arbeitskopie/Mirror), dem Administrative block (Status, Job-Ergebnis, Attribute) und dem optionalen ROM block (Default-Werte) die übergeordnete logische Einheit eines AUTOSAR NVRAM block.
3. Dynamisches Verhalten & Sequenzablauf
Schreiboperation (NvM_WriteBlock, NvM_WriteAll)
- Assemblierung: Kopieren der Anwendungsdaten in den internen Arbeitsbereich; Generierung des Headers (falls konfiguriert).
- CRC-Berechnung: Synchroner Aufruf der AUTOSAR
Crc-Bibliothek (Crc_CalculateCRC8/16/32) über Payload (und Header). - Anhängen: Platzierung der berechneten Prüfsumme in das Feld
NV block CRC. - Persistierung: Asynchrone Übergabe des Gesamtrahmens (
Header + Data + CRC) an das Memory Abstraction Interface viaMemIf_Write.
Leseoperation (NvM_ReadBlock, NvM_ReadAll)
- Leseauftrag: Asynchrones Einlesen des vollständigen NV-Blocks via
MemIf_Read. - Header-Validierung: Bei aktivem Header Prüfung auf korrekte
BlockId. Bei Mismatch: Abbruch mitNVM_REQ_WRONG_BLOCK_ID/ Det-Meldung. - Integritätsprüfung: Neuberechnung der CRC über Payload (und Header) und Abgleich mit dem gelesenen
NV block CRC. - Abschluss:
- Bei Übereinstimmung: Nutzdaten werden in den Ziel-RAM-Puffer transferiert, Job-Status wird auf
NVM_REQ_OKgesetzt. - Bei Nichtübereinstimmung: Status
NVM_REQ_INTEGRITY_FAILED, Dem-Fehlerbericht; automatisches Laden des korrespondierenden ROM blocks (sofern vorhanden).
- Bei Übereinstimmung: Nutzdaten werden in den Ziel-RAM-Puffer transferiert, Job-Status wird auf
4. Normative Relevanz & Entwickler-Hinweise
- Puffer- und Treiber-Dimensionierung:
- Die an
Feebzw.Eaübergebene Länge ist nicht identisch mitNvMBlockLength, sondernNvMBlockLength + sizeof(Header) + sizeof(CRC). Konfiguratoren müssen die Blocklängen in der Peripherie (FeeBlockConfiguration/EaBlockConfiguration) exakt auf diese Bruttolänge anpassen.
- Die an
- Interner NvM-Mirror:
- Wird ein NvM-eigener Zwischenpuffer genutzt (
NVM_BUFFER_SIZE), muss dieser für den größten im System konfigurierten Block inklusive Header und CRC dimensioniert sein.
- Wird ein NvM-eigener Zwischenpuffer genutzt (
- Hardware-Alignment & Fls-Restriktionen:
- Flash-Treiber (
Fls) erfordern seitenspezifisches Write-Alignment (z. B. 4, 8 oder 32 Bytes). Ergibt die Brutto-Gesamtlänge (Header + Data + CRC) kein Vielfaches der Page-Size, muss die unterlagerte Abstraktionsschicht (Fee) Padding anwenden, was bei der Sektorkapazitätsberechnung zwingend einzurechnen ist.
- Flash-Treiber (
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.