AUTOSAR_SWS_NVRAMManager
FIG-e112737c3d0306c0
687 × 237 px
2 Release(s)
Figure 14: UML sequence diagram NvM_SetBlockProtection
SHA-256 Inhalts-Fingerabdruck:
e112737c3d0306c0e18dbb270b5b0b2c43e33fd48836a81e102c3f1db4487ac5
✦
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 Dekompositionssymboloo.
- Schnittstellensignatur:
- Aufruf:
NvM_SetBlockProtection(Std_ReturnType, NvM_BlockIdType, boolean)– werkzeugbedingt ist der RückgabetypStd_ReturnTypeder 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()).
- Aufruf:
3. Dynamisches Verhalten & Sequenzablauf
- Aufruf: Die
SW Componentführt den synchronen FunktionsaufrufNvM_SetBlockProtection(BlockID, ProtectionEnabled)aus und blockiert ihren lokalen Kontrollfluss für die Dauer der Bearbeitung. - 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.
- Abschluss & Rücksprung: Das Modul quittiert den Aufruf mit Rückgabe des Statuscodes (
E_OKbzw. Fehlercode) und gibt den Thread an dieSW Componentzurück. - Fehlerbedingungen & DET-Checks:
- Abweisung mit
E_NOT_OKund DET-MeldungNVM_E_NOT_INITIALIZED, falls der NvM noch nicht initialisiert ist. NVM_E_PARAM_BLOCK_ID, fallsBlockIDauß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 mitNvMWriteBlockOnce = TRUEdefiniert wurde und bereits mindestens einmal persistent geschrieben ist.
- Abweisung mit
4. Normative Relevanz & Entwickler-Hinweise
- API-Eigenschaften: Reentrant für unterschiedliche
BlockIDs, non-reentrant für dieselbeBlockID. Da rein synchron, entfällt das Polling überNvM_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 mitE_NOT_OKfehl. - Beim Herunterfahren des Steuergeräts (
NvM_WriteAll) werden schreibgeschützte Blöcke im NV-Speicher übersprungen.
- Ist der Schutz aktiv (
- RTE-/SWC-Integration: Für Applikations-SWCs wird dieser Dienst über ein Client-Server-Interface (
NvM_Adminbzw.NvM_Servicemit OperationSetBlockProtection) angebunden. Der aufrufende RTE-Port muss synchron (Rte_Call) konfiguriert sein.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.