AUTOSAR_SWS_DefaultErrorTracer
FIG-bb3ea3a38ed215cb
894 × 395 px
1 Release(s)
Figure 3: Det_ReportError with configured hook
SHA-256 Inhalts-Fingerabdruck:
bb3ea3a38ed215cb8fe66b9f339956fdc1dbf039ecfe804293c35c426d3834ee
✦
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
- Klassifikation: UML 2.x Sequenzdiagramm (Interaktionsdiagramm) mit synchronem Aufrufmuster, konfigurierter Bedingungsnotiz und globalem Abbruch-/Zustands-Invarianten-Block (
HALT). - Architektur-Kontext: AUTOSAR Classic Platform (Release 4.3.1), Services Layer (Basic Software / BSW).
- Technischer Zweck: Spezifikation des Kontrollflusses im Modul
Det(Default Error Tracer) bei Detektion eines Entwicklungsfehlers (Development Error), wenn über den BSW-Konfigurationsparameter mindestens ein Integrator-Hook (DetNotificationbzw.DetErrorHook) aktiviert ist. Das Diagramm demonstriert das für Entwicklungs-/Debug-Phasen typische Trap-Verhalten, bei dem nach Abarbeitung des Hooks keine Rückkehr zum Aufrufer erfolgt, sondern das Gesamtsystem gezielt angehalten wird (HALT).
2. Komponenten, Entitäten & Schnittstellen
- Akteure / Lebenslinien:
Det User: Beliebiges BSW-Modul (z. B. Can, Spi, Com) oder eine Software-Komponente (SW-C), welche Entwicklungsfehler prüft und meldet.«module» Det: Das standardisierte AUTOSAR BSW-Basissystem-Modul (Service Component)Default Error Tracer.Integrator Code: OEM- oder projektspezifischer Callout-Code / Callback-Handler (z. B. Trace-Buffer-Schreiber, Hardware-Debugger-Trap).
- Schnittstellen & Parameter:
Det_ReportError(return, ModuleId, InstanceId, ApiId, ErrorId):- Standardisierte synchrone C-Funktionsschnittstelle:
Std_ReturnType Det_ReportError(uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId); ModuleId(uint16): Eindeutige Kennung des meldenden BSW-Moduls gemäß AUTOSAR BSW Module ID Allocation.InstanceId(uint8): Index der Modulinstanz (wichtig bei Multi-Channel- oder Multi-Core-Instanziierung).ApiId(uint8): Eindeutige Funktions-ID der aufrufenden Service-Funktion innerhalb des Moduls.ErrorId(uint8): Modulspezifischer Fehlercode (Development Error Code).return: Formaler Rückgabewert (Std_ReturnType), der im NormalfallE_OKliefert.
- Standardisierte synchrone C-Funktionsschnittstelle:
<User_ErrorHooks>(return, ModuleId, InstanceId, ApiId, ErrorId):- Konfigurierbare Funktionszeiger-Tabelle / Callout-Schnittstelle (
DetNotificationContainer). - Übernimmt die vollständigen Metadaten des Fehlers unverändert.
- Rückgabewert
:E_OKquittiert die Abarbeitung des Hooks an den DET.
- Konfigurierbare Funktionszeiger-Tabelle / Callout-Schnittstelle (
- Bedingung / Annotierung:
<Det_Notification> configured: Statische Vorbedingung in der Modulkonfiguration (DetNotification/DetErrorHookaktiv).
3. Dynamisches Verhalten & Sequenzablauf
- Trigger:
Det Userstellt eine ungültige Parameterübergabe, Nullpointer-Referenzierung oder einen falschen Zustand fest und setzt einen synchronen Aufruf vonDet_ReportError(...)ab. - Hook-Dispatch: Der DET prüft die Konfiguration (
<Det_Notification> configured) und leitet den Fehlerkontext unverzüglich und synchron an den konfigurierten Hook weiter:<User_ErrorHooks>(...). - Hook-Ausführung & Return: Der
Integrator Codeführt seine Aktionen aus (z. B. Logging im RAM-Puffer, Triggern von GPIOs für Logikanalysator) und kehrt synchron mit:E_OKin den DET zurück. - Zustandsübergang
HALT(Kein Return zum Caller):- Es existiert explizit keine Return-Kante zurück zum
Det User. - Die Ausführung mündet in den terminalen Zustand
HALT(z. B.while(1),__BKPT()oder kontrollierter Reset/Watchdog-Trap). - Der vollständige Stacktrace (
Det User→Det→ Hook) bleibt im Core-Dump/Debugger unverändert erhalten.
- Es existiert explizit keine Return-Kante zurück zum
4. Normative Relevanz & Entwickler-Hinweise
- Debug- vs. Release-Konfiguration (
DEV_ERROR_DETECT):- Test/Debug-Build: Das dargestellte
HALT-Verhalten ist gewollt, um das "Fail-Fast"-Prinzip sicherzustellen und Fehler unmittelbar am Entstehungsort ohne Seiteneffekte per Hardware-Debugger einzufrieren. - Serien-Build (Production Code): In Serien-ECUs muss das Trap-Verhalten zwingend unterbunden werden (Verfügbarkeits- und ASIL-Risiko).
Det_ReportErrorwird entweder über Pre-Compile-Schalter komplett wegoptimiert (((void)0)) oder über Ringpuffer ohne Systemstopp protokolliert, woraufhin die Funktion regulär mitE_OKan den Aufrufer zurückkehrt.
- Test/Debug-Build: Das dargestellte
- Kontext- & Reentrancy-Restriktionen:
Det_ReportErrorist reentrant und darf aus Task- sowie Interrupt-Kontexten (CAT1/CAT2 ISRs) aufgerufen werden.- Der in
Integrator Codehinterlegte Hook muss zwingend ISR-fest, nicht-blockierend und frei von rekursiven DET-Aufrufen sein (Verhinderung von Endlos-Kaskaden). - Ein
HALTin einer High-Priority-ISR blockiert das Gesamtsystem einschließlich Betriebssystem-Scheduler und FTTM-Überwachung (Watchdog).
- API-Vertrag:
- BSW-Module dürfen nach Absetzen von
Det_ReportErrorniemals davon ausgehen, dass der Fehler automatisch "korrigiert" wird. Im Fall einer Rückkehr muss das meldende Modul die fehlerhafte Ausführung sicher abbrechen (z. B. mitreturn E_NOT_OK;).
- BSW-Module dürfen nach Absetzen von
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.