DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_NVRAMManager FIG-b2f58eea8ee917d5 865 × 691 px 2 Release(s)

Figure 20: NvM interraction with BswM in case of a single block operation

SHA-256 Inhalts-Fingerabdruck: b2f58eea8ee917d55181bb399432dac1b3a3a5dc7ece8be6da4bbe0d1788223b
✦ 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

  • Diagrammtyp: UML-Sequenzdiagramm (Interaktionsdiagramm mit kombinierten Fragmenten / loop-Operand).
  • Architektur-Kontext: AUTOSAR Classic Platform (Release R4.3.1), BSW System Services Layer.
  • Technischer Zweck: Spezifikation des asynchronen Interaktionsmusters zwischen dem Anforderer (NvM User), dem NVRAM Manager (NvM), dem Basic Software Mode Manager (BswM) und dem OS-Ablaufkontext (BSW Task) bei Durchführung einer Einzelblock-Operation (z. B. NvM_ReadBlock, NvM_WriteBlock, NvM_RestoreBlockDefaults). Es visualisiert das zweistufige Meldekonzept an den BswM (Request-Registrierung vs. Job-Terminierung).

2. Komponenten, Entitäten & Schnittstellen

  • Akteure & Lebenslinien:
    • BSW Task (OS task or cyclic call): Periodischer Ausführungskontext des Betriebssystems zur zyklischen Abarbeitung der BSW-Hauptfunktionen.
    • «module» BswM: AUTOSAR Basic Software Mode Manager; empfängt Block-Zustandswechsel zur Mode Arbitration und Regelauswertung (z. B. ECU-Shutdown- oder Startup-Bedingungen).
    • «module» NvM: AUTOSAR NVRAM Manager; steuert die Block-Zustandsmaschine und die asynchrone Auftragsverarbeitung über den Memory Abstraction Interface Stack (MemIf/Fee/Ea).
    • NvM User: Anfordernde Entität (Software Component via RTE-Service-Port oder BSW-Modul wie DCM, DEM).
  • Schnittstellen & Parameter:
    • Single block request(): Repräsentiert die asynchrone API-Familie für Einzelblöcke (NvM_ReadBlock(), NvM_WriteBlock(), etc.).
    • BswM_NvM_CurrentBlockMode(Block, Mode): Normierte BswM-Serviceschnittstelle.
      • Parameter Block: Block-ID (NvM_BlockIdType).
      • Parameter Mode / JobResult: Auftragsstatus (NvM_RequestResultType: NVM_REQ_PENDING, NVM_REQ_OK, NVM_REQ_NOT_OK, NVM_REQ_INTEGRITY_FAILED etc.).
    • NvM_MainFunction(): Polling-/Scheduler-Einsprungpunkt des NvM.
    • SingleBlockCallback(JobResult): Optionaler, blockindividueller Anwender-Callback (NvMSingleBlockCallbackFunction).

3. Dynamisches Verhalten & Sequenzablauf

  1. Auftragsinitiierung (synchron im Kontext des NvM Users):
    • Der NvM User ruft eine Einzelblock-API auf (Single block request()).
    • Der NvM validiert die Parameter, reiht den Job in die interne Queue ein und signalisiert dem BswM unverzüglich den Statuswechsel via BswM_NvM_CurrentBlockMode(Block, NVM_REQ_PENDING).
    • Der Aufruf kehrt synchron mit Rückgabewert (Standard E_OK) zum NvM User zurück.
  2. Asynchrone Abarbeitung (loop While block is still being processed):
    • Die BSW Task triggert periodisch NvM_MainFunction().
    • Solange die Hardware-Transaktionen (via MemIf/Fee/Fls bzw. Ea/Eep) laufen, führt NvM_MainFunction() Zwischenschritte der internen Statemachine aus, ohne Statusänderungen nach außen zu propagieren.
  3. Auftragsabschluss & Notifikation:
    • Im finalen NvM_MainFunction()-Zyklus wird das Job-Endergebnis ermittelt (Hinweis: Der Kommentar „Multi block operation finishes in this call“ im Schaubild ist ein bekannter redaktioneller Spezifikationsfehler/Copy-Paste-Artefakt aus Figure 20; technisch vollendet hier die Single-Block-Operation).
    • NvM meldet das finale Ergebnis synchron an den BswM: BswM_NvM_CurrentBlockMode(Block, JobResult).
    • Sofern konfiguriert, wird der anwenderspezifische Callback SingleBlockCallback(JobResult) ausgeführt.
    • NvM_MainFunction() terminiert und kehrt in die BSW Task zurück.

4. Normative Relevanz & Entwickler-Hinweise

  • Konfigurationsabhängigkeit (NvMBswMBlockStatusInformation):
    • Der Aufruf von BswM_NvM_CurrentBlockMode() erfolgt nur, wenn im jeweiligen NvMBlockDescriptor das Konfigurationsattribut NvMBswMBlockStatusInformation == TRUE gesetzt ist. Fehlt dieses Flag, erfolgt keine BswM-Benachrichtigung für diesen Block.
  • Kontextwechsel & Laufzeitverhalten:
    • Startphase: Die Meldung NVM_REQ_PENDING an den BswM erfolgt direkt im Ausführungskontext des Aufrufers (NvM User Task). Dies kann unmittelbare BswM-Regelauswertungen und Aktionen zur Folge haben (Vermeidung langer BswM-Aktionslisten im Anwenderkontext beachten).
    • Endphase: Das Endergebnis (JobResult) an BswM und der SingleBlockCallback werden im Kontext der BSW Task (NvM_MainFunction) aufgerufen. Callbacks müssen streng nicht-blockierend ausgelegt sein, um die BSW-Task-Zykluszeit nicht zu verletzen.
  • Fehlerbehandlung:
    • Schlägt die initiale Validierung fehl (Rückgabe E_NOT_OK), wird der Job weder gequeued noch wird BswM_NvM_CurrentBlockMode(..., NVM_REQ_PENDING) aufgerufen.
    • Bricht ein Job hardwarebedingt ab oder schlägt die CRC-Prüfung fehl, spiegelt JobResult den Fehlercode wider (NVM_REQ_NOT_OK bzw. NVM_REQ_INTEGRITY_FAILED), worauf der BswM spezifische Recovery-Strategien anstoßen kann.

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

R4.3.1 → R18-10_R4.4.0_R1.5.0 keine inhaltliche Änderung Vorgänger: FIG-52d6e49d413f96ca

Keine inhaltlichen Änderungen erkennbar.

R19-11 → R20-11 keine inhaltliche Änderung Nachfolger: FIG-bf3503e5e2e06820

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

BSW Task (OS task | or cyclic call) | «module» | BswM | «module» | NvM | NvM User | loop While block is still being processed | Multi block operation finishes in this call | BswM_NvM_CurrentBlockMode(Block, | NVM_REQ_PENDING) | BswM_NvM_CurrentBlockMode(Block, | JobResult) | NvM_MainFunction() | NvM_MainFunction() | SingleBlockCallback(JobResult) | Single block request()

Vorkommen in AUTOSAR-Releases (2)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R18-10_R4.4.0_R1.5.0 AUTOSAR_SWS_NVRAMManager S. 159 20 Figure 20: NvM interraction with BswM in case of a single block operation
R19-11 AUTOSAR_SWS_NVRAMManager S. 167 20 Figure 20: NvM interraction with BswM in case of a single block operation