AUTOSAR_SWS_NVRAMManager
FIG-82eb83a2877aef44
698 × 242 px
1 Release(s)
Figure 16: UML sequence diagram NvM_GetErrorStatus
SHA-256 Inhalts-Fingerabdruck:
82eb83a2877aef44d7dfc6a86433c3a301050fb03f610982239f77a372f830ec
✦
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 (
sd NvM_GetErrorStatus). - Funktionale Einordnung: AUTOSAR Classic Platform, Basic Software (BSW), System Services Layer.
- Technischer Zweck: Visualisierung des synchronen Abfragedienstes für den Bearbeitungs- und Fehlerstatus eines NVRAM-Blocks (
NvM_GetErrorStatus). Der NVRAM Manager (NvM) stellt damit oberen Schichten (Software Components bzw. BSW-Modulen) einen direkten Statuszugriff auf administrative Blockdaten bereit, ohne asynchrone Treiberoperationen (MemIf/FEE/EA) auszulösen.
2. Komponenten, Entitäten & Schnittstellen
- Beteiligte Instanzen (Lifelines):
NvM User: Nutzer des NVRAM Managers.«module» NvM: BSW-Modul NVRAM Manager mit Stereotyp«module»und Dekompositionssymbol.
- Schnittstellen & Signaturen:
- Aufruf:
NvM_GetErrorStatus(Std_ReturnType, NvM_BlockIdType, NvM_RequestResultType**)Std_ReturnType: Rückgabetyp der Funktion, im Modellierungswerkzeug als erster Parameter innerhalb der Signaturklammern aufgeführt.NvM_BlockIdType: Eindeutige Kennung des NVRAM-Blocks.NvM_RequestResultType**: Zeiger auf Zeiger auf den Ergebnistyp (Doppelzeiger-Syntax).
- Rückgabewert (Return Message):
NvM_GetErrorStatus()– synchrone Rückkehr der Ausführung.
- Aufruf:
3. Dynamisches Verhalten & Sequenzablauf
- Aufruftrigger: Die
SW Componentinitiiert den synchronen FunktionsaufrufNvM_GetErrorStatusblockierend über das RTE-Service-Interface (Client-Server) oder per direktem C-API-Call. - Interne Ausführung (NvM):
- Prüfung: Validierung von Initialisierungszustand (
NVM_UNINITführt bei DET-Aktivierung zuNVM_E_UNINIT), Block-ID-Gültigkeit (NVM_E_PARAM_BLOCK_ID) und Gültigkeit des Übergabepointer (NVM_E_PARAM_DATA). - Datenzugriff: Direkter Lesezugriff auf das RAM-basierte administrative Block-Array (
NvM_AdminBlockTable[BlockId].NvMResult). Es findet keine Kommunikation mit Hardware-Treibern (MemIf,Fee,Ea) statt. - Schreiboperation: Übertrag des aktuellen Status in die durch
RequestResultPtrreferenzierte Speicheradresse.
- Prüfung: Validierung von Initialisierungszustand (
- Rückkehr (Return Message): Synchrone Rückkehr der Ausführung an den Aufrufer mit Rückgabewert
E_OK(bzw.E_NOT_OKbei fehlgeschlagener Plausibilisierung).
4. Normative Relevanz & Entwickler-Hinweise
- Synchroner Kontrakt: Die API ist strikt synchron und non-blocking bezüglich Flash/EEPROM-Laufzeiten. Sie darf aus Task-Kontexten aufgerufen werden, ohne Latenzen der Peripherietreiber zu erben.
- Mögliche Statuswerte (
NvM_RequestResultType):NVM_REQ_OK: Letzte asynchrone Operation (Read/Write/Restore/Validate) erfolgreich abgeschlossen.NVM_REQ_NOT_OK: Letzte Operation fehlgeschlagen.NVM_REQ_PENDING: Eine asynchrone Operation für diesen Block ist noch in der NvM-Queue oder in Bearbeitung.NVM_REQ_INTEGRITY_FAILED: CRC-Fehler oder Redundanzprüfung fehlgeschlagen.NVM_REQ_BLOCK_SKIPPED: Block wurde bei Multi-Block-Abarbeitung (NvM_ReadAll/NvM_WriteAll) übersprungen.NVM_REQ_NV_INVALIDATED: Block wurde explizit überNvM_InvalidateNvBlockungültig deklariert.NVM_REQ_CANCELED: Anforderung wurde abgebrochen (z. B. viaNvM_CancelJobs).
- Reentranz: Die Funktion ist reentrant ausgelegt. Bei nebenläufigem Zugriff auf denselben Block über unterschiedliche OS-Tasks muss der Aufrufer bzw. der NvM-Treiber atomare Lese-/Schreibzugriffe auf das administrative Zustandsfeld sicherstellen.
- Poling-Muster: Wird typischerweise zur Überwachung von asynchron gestarteten Aufträgen (
NvM_ReadBlock,NvM_WriteBlock,NvM_EraseNvBlock) genutzt, falls keine asynchronen Job-Finished-Callbacks (NvM_SingleBlockCallbackFunction) konfiguriert sind.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.