DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_NVRAMManager FIG-e8cbd869746cd0c3 883 × 289 px 2 Release(s)

Figure 12: UML sequence diagram NvM_Init

SHA-256 Inhalts-Fingerabdruck: e8cbd869746cd0c3e7d70d53fbd1ce5f8e6b0de84d172d2834297c71ef2b20dd
✦ 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 ECU State Manager (EcuM) während der BSW-Startsequenz (ECU-Startup-Phase).
  • Architektur-Einordnung: Schnittstelle zwischen System Services («module» EcuM) und Memory Services («module» NvM) im AUTOSAR Classic BSW-Schichtenmodell.

2. Komponenten, Entitäten & Schnittstellen

  • Lifelines / Komponenten:
    • «module» EcuM: Ruft als koordinierende Instanz des BSW-Lifecycles die Initialisierungsroutinen der Basissoftware-Module auf.
    • «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: NvM_Init() (Rückgabe des Kontrollflusses an den EcuM).

3. Dynamisches Verhalten & Sequenzablauf

  1. Trigger: EcuM initiiert die Modulinitialisierung im synchronen Teil der Startup-Sequenz (typischerweise innerhalb der Init Block-Phase).
  2. Synchroner Ablauf:
    • EcuM blockiert, bis NvM_Init() vollständig abgearbeitet ist.
    • NvM ü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: NvM_Init() kehrt direkt zum EcuM zurück.

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)

R4.1.3 → R4.2.2 normative Änderung Vorgänger: FIG-cc762845e79f801a
  • Aufrufnachricht von NvM_Init() zu NvM_Init(const NvM_ConfigType*) erweitert (Übergabe eines Konfigurationszeigers ergänzt).
R4.3.1 → R21-11 normative Änderung Nachfolger: FIG-487706a5340dca7f
  • Aufrufende Lifeline von «module» EcuM zu «module» BswM geändert (Initialisierungsaufruf erfolgt durch den BSW Mode Manager statt ECU State Manager).
  • Rückkehr-Nachricht (Return-Pfeil) von NvM_Init() auf unbeschriftet geändert.
  • Parametertext der Nachricht NvM_Init(const NvM_ConfigType*) einzeilig ausgerichtet.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | NvM | «module» | EcuM Comment: Initialization of NVRAM manager is performed synchronously | NvM_Init(const NvM_ConfigType*) | NvM_Init()

Vorkommen in AUTOSAR-Releases (2)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R4.2.2 AUTOSAR_SWS_NVRAMManager S. 159 12 Figure 12: UML sequence diagram NvM_Init
R4.3.1 AUTOSAR_SWS_NVRAMManager S. 156 12 Figure 12: UML sequence diagram NvM_Init