AUTOSAR_SWS_NVRAMManager
FIG-a355421bd6922c61
576 × 445 px
1 Release(s)
Figure 14: UML sequence diagram NvM_GetErrorStatus
SHA-256 Inhalts-Fingerabdruck:
a355421bd6922c612bb36d0a6daca93ed8eae88dca7517fdde7aee598e86599e
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07
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):
SW Component: Software-Komponente der Applikationsschicht (ASW) bzw. Service-Nutzer; gekoppelt über die RTE via Client-Server-Interface (NvMServicebzw.NvM_Admin).NvM::NvM: BSW-Modul NVRAM Manager (Kapselung der NVRAM-Dienste). Das Symbol in der unteren rechten Ecke der Lifeline-Kopfzeile kennzeichnet ein dekomponiertes bzw. verlinktes Teilsystem/Interaktionsfragment.
- Schnittstellen & Signaturen:
- Aufruf:
NvM_GetErrorStatus(NvM_BlockIdType BlockId, NvM_RequestResultType* RequestResultPtr)BlockId(In): Eindeutige Kennung des NVRAM-Blocks (1 .. NvM_NumberOfBlockIds - 1; Block 0 ist Multi-Block).RequestResultPtr(Out): Zeiger auf die Zielvariable zur Aufnahme des letzten Anfrageergebnisses (NvM_RequestResultType).
- Rückgabewert (Return Message):
Std_ReturnType(E_OK/E_NOT_OK).
- 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.