DEENESPTFRRUARHIKOZHNL

Default Error Tracer (DET)

ModulDET (Default Error Tracer)
BSW-Modul-ID15
Standard-Header#include "Det.h"
SWS-SpezifikationAUTOSAR_SWS_DefaultErrorTracer.pdf
ClusterDiagnostic Services

Modul-GuideKI-GENERIERT

Nimmt Fehlermeldungen der Basissoftware und SW-Cs zentral entgegen und reicht sie an Integrator-Hooks weiter.
KI-GENERIERT ungeprüft Modell: claude-opus-5-5 · Aufwand: high · Temperatur: nicht steuerbar · Prompt: 44a890525e71 Herkunft Offene Fragen (3)
Kausaler Anker: R20-11 Gültig ab R20-11 Neu synthetisiert für diesen Spezifikationsstand.
KI-generiertclaude-opus-5-5 · 2026-10-13

Nimmt Fehlermeldungen der Basissoftware und SW-Cs zentral entgegen und reicht sie an Integrator-Hooks weiter.

Der Default Error Tracer nimmt Fehlermeldungen von BSW-Modulen und SW-Cs zentral entgegen. Dafür gibt es Det_ReportError für Entwicklungsfehler, Det_ReportRuntimeError für Laufzeitfehler und Det_ReportTransientFault für transiente Fehler, jeweils mit Modul-, Instanz-, API- und Fehlerkennung. Jede Meldung reicht der DET an alle konfigurierten Hooks bzw. Callouts des Integrators weiter [SWS_Det_00501]. Den Betrieb starten Det_Init und Det_Start aus dem EcuM. Die wichtigste Randbedingung: Det_ReportError kehrt in R20-11 nicht zum Aufrufer zurück, sondern hält den Programmfluss wie eine Assertion an [SWS_Det_00009].

Der Default Error Tracer ist die zentrale Sammelstelle für Fehlermeldungen aus Basissoftware und Software-Komponenten. Er bietet drei gleich aufgebaute Meldedienste mit den Parametern ModuleId, InstanceId, ApiId und ErrorId bzw. FaultId: Det_ReportError für Entwicklungsfehler, Det_ReportRuntimeError für Laufzeitfehler und Det_ReportTransientFault für transiente Fehler ([SWS_Det_00009], [SWS_Det_01001], [SWS_Det_01003]). Der EcuM bringt den DET mit Det_Init und danach Det_Start in Betrieb ([SWS_Det_00008], SWS DET Abb. 1 S. 34).

det_kontext ecum EcuM det DET ecum->det Det_Init, Det_Start bsw BSW-Module (z. B. CanIf, Dio, Adc) bsw->det Det_ReportError Det_ReportRuntimeError Det_ReportTransientFault swc SW-C rte RTE swc->rte Service-Port DETService rte->det Aufruf mit ModuleId/InstanceId (port defined argument values) hooks Integrator-Code (Error-Hooks / Callouts) det->hooks alle konfigurierten Hooks/Callouts dlt Dlt (optional) det->dlt Dlt_DetForwardErrorTrace dem DEM / Fehlerspeicher hooks->dem z. B. DEM-Aufruf, Speicherung

Kontextdiagramm: Der DET empfängt Meldungen von BSW-Modulen und SW-Cs und leitet sie an Integrator-Hooks und optional an Dlt weiter. Quellen: SWS DET Abb. 2 S. 28, [SWS_Det_00202]

Der DET wertet Meldungen nicht selbst aus. Jeder Meldedienst ruft alle Hooks bzw. Callouts auf, die für ihn konfiguriert sind (DetErrorHook, DetReportRuntimeErrorCallout, DetReportTransientFaultCallout), und zwar mit denselben Parametern wie die Meldung [SWS_Det_00501]. Über diesen Integrator-Code erreicht der DET auch DEM oder Fehlerspeicher. Callouts sollen sich dabei auf kurze, angemessene Aktionen beschränken ErrorDescription S. 10.

SW-Cs melden über das Client-Server-Interface DETService. Die RTE ergänzt ModuleId und InstanceId als „port defined argument values“ aus der DET-Konfiguration, die SW-C erhält immer E_OK zurück ([SWS_Det_00203], [SWS_Det_00204]).

Für Fehlerfälle ist entscheidend, wie die drei Dienste zurückkehren. Det_ReportError kehrt in R20-11 nicht zurück: Nach den Hooks wird der Kontrollfluss angehalten, wie bei einer Assertion ([SWS_Det_00009], RS BSWGeneral S. 33). Laufzeitmeldungen kehren dagegen mit E_OK zurück. Transiente Meldungen geben den Callout-Wert weiter, ohne Callout E_OK SWS DET Abb. 6 S. 36. Transiente Fehler entfallen mit R24-11, die Dlt-Aufrufe mit R25-11 SWS DET S. 1.

Meldung eines Entwicklungsfehlers über Det_ReportErrorAufruferBSW-Modul (DET User)DETIntegrator-CodeAPI-Aufruf mit ungültigem ParameterEntwicklungsfehler erkanntDet_ReportError(ModuleId,InstanceId, ApiId, ErrorId)altDetErrorHook konfiguriertloopfür jeden konfigurierten Hook<User_Error_Hooks>(ModuleId,InstanceId, ApiId, ErrorId)E_OKkein Hook konfiguriertkeine Hook-AufrufeHALT: Kontrollfluss wirdnicht fortgesetztKeine Rückkehr zum Melder("never returns" in R20-11)

Sequenzdiagramm: Bei einem Entwicklungsfehler ruft der DET alle konfigurierten Hooks auf und hält danach an, ohne zum Melder zurückzukehren. Quellen: SWS DET Abb. 9.2 S. 34, [SWS_Det_00009]

Rolle des Default Error Tracer an der Systemgrenze

Der Default Error Tracer (DET) ist die zentrale Sammelstelle, an die Basissoftware-Module und Software-Komponenten erkannte Fehler melden. In R20-11 bietet er dafür drei gleich aufgebaute Meldedienste: Det_ReportError für Entwicklungsfehler [SWS_Det_00009], Det_ReportRuntimeError für Laufzeitfehler [SWS_Det_01001] und Det_ReportTransientFault für transiente Fehler [SWS_Det_01003]. Dazu kommen die Verwaltungsdienste Det_Init, Det_Start und Det_GetVersionInfo ([SWS_Det_00008], [SWS_Det_00010], [SWS_Det_00011]). Der DET wertet Meldungen nicht selbst inhaltlich aus. Er benachrichtigt die konfigurierten Error-Hooks mit jeder empfangenen Meldung SWS DET S. 16.

Nach außen ist der DET schmal angebunden. Als einzige erwartete Schnittstelle nennt die Spezifikation die optionale Weiterleitung an Dlt über Dlt_DetForwardErrorTrace aus Dlt_Det.h ([SWS_Det_00211], SWS DET Abb. 2 S. 28). DEM und RTE erreicht der DET nur über integratorspezifischen Code in den Callouts ErrorDescription S. 10.

det_kontext ecum EcuM det DET ecum->det Det_Init, Det_Start bsw BSW-Module (z. B. CanIf, Dio, Adc) bsw->det Det_ReportError Det_ReportRuntimeError Det_ReportTransientFault swc SW-C rte RTE swc->rte Service-Port DETService rte->det Aufruf mit ModuleId/InstanceId (port defined argument values) hooks Integrator-Code (Error-Hooks / Callouts) det->hooks alle konfigurierten Hooks/Callouts dlt Dlt (optional) det->dlt Dlt_DetForwardErrorTrace dem DEM / Fehlerspeicher hooks->dem z. B. DEM-Aufruf, Speicherung

Kontextdiagramm: Der DET empfängt Meldungen von BSW-Modulen und, über die RTE, von SW-Cs. Er wird vom EcuM hochgefahren und gibt Meldungen nur an konfigurierten Integrator-Code und optional an Dlt weiter. Quellen: SWS DET Abb. 2 S. 28, [SWS_Det_00202], [SWS_Det_00211], ErrorDescription S. 10

Hochlauf: Initialisierung und Start durch den EcuM

Der ECU State Manager initialisiert den DET mit Det_Init (Service-ID 0x00). Dabei übergibt er einen Zeiger auf den gewählten Konfigurationssatz vom Typ Det_ConfigType, dessen Inhalt implementierungsspezifisch ist ([SWS_Det_00008], [SWS_Det_00210]). Anschließend startet Det_Start (Service-ID 0x02) den Tracer [SWS_Det_00010]. Beide Dienste sind synchron und nicht reentrant. Das R20-11-Schaubild zeigt die beiden Aufrufe nacheinander aus dem EcuM SWS DET Abb. 1 S. 34. Der EcuM führt Det_Init und Det_ReportError entsprechend als optionale Schnittstellen SWS EcuM S. 142.

Warum Initialisierung und Start getrennt sind, begründet die Spezifikation nicht. Interpretation: Die Zweiteilung dürfte erlauben, den DET sehr früh im Hochlauf zu initialisieren und den regulären Betrieb erst in einem späteren Schritt freizugeben [SWS_Det_00010]. Frage Q-fee4462bdf189dcf (offen)

Hochlauf des DET durch den EcuMEcuMDETDet_Init(ConfigPtr)Initialisierung mit gewähltemKonfigurationssatz (Det_ConfigType)Rückkehr (synchron)Det_Start()Rückkehr (synchron)Beide Dienste synchron und nicht reentrant

Sequenzdiagramm: Der EcuM ruft zuerst synchron Det_Init mit dem Konfigurationszeiger auf, danach Det_Start. Quellen: SWS DET Abb. 1 S. 34, [SWS_Det_00008], [SWS_Det_00010]

Drei Meldewege und ihre Kennungen

Alle drei Meldedienste haben dieselbe Parameterstruktur:

  • ModuleId (uint16);
  • InstanceId (uint8), bei Einzelinstanz-Modulen der Wert 0;
  • ApiId (uint8);
  • ErrorId bzw. FaultId (uint8).

API- und Fehlerkennungen legt jeweils die SWS des meldenden Moduls fest ([SWS_Det_00009], [SWS_Det_01001], [SWS_Det_01003]). Die Modul-ID stammt aus der Liste der Basissoftware-Module. Die Basissoftware nutzt davon nur den Bereich 0..255 EXP LSA S. 157.

Welcher Weg der richtige ist, folgt aus der Fehlerklassifikation. Verletzte grundlegende Vorbedingungen sind Entwicklungsfehler und werden wie eine Assertion behandelt; Beispiele sind Softwarefehler, fehlerhafte Integration oder ungültige Konfiguration. Die übrigen Fehler sind Laufzeit- oder Produktionsfehler EXP LSA S. 154. Ist die Entwicklungsfehlererkennung konfiguriert, melden BSW-Module Entwicklungsfehler mit ihrer zugewiesenen Modul-ID über Det_ReportError SWS BSWGeneral S. 57. Ein Präprozessorschalter wie SPI_DEV_ERROR_DETECT blendet den Aufruf ein oder aus EXP LSA S. 113.

fehlerklassifikation start Fehler erkannt q1 Grundlegende Vorbedingung verletzt? start->q1 q2 Relevant für (Service-/EOL-)Diagnose? q1->q2 nein dev Entwicklungsfehler: Det_ReportError (Programmfluss endet) q1->dev ja prod Produktionsfehler (nicht über DET) q2->prod ja rt Laufzeitfehler: Det_ReportRuntimeError q2->rt nein

Aktivitätsdiagramm: Ist eine grundlegende Vorbedingung verletzt, wird ein Entwicklungsfehler über Det_ReportError gemeldet. Sonst entscheidet die Diagnoserelevanz zwischen Produktionsfehler und Laufzeitfehler (Det_ReportRuntimeError). Quellen: EXP LSA S. 154, [SWS_Det_00009], [SWS_Det_01001]

Laufzeitfehler melden etwa der ADC-Treiber mit ADC_E_BUSY oder Dds bei verworfenen Nachrichten, jeweils über Det_ReportRuntimeError (SWS Adc S. 95, SWS Dds S. 53). Ein BSW-Modul beschreibt seinen Bedarf mit der ServiceNeeds-Art ErrorTracerNeeds. Sie kennt die Rollen Det_ReportError, Det_ReportRuntimeError und Det_ReportTransientFault TPS BSWMDT S. 266.

Hooks und Callouts als Brücke zum Integrator-Code

Jeder Aufruf von Det_ReportError ruft alle in DetErrorHook konfigurierten Funktionen auf. Ebenso rufen Det_ReportRuntimeError und Det_ReportTransientFault alle Callouts aus DetReportRuntimeErrorCallout bzw. DetReportTransientFaultCallout auf [SWS_Det_00501]. Hooks und Callouts haben die Signatur des auslösenden Dienstes und erhalten dieselben Parameter ([SWS_Det_00181], [SWS_Det_00184], [SWS_Det_00187], SWS DET S. 16). Die Hook-Schnittstelle <User_Error_Hooks> hat die Service-ID 0x10. Sie ist synchron und reentrant und liefert immer E_OK SWS DET S. 25.

Was die Callouts tun, entscheidet der Integrator. Bei Laufzeit- und transienten Fehlern sollen sie sich auf wenige Aktionen beschränken: das Ereignis speichern, den DEM aufrufen oder eine andere kurze, angemessene Aktion ausführen ErrorDescription S. 10. Nach einem Aufruf von Det_ReportRuntimeError kehrt der DET immer mit E_OK zurück, ob Callouts konfiguriert sind oder nicht (SWS DET Abb. 4 S. 35, SWS DET Abb. 5 S. 35).

Det_ReportRuntimeError mit und ohne CalloutDET UserDETIntegrator-CodeDet_ReportRuntimeError(ModuleId,InstanceId, ApiId, ErrorId)altDetReportRuntimeErrorCallout konfiguriertloopfür jeden konfigurierten Callout<DetReportRuntimeErrorCallout>(ModuleId,InstanceId, ApiId, ErrorId)E_OKkein Callout konfiguriertkeine WeiterleitungE_OKProgrammfluss des Melders läuft weiter

Sequenzdiagramm: Det_ReportRuntimeError ruft alle konfigurierten Callouts auf und kehrt in jedem Fall mit E_OK zum Melder zurück. Quellen: SWS DET Abb. 4 S. 35, SWS DET Abb. 5 S. 35, [SWS_Det_00501]

Bei Det_ReportTransientFault reicht der DET dagegen den Rückgabewert des Callouts an den Melder durch. Ohne Callout liefert er E_OK (SWS DET Abb. 6 S. 36, SWS DET Abb. 7 S. 36). Für mehrere Callouts beschreibt eine spätere Fassung eine logische Oder-Verknüpfung der Rückgabewerte: E_OK kommt nur zurück, wenn alle Callouts E_OK liefern. Diese Regel dürfte vermutlich schon für R20-11 gelten SWS DET S. 24. Frage (offen)

Det_ReportTransientFault mit und ohne CalloutDET UserDETIntegrator-CodeDet_ReportTransientFault(ModuleId,InstanceId, ApiId, FaultId)altDetReportTransientFaultCallout konfiguriertloopfür jeden konfigurierten Callout<DetReportTransientFaultCallout>(ModuleId,InstanceId, ApiId, FaultId)Rückgabewert XRückgabewerte logisch verodern(Annahme für R20-11)Callout-Ergebniskein Callout konfiguriertE_OK

Sequenzdiagramm: Det_ReportTransientFault gibt die Rückgabewerte der Callouts an den Melder weiter; ohne Callout gibt es E_OK zurück. Die Oder-Verknüpfung bei mehreren Callouts ist als Annahme gekennzeichnet. Quellen: SWS DET Abb. 6 S. 36, SWS DET Abb. 7 S. 36, SWS DET S. 24

Anbindung von Software-Komponenten über Service-Ports

SW-Cs greifen über das Client-Server-Interface DETService auf den DET zu. Seine Operationen rufen Det_ReportError bzw. die Laufzeitmeldung mit der Modul-ID des Ports auf [SWS_Det_00202]. ModuleId und InstanceId übergibt nicht die SW-C selbst. Die RTE ergänzt sie als „port defined argument values“, deren Werte aus DetModuleId und DetInstanceId der DET-Konfiguration stammen ([SWS_Det_00204], [SWS_Det_00205], [SWS_Det_00206]). Für SW-Cs sind ApiId und ErrorId nicht standardisiert und im Bereich 0x00..0xFF frei belegbar. Der Rückgabewert ist immer E_OK [SWS_Det_00203]. Das Port-Interface verwendet die AUTOSAR-Datentypen uint8 und uint16 [SWS_Det_00200].

Fehlermeldung einer SW-C über den Service-PortSW-CRTEDETReportRuntimeError(ApiId, ErrorId)über R-Port (DETService)Aufruf mit ergänzten ModuleId, InstanceId(port defined argument values)Werte aus DetModuleId / DetInstanceIdder DET-KonfigurationDet_ReportRuntimeError(ModuleId,InstanceId, ApiId, ErrorId)E_OKE_OK

Sequenzdiagramm: Die SW-C übergibt nur ApiId und ErrorId. Die RTE ergänzt ModuleId und InstanceId aus der Konfiguration, die Rückgabe ist E_OK. Quellen: [SWS_Det_00202], [SWS_Det_00203], [SWS_Det_00204], SWS DET Abb. 3 S. 33

Konfiguration der Benachrichtigungen

Die Benachrichtigungsfunktionen liegen im optionalen Container DetNotification (Multiplizität 0..1). Er enthält die Listen DetErrorHook und DetReportRuntimeErrorCallout (je 0..*). DetErrorHook ist zur Pre-compile-Zeit konfiguriert und verlangt den Funktionstyp Std_ReturnType (*f)(uint16, uint8, uint8, uint8) SWS DET S. 37. In R20-11 kommt DetReportTransientFaultCallout hinzu [SWS_Det_00501]. Das Parameterschaubild zeigt außerdem den Pflichtcontainer DetGeneral mit DetVersionInfoApi und DetForwardToDlt SWS DET (alt) Abb. 6 S. 43. Aus DetConfigSet/DetModule und DetModuleInstance bildet die Konfiguration die Ports Det_{Name} samt Modul- und Instanzkennung [SWS_Det_00205].

Verhalten im Fehlerfall

Entwicklungsfehler werden wie Assertions behandelt. Nach dem Aufruf der konfigurierten Hooks wird der normale Kontrollfluss nicht fortgesetzt, und der DET stoppt die Ausführung, etwa durch eine Endlosschleife oder eine Halt-Anweisung RS BSWGeneral S. 33. Dazu passt der Eintrag zu Det_ReportError in R20-11 unter Sync/Async: „Not Applicable: The function never returns“ [SWS_Det_00009]. Die Schaubilder zeigen dieses HALT mit und ohne konfigurierten Hook (SWS DET Abb. 9.2 S. 34, SWS DET Abb. 9.3 S. 35).

Meldung eines Entwicklungsfehlers über Det_ReportErrorAufruferBSW-Modul (DET User)DETIntegrator-CodeAPI-Aufruf mit ungültigem ParameterEntwicklungsfehler erkanntDet_ReportError(ModuleId,InstanceId, ApiId, ErrorId)altDetErrorHook konfiguriertloopfür jeden konfigurierten Hook<User_Error_Hooks>(ModuleId,InstanceId, ApiId, ErrorId)E_OKkein Hook konfiguriertkeine Hook-AufrufeHALT: Kontrollfluss wirdnicht fortgesetztKeine Rückkehr zum Melder("never returns" in R20-11)

Sequenzdiagramm: Ein BSW-Modul erkennt einen Entwicklungsfehler und ruft Det_ReportError auf. Der DET ruft alle konfigurierten Hooks auf und hält danach an, ohne zum Melder zurückzukehren. Quellen: SWS DET Abb. 9.2 S. 34, SWS DET Abb. 9.3 S. 35, [SWS_Det_00009], [SWS_Det_00501]

Einige Schaubilder weichen davon ab. Ein Sequenzbild vermerkt, das synchrone oder asynchrone Verhalten hänge von der Implementierung ab, und zeichnet eine Rückkehr zum Aufrufer SWS DET Abb. 5 S. 36. Auch das Dio-Schaubild zeigt nach Det_ReportError eine Rückkehr SWS Dio Abb. 5 S. 41. Normativ für R20-11 ist [SWS_Det_00009]. Eine Klarstellung der Sync/Async-Angabe folgte erst mit R21-11 SWS DET S. 1.

Laufzeit- und transiente Fehler unterbrechen den Programmfluss nicht: Der DET kehrt mit einem Rückgabewert zum Melder zurück ([SWS_Det_01001], [SWS_Det_01003]). Der DET selbst kennt nur einen eigenen Entwicklungsfehler. DET_E_PARAM_POINTER (0x01) entsteht, wenn Det_GetVersionInfo mit einem Nullzeiger aufgerufen wird [SWS_Det_00301]. Eine spätere Fassung legt fest, dass dieser Fehler an alle konfigurierten Callouts gemeldet wird. Das ist vermutlich auch für R20-11 so gemeint SWS DET S. 18. Frage Q-3a7f5865d61186d4 (offen)

Weiterführende Detailbelege

Spätere Releases ändern den Funktionsumfang. Eine Fassung aus R23-11/R24-11 markiert Det_ReportTransientFault als OBSOLETE SWS DET S. 24. Laut Änderungshistorie entfallen transiente Fehler mit R24-11 und die Dlt-Aufrufe mit R25-11 SWS DET S. 1. In R20-11 sind beide Funktionen noch Teil der Spezifikation ([SWS_Det_01003], [SWS_Det_00211]).

KI-generierter Modul-Leitfaden auf Basis der im Payload bereitgestellten Spezifikationsauszüge. Normativ für R20-11 sind ausschließlich die verlinkten Requirements; Aussagen aus anderen Releases sind als solche gekennzeichnet.

Default Error Tracer (DET)

The DET handles development errors, runtime errors, and transient faults across all BSW modules and SW-Cs.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

function Det_Init [SWS_Det_00008] 📄 PDF

void Det_Init (const Det_ConfigType* ConfigPtr);

Service to initialize the Default Error Tracer.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 03eaeb7bec98 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion Det_Init dient als zentraler Dienst zur Initialisierung des Default Error Tracer ([SWS_Det_00008]). Sie wird über die Header-Datei Det.h bereitgestellt und besitzt die Signatur void Det_Init (const Det_ConfigType* ConfigPtr). Über den formalen Eingangsparameter ConfigPtr nimmt die Funktion einen Zeiger auf den ausgewählten Konfigurationsdatensatz des Moduls entgegen. Ein Rückgabewert ist für diesen Dienst nicht vorgesehen ([SWS_Det_00008]).

Hinsichtlich des Laufzeitverhaltens ist Det_Init verbindlich als nicht reentrant (Non Reentrant) spezifiziert ([SWS_Det_00008]). Aus diesem Grund darf die Funktion im laufenden Betrieb keinesfalls parallel oder unterbrechend aus verschiedenen Ausführungskontexten heraus aufgerufen werden. Das Modul dürfte vermutlich zentral während der Initialisierungsphase der Basissoftware aufgerufen werden, noch bevor andere BSW-Module oder Komponenten Fehler an den DET übermitteln (Interpretation). Frage Q-143a3c098d03d7f8 (offen)

Die Funktion ist mit der Service-ID 0x00 definiert ([SWS_Det_00008]). Eigene Fehlercodes, spezifische Fehlerbehandlungsmechanismen oder gesonderte Fehlermeldungen über DET oder DEM sind für diesen Initialisierungsaufruf im vorliegenden Spezifikationsauszug nicht ausgewiesen.

Im Rahmen des Anforderungs-Tracings erfüllt die Schnittstelle die allgemeinen AUTOSAR-Vorgaben an einheitliche API-Namenskonventionen gemäß [SRS_BSW_00310] (SWS DefaultErrorTracer §6 „Requirements Tracing“).

Dieser Hinweis wurde von einer KI auf Basis der Spezifikation AUTOSAR R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

function Det_ReportError [SWS_Det_00009] 📄 PDF

Std_ReturnType Det_ReportError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);

Service to report development errors.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 52a5f1bc3a91 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion Det_ReportError dient in AUTOSAR Classic BSW-Modulen der Meldung von Entwicklungsfehlern bei aktiver Fehlererkennung ([SWS_BSW_00045], [SWS_Det_00009]). Die Schnittstelle ist reentrant deklariert ([SWS_Det_00009]). Das Ausführungsverhalten kehrt nicht zum Aufrufer zurück („never returns“); der Rückgabetyp Std_ReturnType existiert lediglich zur Kompatibilität mit Diensten und Hooks ([SWS_Det_00009]).

Die Übergabeparameter identifizieren den Fehlerkontext eindeutig ([SWS_Det_00009]):

Entwicklungsfehler repräsentieren fundamentale Vorbedingungsverletzungen durch Softwarefehler, Fehlkonfigurationen oder Integrationsprobleme (EXP_LayeredSoftwareArchitecture §3 „Error Classification“, [SRS_BSW_00337] Wortlaut noch nicht übernommen), wie etwa den Aufruf eines uninitialisierten Moduls ([SWS_BSW_00243]) oder ungültige Parameter ([SWS_CANIF_00538]). Sie werden wie Assertions gehandhabt: Nach dem Aufruf aller in DetErrorHook konfigurierten Callbacks ([SWS_Det_00501]) darf der normale Kontrollfluss nicht fortgesetzt werden; der DET stoppt die Ausführung beispielsweise mittels Endlosschleife, Halt-Befehl oder Reset ([SRS_BSW_00337] Wortlaut noch nicht übernommen, EXP_LayeredSoftwareArchitecture §3 „Error Classification“).

Dieser Nutzungshinweis wurde von einer KI auf Basis der AUTOSAR-R20-11-Spezifikation generiert.

Implementer's Guide folgt (Komplexität I2)

function Det_Start [SWS_Det_00010] 📄 PDF

void Det_Start (void);

Service to start the Default Error Tracer.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: c7a7762c6c8d Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone API-Funktion Det_Start dient dazu, den Default Error Tracer (DET) zu starten ([SWS_Det_00010]). Deklariert ist dieser Dienst in der Header-Datei Det.h unter der Service-ID 0x02 (SWS_DefaultErrorTracer §8.1.3.3 „Det_Start“). Gemäß der Syntax void Det_Start(void) nimmt die Funktion weder Eingangs- noch Ausgangsparameter entgegen und liefert keinen Rückgabewert an den Aufrufer ([SWS_Det_00010]).

Für die Integration und Ausführung gelten spezifische Bedingungen:

  • Reentrancy und Nebenläufigkeit: Die Funktion ist als nicht reentrant (Non Reentrant) definiert ([SWS_Det_00010]). Parallele Aufrufe aus mehreren Tasks oder unterbrechenden Kontexten sind unzulässig.
  • Aufrufkontext: Interpretation: Der Aufruf dürfte typischerweise zentral während des Systemhochlaufs nach der Basisinitialisierung erfolgen, um die Fehlerverfolgung im Steuergerät aktiv zu schalten. Frage Q-b28f205b1cc7acfa (offen)
  • Fehlerbehandlung: Die Schnittstelle meldet keine Fehlerzustände zurück; im Spezifikationsauszug sind weder Fehlercodes noch DET- oder DEM-Ereignisse für diesen Aufruf definiert ([SWS_Det_00010]).

Im Gesamtsystem erfüllt Det_Start die standardisierte Benennungskonvention für AUTOSAR-Basissoftware nach [SRS_BSW_00310] Wortlaut noch nicht übernommen (SWS_DefaultErrorTracer §6 „Requirements Tracing“).

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

function Det_ReportRuntimeError [SWS_Det_01001] 📄 PDF

Std_ReturnType Det_ReportRuntimeError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, faultErrorTracer uint8 ErrorId);

Service to report runtime errors. If a callout has been configured then this callout shall be called.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: a935ac5290c8 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion [SWS_Det_01001] dient als zentraler BSW-Dienst in Det.h zur Entgegennahme von Laufzeitfehlern (Runtime Errors). Sie arbeitet synchron und ist reentrant ausgelegt [SWS_Det_01001].

Verwendung und Parameter

Aufrufende BSW-Module übergeben bei der Fehleranzeige vier Pflichtparameter an [SWS_Det_01001]:

  • ModuleId: Modulkennung des meldenden BSW-Moduls.
  • InstanceId: Indexbasierte Instanznummer (bei Modulen mit nur einer Instanz der Wert 0).
  • ApiId: Kennung der API-Funktion, in welcher der Fehler aufgetreten ist.
  • ErrorId: Modulspezifische Kennung des detektierten Laufzeitfehlers.

Der Dienst liefert stets den Rückgabewert E_OK an das aufrufende Modul zurück [SWS_Det_01001].

Zusammenspiel und Fehlerbehandlung

Gemäß der AUTOSAR-Architektur grenzen sich Laufzeitfehler von Entwicklungsfehlern (die fundamentale Vorbedingungen verletzen) und Produktionsfehlern (die für die Werkstattdiagnose relevant sind) ab EXP_LayeredSoftwareArchitecture §Integration and Runtime Aspects. Der Dienst wird beispielsweise als Pflichtschnittstelle vom ADC-Treiber [SWS_Adc_00530] oder DDS [CP_SWS_Dds_00832] Wortlaut noch nicht übernommen eingebunden.

Im CanIf führt etwa ein Sendeversuch über einen Offline-Kanal zur Meldung von CANIF_E_STOPPED [SWS_CANIF_00382], während Längenüberschreitungen ohne Trunkierung als CANIF_E_TXPDU_LENGTH_EXCEEDED gemeldet werden [SWS_CANIF_00900].

Beim Aufruf von [SWS_Det_01001] werden alle Callout-Funktionen ausgeführt, die im Konfigurationsparameter DetReportRuntimeErrorCallout hinterlegt sind [SWS_Det_00503]. Falls keine Fehler-Hooks konfiguriert wurden, unterbleiben zusätzliche Funktionsaufrufe, wobei eine Weiterleitung an das DLT aktiv bleibt, sofern dieses konfiguriert ist [SWS_Det_00503].

Dieser Nutzungshinweis wurde automatisiert auf Basis des AUTOSAR-R20-11-Spezifikationsstands erstellt.

Implementer's Guide folgt (Komplexität I2)

function Det_ReportTransientFault [SWS_Det_01003] 📄 PDF

Std_ReturnType Det_ReportTransientFault (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);

Service to report transient faults. If a callout has been configured than this callout shall be called and the returned value of the callout shall be returned. Otherwise it returns immediately with E_ OK.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: a646ffef7d6e Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone und reentrante Funktion Det_ReportTransientFault (Service-ID 0x05) dient BSW-Modulen zur standardisierten Meldung erkannter transienter Fehler an den Default Error Tracer ([SWS_BSW_00225], [SWS_Det_01003]). Der Dienst ist über den Header Det.h deklariert, in Release R20-11 jedoch als veraltet (OBSOLETE) gekennzeichnet (SWS_DefaultErrorTracer §8.1.3.5 „Det_ReportTransientFault“).

Beim Aufruf werden ausschließlich Eingabeparameter übergeben: die Kennung des aufrufenden Moduls (ModuleId), der Instanzindex (InstanceId, wobei Einzelinstanz-Module 0 übergeben), die Service-ID der fehlererkennenden API (ApiId) sowie die Fehlernummer (FaultId), welche gemäß SWS_BSWGeneral §7.2.4.4 „Reporting“ vom Typ uint8 sein muss ([SWS_Det_01003]).

Der Aufruf leitet den Fehler an konfigurierte Callout-Funktionen weiter und wertet deren Rückmeldungen aus:

  • Ein Aufruf führt zur Ausführung aller unter DetReportTransientFaultCallout konfigurierten Callbacks ([SWS_Det_00502]).
  • Existiert kein konfigurierter Callout, beendet die Funktion sofort und liefert den Wert E_OK zurück ([SWS_Det_01003]).
  • Ist genau ein Callout eingerichtet, gibt Det_ReportTransientFault dessen Rückgabewert vom Typ Std_ReturnType zurück ([SWS_Det_01003]).
  • Sind mehrere Callouts vorhanden, wird die logische ODER-Verknüpfung (Summe) aller Callout-Rückgabewerte gebildet. Da E_OK = 0 definiert ist, liefert die Funktion nur dann E_OK, wenn sämtliche Callouts fehlerfrei mit E_OK antworten ([SWS_Det_01003]).

Hinsichtlich Nebenläufigkeit und Ausführungsumgebung ist die Funktion reentrant ausgelegt, weshalb sie nebenläufig aus unterschiedlichen Modulkontexten aufgerufen werden kann ([SWS_Det_01003]).

Dieser Text wurde durch eine KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

function <User_Error_Hooks> [SWS_Det_00181] 📄 PDF

Std_ReturnType <User_Error_Hooks> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);

-

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: ff89a131530f Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die konfigurierbare Schnittstelle <User_Error_Hooks> definiert den Aufruf benutzerdefinierter Callout-Funktionen bei der Erkennung von Entwicklungsfehlern [SWS_Det_00181]. Sobald die Funktion Det_ReportError aufgerufen wird, müssen alle hierfür im System konfigurierten Callouts synchron ausgeführt werden [SWS_Det_00180]. Die Deklaration dieser Schnittstelle wird über den Header Det_Externals.h bereitgestellt SWS DefaultErrorTracer §8.1.5 „Callout Functions / Configurable Interfaces“.

Die Funktion besitzt die Service-ID 0x10 und übergibt vier diagnostische Parameter zur Fehleranalyse [SWS_Det_00181]:

  • ModuleId: Eindeutige Modul-ID des aufrufenden BSW-Moduls.
  • InstanceId: Kennung der Modulinstanz, beginnend bei 0 (bei Modulen mit nur einer Instanz wird 0 übergeben).
  • ApiId: Kennung der betroffenen API-Funktion gemäß Spezifikation des jeweiligen Moduls.
  • ErrorId: Kennung des spezifischen Entwicklungsfehlers.

Gemäß Spezifikation liefert die Schnittstelle stets den Rückgabewert E_OK zurück, wie es für derartige Servicedienste gefordert ist [SWS_Det_00181]. Eigene Fehlercodes oder alternative Statuswerte können über die Schnittstelle nicht an den Aufrufer zurückgemeldet werden.

Hinsichtlich der Ausführung ist <User_Error_Hooks> synchron und reentrant ausgelegt [SWS_Det_00181]. Falls mehrere Callouts für denselben Dienst definiert sind, müssen diese dieselbe Signatur und Service-ID aufweisen [SWS_Det_00180]. Interpretation: Da die Abarbeitung unmittelbar im Aufrufkontext von Det_ReportError erfolgt, dürften Anwender-Hooks keine blockierenden Mechanismen nutzen, um die Systemausführung nicht zu verzögern. Frage Q-acd1afcd9336992f (offen)

Dieser Nutzungshinweis wurde automatisiert anhand der AUTOSAR-R20-11-Spezifikation erstellt.

function <DetReportRuntimeErrorCallout> [SWS_Det_00184] 📄 PDF

Std_ReturnType <DetReportRuntimeErrorCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);

-

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 19a5d54e4d0b Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die konfigurierbare Callout-Schnittstelle <DetReportRuntimeErrorCallout> dient der anwenderspezifischen Erfassung und Weiterverarbeitung von Laufzeitfehlern im Default Error Tracer (SWS_DefaultErrorTracer §8.1.5 „Callout Functions / Configurable Interfaces“). Sobald die Funktion Det_ReportRuntimeError aufgerufen wird, führt das DET alle dafür konfigurierten Callout-Funktionen synchron aus ([SWS_Det_00180], [SWS_Det_00503]). Konfigurierte Callout-Funktionen werden über die Header-Datei Det_Externals.h bereitgestellt und besitzen die Service-ID 0x11 ([SWS_Det_00184]).

Parameter und Rückgabewert

  • ModuleId (uint16): Numerische Kennung des BSW-Moduls, das den Laufzeitfehler meldet ([SWS_Det_00184]).
  • InstanceId (uint8): Modulinstanz-Index, beginnend bei 0; bei Einzelinstanzen wird stets 0 übergeben ([SWS_Det_00184]).
  • ApiId (uint8): Kennung des API-Dienstes, in dem der Laufzeitfehler aufgetreten ist ([SWS_Det_00184]).
  • ErrorId (uint8): Modulspezifische Kennung des festgestellten Laufzeitfehlers ([SWS_Det_00184]).
  • Rückgabewert: Der Typ Std_ReturnType gibt gemäß Dienstspezifikation immer E_OK zurück ([SWS_Det_00184]).

Nebenläufigkeit und Verhalten

Die Callout-Funktion ist als reentrant spezifiziert und wird synchron im Ausführungskontext des Meldenden abgearbeitet ([SWS_Det_00184]). Alle für denselben Dienst konfigurierten Callouts müssen dieselbe Signatur und Service-ID aufweisen ([SWS_Det_00180]). Da der Rückgabewert fest auf E_OK vorgegeben ist, findet über den Callout keine Rückmeldung von Fehlerzuständen an das DET statt.

Hinweis: Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR Classic R20-11 generiert.

function <DetReportTransientFaultCallout> [SWS_Det_00187] 📄 PDF

Std_ReturnType <DetReportTransientFaultCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);

-

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: aceceb0a4117 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Callout-Hook [SWS_Det_00187] dient der anwendungsspezifischen Behandlung transienter Fehler im Default Error Tracer (DET). Die Funktion wird synchron ausgeführt und ist mit der Service-ID 0x12 definiert [SWS_Det_00187]. Sie übernimmt vier Eingangsparameter:

  • ModuleId: Modulkennung des aufrufenden Software-Moduls [SWS_Det_00187].
  • InstanceId: indexbasierte Instanz-ID des Moduls beginnend bei 0, wobei Einzelinstanz-Module den Wert 0 übergeben müssen [SWS_Det_00187].
  • ApiId: Bezeichner des API-Dienstes, in dem der transiente Fehler aufgetreten ist [SWS_Det_00187].
  • FaultId: Kennung des detektierten transienten Fehlers gemäß SWS des aufrufenden Moduls [SWS_Det_00187].

Als Rückgabewert liefert die Schnittstelle einen Wert vom Typ Std_ReturnType, welcher unmittelbar an den Aufrufer von Det_ReportTransientFault propagiert wird [SWS_Det_00187]. Die Deklaration wird über die Header-Datei Det_Externals.h bereitgestellt [SWS_Det_00187].

Hinsichtlich der Nebenläufigkeit ist die Funktion als reentrant spezifiziert [SWS_Det_00187]. Da der Rückgabewert synchron weitergereicht wird, dürfte die Callout-Implementierung keine blockierenden Operationen enthalten, um die Ausführung des meldenden Moduls nicht unzulässig zu verzögern. Frage Q-23eaffed8be030bb (offen)

Dieser Text wurde von einer KI auf Basis der Spezifikationsdaten generiert.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_Det
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Det@rel:R20-11#17850b79
Content hash
17850b79
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DefaultErrorTracer.pdf#nameddest=SWS_Det_00008

Themenkarte

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Initialisierung und Status

Returns the version information of this module.

void Det_GetVersionInfo (Std_VersionInfoType* versioninfo);
Det_Init function

Service to initialize the Default Error Tracer.

void Det_Init (const Det_ConfigType* ConfigPtr);

Dienste

Service to report development errors.

Std_ReturnType Det_ReportError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);

Service to report runtime errors. If a callout has been configured then this callout shall be called.

Std_ReturnType Det_ReportRuntimeError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, faultErrorTracer uint8 ErrorId);

Service to report transient faults. If a callout has been configured than this callout shall be called and the returned value of the callout shall be returned. Otherwise it returns immediately with E_ OK.

Std_ReturnType Det_ReportTransientFault (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);
Det_Start function

Service to start the Default Error Tracer.

void Det_Start (void);

Callouts und erwartete Schnittstellen

-

Std_ReturnType <DetReportRuntimeErrorCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);

-

Std_ReturnType <DetReportTransientFaultCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);

-

Std_ReturnType <User_Error_Hooks> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);

Typen

Configuration data structure of the Det module.