DEENESPTFRRUARHIKOZHNL
AUTOSAR_CP_SWS_NVRAMManager FIG-da18245034865a93 932 × 354 px 3 Release(s)

Figure 9.1: UML sequence diagram NvM_Init

SHA-256 Inhalts-Fingerabdruck: da18245034865a9378ce8444fa86bd8cf799feb89738dc45bb57cab0dea17cec
✦ 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: UML-Sequenzdiagramm (rahmenlos, ohne sd-Kopf).
  • Technischer Zweck: Spezifikation der synchronen Basis-Initialisierung des NVRAM Managers (NvM) durch den BSW Mode Manager (BswM) während der BSW-Startsequenz (Init-Phase).
  • Architektur-Einordnung: Schnittstelle zwischen System Services («module» BswM) und Memory Services («module» NvM) im AUTOSAR Classic BSW-Schichtenmodell.

2. Komponenten, Entitäten & Schnittstellen

  • Lifelines / Komponenten:
    • «module» BswM: Führt als BSW Mode Manager im Rahmen konfigurierter Startup-Aktionslisten (Action Lists) die synchrone Initialisierung des NvM aus.
    • «module» NvM: Zentrales Speicherdienst-Modul zur synchronen/asynchronen Verwaltung von NVRAM-Blockdaten.
  • Schnittstellen & Interaktionen:
    • Synchroner Aufruf: NvM_Init(const NvM_ConfigType*) (Signatur: void NvM_Init(const NvM_ConfigType* ConfigPtr)).
    • Synchroner Rücksprung: Unbeschrifteter Antwortpfeil (Rückgabe des Kontrollflusses an den BswM).

3. Dynamisches Verhalten & Sequenzablauf

  1. Trigger: BswM initiiert die Modulinitialisierung über eine konfigurierte Action/Action List im synchronen Teil der Startup-Sequenz.
  2. Synchroner Ablauf:
    • BswM blockiert bzw. wartet, bis NvM_Init(const NvM_ConfigType*) vollständig abgearbeitet ist.
    • NvM wertet den übergebenen Konfigurationszeiger aus und überführt seinen internen Modulzustand von NVM_UNINIT in NVM_IDLE.
    • Interne Datenstrukturen, Block-Verwaltungstabellen (Administrative Blocks), Queue-Pointer und Pufferzustände werden initialisiert.
    • Kein I/O-Zugriff: In diesem Schritt finden keine Flash-/EEPROM-Lesezugriffe statt. Das Laden permanenter Datenblöcke erfolgt nachgelagert über den asynchronen Multi-Block-Dienst NvM_ReadAll().
  3. Abschluss: Rückkehr des Kontrollflusses direkt an den BswM.

4. Normative Relevanz & Entwickler-Hinweise

  • Reihenfolge & BSW-Abhängigkeiten: Unterlagerte Abstraktions- und Treiberschichten (MemIf, Fee/Ea, Fls/Eep) müssen vor oder in direkter zeitlicher Korrelation initialisiert werden, spätestens jedoch bevor asynchrone Jobs (NvM_ReadAll()) abgesetzt werden.
  • API-Gültigkeit & Vorbedingungen: Vor Abschluss von NvM_Init() führt der Aufruf jedweder funktionalen NvM-API zum Det-Fehler NVM_E_NOT_INITIALIZED (Default Error Tracer).
  • Ausführungsbedingungen: NvM_Init() ist nicht reentrant, darf ausschließlich im privilegierten Kontext vor Aktivierung des Task-Schedulings / OS ausgeführt werden und besitzt deterministische, rein CPU-gebundene Laufzeit (keine blockierenden Hardware-Polling-Schleifen über MemIf).

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R21-11 → R22-11 keine inhaltliche Änderung Vorgänger: FIG-487706a5340dca7f

Keine inhaltlichen Änderungen erkennbar.

R24-11 → R25-11 keine inhaltliche Änderung Nachfolger: FIG-487706a5340dca7f

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Vorkommen in AUTOSAR-Releases (3)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R22-11 AUTOSAR_SWS_NVRAMManager S. 146 9.1 Figure 9.1: UML sequence diagram NvM_Init
R23-11 AUTOSAR_CP_SWS_NVRAMManager S. 140 9.1 Figure 9.1: UML sequence diagram NvM_Init
R24-11 AUTOSAR_CP_SWS_NVRAMManager S. 161 9.1 Figure 9.1: UML sequence diagram NvM_Init