AUTOSAR_SWS_NVRAMManager
FIG-7595a9284b6a80b7
923 × 779 px
1 Release(s)
Figure 2: Logical Structure of Different Block Types
SHA-256 Inhalts-Fingerabdruck:
7595a9284b6a80b7243ede97d94d631d48b71211aa9330b2e4dcc4e6c774c5b4
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07
1. Diagrammtyp & Architektur-Kontext
- Klassifikation: UML-Klassendiagramm / Metamodell-Strukturdiagramm (Rahmen:
id Component Model). - Technischer Zweck: Spezifikation der logischen Dekomposition eines
NVRAM Blockinnerhalb des AUTOSAR Basic Software Moduls NVRAM Manager (NvM, Memory Services Layer). Es definiert die strukturellen Teilkomponenten, deren Bindung an Nutzdaten sowie die Realisierung auf den physikalisch-logischen Speichereinheiten (Basic Storage Object) in Abhängigkeit vom Block-Management-Typ.
2. Komponenten, Entitäten & Schnittstellen
- Entitäten & Stereotypen:
«abstract» NVRAM Block: Übergeordnete, logische Verwaltungseinheit.- Attribut:
- Block Management Type:(NVM_BLOCK_NATIVE,NVM_BLOCK_REDUNDANT,NVM_BLOCK_DATASET). - Constraints:
{exact composition depends on Management type},{handling depends on Block Management Type}.
- Attribut:
NV Block: Logischer nichtflüchtiger Speicherblock zur persistenten Ablage im Speicher (Flash/EEPROM via MemIf/Fee/Ea). Beinhaltet Nutzdaten sowie optional CRC und Block-Header.RAM Block: Flüchtiger Speicherbereich (Permanent RAM Block oder Referenz auf Temporary RAM Block) zur Laufzeit für unterbrechungsfreie Lese-/Schreibzugriffe der Applikation.ROM Block: Optionaler, nichtflüchtiger Festwertspeicher (Flash/ROM) zur Bereitstellung von hardcodierten Standardwerten (Default Data).Administrative Block: Obligatorischer, NvM-interner RAM-Verwaltungsblock. Hält Laufzeitattribute (Job-ErgebnisNvM_RequestResultType, Validitätsflags, Write-Protection-Flags, Queue-Zustände).«user data» NV Data: Die anwendungsspezifischen Nutzdaten, die zwischen RAM, ROM und NV transferiert werden.Basic Storage Object: Abstrakte physische/treiberseitige Speichereinheit auf Hardware- bzw. Abstraktionsebene (z. B. RAM-Variable, ROM-Konstante, Fee/Ea-Record).
- Beziehungen:
- Komposition (schwarze Raute):
NVRAM Blockbesteht ausNV Block,RAM Block,ROM Block(optional) undAdministrative Block. - Komposition zu Nutzdaten:
NV Block,RAM BlockundROM Blockkapseln bzw. spiegeln jeweils das identische Datenelement«user data» NV Data. - Realisierung (
«realize», gestrichelte Pfeile): Alle vier logischen Blöcke (NV Block,RAM Block,ROM Block,Administrative Block) werden auf jeweils eigeneBasic Storage Object-Instanzen im Adressraum/Treiber abgebildet.
- Komposition (schwarze Raute):
3. Dynamisches Verhalten & Sequenzablauf (falls zutreffend)
Obgleich ein statisches Strukturmodell dargestellt ist, definieren die annotierten Constraints das dynamische Laufzeitverhalten der Blöcke:
- Initialisierung / Lesen (
NvM_ReadAll/NvM_ReadBlock):- Transfer der Nutzdaten vom
NV Block(über MemIf) in denRAM Block. - Integritätsprüfung (CRC). Bei Fehler oder uninitialisiertem NV-Speicher: Fallback-Laden der Default-Werte aus dem
ROM Blockin denRAM Block(NvM_RestoreBlockDefaults). - Synchrone Aktualisierung des Status im
Administrative Block(NVM_REQ_OK,NVM_REQ_INTEGRITY_FAILEDetc.).
- Transfer der Nutzdaten vom
- Schreiben (
NvM_WriteBlock/NvM_WriteAll):- Modifikation erfolgt synchron im
RAM Blockdurch den Anrufer. - Asynchroner Transfer der Nutzdaten (
«user data» NV Data) vomRAM Blockin den/dieNV Block(s). - Statusverfolgung (z. B.
NVM_REQ_PENDING) und Job-Abschluss-Signalisierung über denAdministrative Block.
- Modifikation erfolgt synchron im
4. Normative Relevanz & Entwickler-Hinweise
- Auswirkung der Management-Typen auf die Multiplizität:
NVM_BLOCK_NATIVE: Exakt 1 NV Block, 1 RAM Block, 0..1 ROM Block, 1 Administrative Block.NVM_BLOCK_REDUNDANT: 2 identische NV Blöcke (Primär/Sekundär zur Absicherung gegen Schreibabbrüche/Bitkipper), 1 RAM Block, 0..1 ROM Block, 1 Administrative Block.NVM_BLOCK_DATASET: N NV Blöcke (1 ≤ N ≤ 255) plus optional M ROM Blöcke, selektierbar überNvM_SetDataIndex(), aggregiert durch 1 gemeinsamen RAM Block und 1 Administrative Block.
- Linker- & Speicherkonfiguration:
- Jeder
Administrative Blockerfordert RAM-Zuweisung innerhalb der BSW-internen Linker-Sektionen (vom NvM-Generator automatisch alloziert). - Konfigurierte
ROM Blöckemüssen zwingend auf gültige Flash-Konstanten-Symbole im Code verweisen (NvM facilities/ Initialisierungsvektoren).
- Jeder
- API- & Konsistenzverträge:
- Wird ein temporärer RAM-Puffer verwendet (kein permanenter RAM Block konfiguriert), muss der übergebene Pointer bis zur Beendigung des asynchronen NvM-Jobs unverändert und gültig bleiben.
- Schreibschutz (
NvM_SetBlockProtection) manipuliert ausschließlich Bits imAdministrative Blockund verhindert Schreibjobs, bevor diese an Treiber (Fee/Ea) dispatcht werden.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.