DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_NVRAMManager FIG-40ab69d011bb2c8d 683 × 242 px 1 Release(s)

Figure 15: UML sequence diagram NvM_SetBlockProtection

SHA-256 Inhalts-Fingerabdruck: 40ab69d011bb2c8df4a8d6ad936d060837d9065309505880ae85ae925b31ae2f
✦ 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 (rahmenlose Darstellung ohne sd-Kopfbereich).
  • Architektur-Ebene: AUTOSAR Classic Platform, Basic Software (BSW), Schicht der Speicherdienste (Memory Services).
  • Funktionaler Kontext: Modellierung des synchronen Kontrollflusses zur Laufzeitkonfiguration des Schreibschutzes (Write Protection) eines dedizierten NVRAM-Blocks durch eine übergeordnete Software-Komponente.

2. Komponenten, Entitäten & Schnittstellen

  • Lebenslinien / Akteure:
    • NvM User: Aufrufende Benutzerentität (SW-C via RTE oder BSW-Dienst).
    • «module» NvM: BSW-Modul NVRAM Manager mit Stereotyp «module» und Dekompositionssymbol oo.
  • Schnittstellensignatur:
    • Aufruf: NvM_SetBlockProtection(Std_ReturnType, NvM_BlockIdType, boolean) – werkzeugbedingt ist der Rückgabetyp Std_ReturnType der Parameterliste vorangestellt.
      • Std_ReturnType: Rückgabetyp der synchronen Service-Funktion.
      • NvM_BlockIdType: Datentyp der logischen Blockkennung.
      • boolean: Datentyp des Schutzflags.
    • Rücksprung: Synchrone Rückmeldung (NvM_SetBlockProtection()).

3. Dynamisches Verhalten & Sequenzablauf

  1. Aufruf: Die SW Component führt den synchronen Funktionsaufruf NvM_SetBlockProtection(BlockID, ProtectionEnabled) aus und blockiert ihren lokalen Kontrollfluss für die Dauer der Bearbeitung.
  2. Interne Zustandsänderung:
    • Die Ausführung erfolgt unmittelbar und blockierend im Task-Kontext des Aufrufers.
    • Der NvM reiht keinen Auftrag in die asynchrone Job-Queue ein und triggert keine Operationen in der darunterliegenden Memory Hardware Abstraction (MemIf, Fls, Eep).
    • Es wird ausschließlich das administrative Attributbit für den Schreibschutz im RAM-Verwaltungsblock (NvM_AdminBlockType) des adressierten Blocks gesetzt oder zurückgesetzt.
  3. Abschluss & Rücksprung: Das Modul quittiert den Aufruf mit Rückgabe des Statuscodes (E_OK bzw. Fehlercode) und gibt den Thread an die SW Component zurück.
  4. Fehlerbedingungen & DET-Checks:
    • Abweisung mit E_NOT_OK und DET-Meldung NVM_E_NOT_INITIALIZED, falls der NvM noch nicht initialisiert ist.
    • NVM_E_PARAM_BLOCK_ID, falls BlockID außerhalb des konfigurierten Wertebereichs liegt.
    • NVM_E_BLOCK_PENDING, falls für den adressierten Block zeitgleich ein asynchroner Lese-, Schreib- oder Löschauftrag aktiv ist.
    • Verhinderung der Deaktivierung (ProtectionEnabled = FALSE), wenn der Block per Konfiguration mit NvMWriteBlockOnce = TRUE definiert wurde und bereits mindestens einmal persistent geschrieben ist.

4. Normative Relevanz & Entwickler-Hinweise

  • API-Eigenschaften: Reentrant für unterschiedliche BlockIDs, non-reentrant für dieselbe BlockID. Da rein synchron, entfällt das Polling über NvM_GetErrorStatus() sowie Callback-Mechanismen (JobEnd-/JobError-Notifications).
  • Keine Kopplung an NvM_MainFunction: Der Schutzstatus ist unmittelbar nach Rückkehr der Funktion gültig und nicht an den Schedule-Zyklus der zyklischen BSW-Main-Function gebunden.
  • Effekt auf Folgeoperationen:
    • Ist der Schutz aktiv (TRUE), schlagen nachfolgende Schreibaufträge (NvM_WriteBlock, NvM_WritePRAMBlock) bereits in der Validierungsphase mit E_NOT_OK fehl.
    • Beim Herunterfahren des Steuergeräts (NvM_WriteAll) werden schreibgeschützte Blöcke im NV-Speicher übersprungen.
  • RTE-/SWC-Integration: Für Applikations-SWCs wird dieser Dienst über ein Client-Server-Interface (NvM_Admin bzw. NvM_Service mit Operation SetBlockProtection) angebunden. Der aufrufende RTE-Port muss synchron (Rte_Call) konfiguriert sein.

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

R3.2.3 → R4.0.3 redaktionell Vorgänger: FIG-97370110228c5806
  • Diagrammrahmen: UML-Rahmen und Titelkopf (sd NvM_SetBlockProtection) entfernt.
  • Diagrammelemente: Notizkasten mit Metadaten (Status: Proposed by TO as per NvM SWS 1.44...) entfernt.
  • Aufruf-Nachricht: Voranstellen des Rückgabetyps Std_ReturnType in der Signaturanzeige (NvM_SetBlockProtection(NvM_BlockIdType, boolean) zu NvM_SetBlockProtection(Std_ReturnType, NvM_BlockIdType, boolean)).
R4.0.3 → R4.1.3 keine inhaltliche Änderung Nachfolger: FIG-fb35c3af7a373b43

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | NvM | NvM User | NvM_SetBlockProtection(Std_ReturnType, NvM_BlockIdType, boolean) | NvM_SetBlockProtection()

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R4.0.3 AUTOSAR_SWS_NVRAMManager S. 118 15 Figure 15: UML sequence diagram NvM_SetBlockProtection