Default Error Tracer (DET)
The DET handles development errors, runtime errors, and transient faults across all BSW modules and SW-Cs.
Funktionen — Übersicht
void Det_Init (const Det_ConfigType* ConfigPtr);Service to initialize the Default Error Tracer.Std_ReturnType Det_ReportError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);Service to report development errors.void Det_Start (void);Service to start the Default Error Tracer.Std_ReturnType Det_ReportRuntimeError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, faultErrorTracer uint8 ErrorId);Service to report runtime errors.Std_ReturnType Det_ReportTransientFault (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);Service to report transient faults.void Det_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType <User_Error_Hooks> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);-Std_ReturnType <DetReportRuntimeErrorCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);-Std_ReturnType <DetReportTransientFaultCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);-
Typen — Übersicht
struct Det_ConfigTypeConfiguration data structure of the Det module.
Funktionen & Typen — Detailansicht
function Det_Init [SWS_Det_00008] 📄 PDF
void Det_Init (const Det_ConfigType* ConfigPtr);
Service to initialize the Default Error Tracer.
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.
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]):
ModuleId(uint16): AUTOSAR-Modulkennung des meldenden Moduls; Basessoftware nutzt den Bereich 0 bis 255 (EXP_LayeredSoftwareArchitecture §3 „Default Error Tracer“).InstanceId(uint8): Modulinstanz ab 0; bei Einzelinstanzen wird 0 übergeben ([SWS_Det_00009]).ApiId(uint8): Kennung des fehlererkennenden API-Dienstes ([SWS_Det_00009]).ErrorId(uint8): Spezifische Fehlerkennung des BSW-Moduls ([SWS_BSW_00045], [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.
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.
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 Wert0).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.
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
DetReportTransientFaultCalloutkonfigurierten Callbacks ([SWS_Det_00502]). - Existiert kein konfigurierter Callout, beendet die Funktion sofort und liefert den Wert
E_OKzurück ([SWS_Det_01003]). - Ist genau ein Callout eingerichtet, gibt
Det_ReportTransientFaultdessen Rückgabewert vom TypStd_ReturnTypezurück ([SWS_Det_01003]). - Sind mehrere Callouts vorhanden, wird die logische ODER-Verknüpfung (Summe) aller Callout-Rückgabewerte gebildet. Da
E_OK = 0definiert ist, liefert die Funktion nur dannE_OK, wenn sämtliche Callouts fehlerfrei mitE_OKantworten ([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 Det_GetVersionInfo [SWS_Det_00011] 📄 PDF
void Det_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
function <User_Error_Hooks> [SWS_Det_00181] 📄 PDF
Std_ReturnType <User_Error_Hooks> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
-
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 bei0(bei Modulen mit nur einer Instanz wird0ü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);
-
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_ReturnTypegibt gemäß Dienstspezifikation immerE_OKzurü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);
-
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 bei0, wobei Einzelinstanz-Module den Wert0ü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.
type Det_ConfigType [SWS_Det_00210] 📄 PDF
Configuration data structure of the Det module.
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
claude-opus-5-5· 2026-10-13