DEENESPTFRRUARHIKOZHNL

Diagnostic Log and Trace (DLT)

ModulDlt (Diagnostic Log and Trace)
BSW-Modul-ID55
Standard-Header#include "Dlt.h"
SWS-SpezifikationAUTOSAR_SWS_DiagnosticLogAndTrace.pdf
ClusterDiagnostic Services

Modul-GuideKI-GENERIERT

Sammelt, filtert und puffert Log- und Trace-Nachrichten von SW-Cs und BSW und sendet sie an externe Werkzeuge.
KI-GENERIERT ungeprüft Modell: claude-opus-5-5 · Aufwand: high · Temperatur: nicht steuerbar · Prompt: dfa88865c54d Herkunft Offene Fragen (1)
Kausaler Anker: R20-11 Gültig ab R20-11 Neu synthetisiert für diesen Spezifikationsstand.
KI-generiertclaude-opus-5-5 · 2026-10-13

Sammelt, filtert und puffert Log- und Trace-Nachrichten von SW-Cs und BSW und sendet sie an externe Werkzeuge.

Das Dlt-Modul sammelt Log- und Trace-Nachrichten von SW-Cs, BSW-Modulen, DET und RTE-VFB-Hooks. Es filtert sie nach Log-Level und Trace-Status, ordnet sie LogChannels zu und puffert sie. Gesendet wird entkoppelt über die zyklische Dlt_TxFunction und den PduR [SWS_Dlt_00241]. Externe Clients können Filter und Kanalzuordnungen zur Laufzeit ändern; registrierte SW-Cs werden darüber benachrichtigt. Wichtigste Randbedingung: Vor Dlt_Init und bis zum Ablauf der optionalen Startverzögerung werden Nachrichten nur gepuffert [SWS_Dlt_00005].

Das Dlt-Modul ist die zentrale Sammelstelle für Log- und Trace-Nachrichten auf dem Steuergerät. SW-Cs (über RTE-Ports) und BSW-Module liefern Nachrichten über Dlt_SendLogMessage und Dlt_SendTraceMessage [SWS_Dlt_00241] [SWS_Dlt_00243]. DET-Fehler kommen über Dlt_DetForwardErrorTrace hinzu [SWS_Dlt_00430], SW-C-Kommunikation über generierte VFB-Trace-Hooks der RTE [SWS_Dlt_00027]. Einzige Senke ist der PduR mit PduR_DltTransmit [SWS_Dlt_00762]. Jede Nachricht wird über ein Tupel aus ApplicationId und ContextId mit je 4 Byte identifiziert; 0x00000000 dient als Wildcard [SWS_Dlt_00226] [SWS_Dlt_00227].

kontext swc SW-C rte RTE (Ports, VFB-Hooks) swc->rte Dlt_SendLogMessage Dlt_RegisterContext dlt Dlt rte->dlt Port-Aufrufe VFB-Trace-Hooks bsw BSW-Module bsw->dlt Dlt_SendLogMessage Dlt_SendTraceMessage det DET (Fan-out) det->dlt Dlt_DetForwardErrorTrace ecum EcuM ecum->dlt Dlt_Init schm SchM schm->dlt Dlt_TxFunction dlt->rte LogLevelChangedNotification Dlt_InjectCall_<SESSION> nvm NvM dlt->nvm NvM_ReadBlock NvM_WriteBlock zeit Gpt / StbM (Zeitstempel) dlt->zeit Gpt_GetTimeElapsed StbM_GetCurrentTime pdur PduR dlt->pdur PduR_DltTransmit pdur->dlt Dlt_RxIndication Dlt_TxConfirmation client Externer Dlt-Client pdur->client Dlt-Nachrichten client->pdur Steuernachrichten

Kontextdiagramm: Quellen, Hilfsdienste (NvM, Gpt/StbM, SchM) und der PduR als Senke rund um Dlt. Quellen: [SWS_Dlt_00762], [SWS_Dlt_00763], [SWS_Dlt_91005].

Schon vor der Initialisierung puffert Dlt eingehende Nachrichten [SWS_Dlt_00003]. Verarbeitet werden sie erst, wenn Dlt_Init gelaufen und der optionale Startverzögerungs-Timer abgelaufen ist [SWS_Dlt_00005]. Mit NvRAM-Unterstützung stellt Dlt_Init die Laufzeitkonfiguration per NvM_ReadBlock wieder her [SWS_Dlt_00453]. Gespeichert wird nur auf ausdrückliche Anforderung über Dlt_StoreConfiguration [SWS_Dlt_00078].

Im Aufrufkontext führt Dlt Filterung, Kanalwahl, Längenprüfung und Pufferablage durch. Gesendet wird entkoppelt aus der zyklischen Dlt_TxFunction, einschließlich Wiederholungen nach negativer Bestätigung SWS DLT S. 92 [SWS_Dlt_91005].

Senden einer Dlt-Nachricht über einen LogChannelDlt-Nutzer (SW-C/RTE/DET)DltGptSchMPduRUse Case: Annahme im Aufrufkontext (synchron)Dlt_SendLogMessage / Dlt_SendTraceMessage /Dlt_DetForwardErrorTraceNachrichtenfilterung,LogChannel-Schwelle anwendenZiel-LogChannels wählen,Länge prüfenZeitstempel holen (Gpt_GetTimeElapsed)verstrichene Zeitin LogChannel-Puffer ablegenStd_ReturnTypeUse Case: Entkoppelter VersandDlt_TxFunction()loopgemäß Traffic ShapingDlt-Header zusammensetzen,Sendezähler erhöhenPduR_DltTransmit(DltTxPduId, ...)Dlt_TxConfirmation(TxPduId, result)altE_OK oder Wiederholungen erschöpftNachricht aus Puffer entfernenE_NOT_OK, Wiederholung zulässigNachricht für erneuten Versand behalten

Sequenzdiagramm: Der synchrone Sendeaufruf endet mit der Pufferablage. Dlt_TxFunction erledigt Versand, Bestätigung und Retry. Quellen: SWS DLT S. 92, [SWS_Dlt_91005], [SWS_Dlt_00273].

Externe Clients steuern Log-Level, Trace-Status und LogChannel-Schwellen über Steuernachrichten, die per Dlt_RxIndication eintreffen [SWS_Dlt_00272]. Dieselben Stellgrößen gibt es auch als API, etwa Dlt_SetLogLevel [SWS_Dlt_00252]. Damit Dlt registrierte SW-Cs über LogLevelChangedNotification informieren kann, melden sie ihre Kontexte zuvor mit Dlt_RegisterContext an [SWS_Dlt_00245] [SWS_Dlt_00496].

Im Fehlerfall melden die Sendeaufrufe DLT_E_MSG_TOO_LARGE, DLT_E_NO_BUFFER oder DLT_E_UNKNOWN_SESSION_ID [SWS_Dlt_00495]. Bei einem Pufferüberlauf wird die Nachricht verworfen, ein Überlauf-Flag gesetzt und gemäß Konfiguration eine BufferOverflowNotification gesendet SWS DLT S. 32.

Rolle und Systemgrenze: zentrale Sammelstelle für Log- und Trace-Daten

Das Modul Diagnostic Log and Trace (Dlt) nimmt Log- und Trace-Nachrichten aus Software-Komponenten (SW-Cs) und Basissoftware (BSW) entgegen. Es filtert und puffert sie und gibt sie als Dlt-Nachrichten an ein externes Werkzeug weiter. Die beiden Sendeschnittstellen Dlt_SendLogMessage und Dlt_SendTraceMessage sind ausdrücklich sowohl für BSW-Module als auch für SW-Cs vorgesehen [SWS_Dlt_00241] [SWS_Dlt_00243]. Die Quelle des Datenpfads ist eine SW-C oder ein BSW-Modul, die Senke ist der PDU Router SWS DLT S. 26. Dafür benötigt Dlt zwingend PduR_DltTransmit [SWS_Dlt_00762]. Nachrichtenformat, Kommandos und Protokoll zum externen Client legt nicht das SWS fest, sondern die Protokollspezifikation SWS DLT S. 9.

Neben expliziten Aufrufen gibt es feste Zulieferer:

Zeitstempel bezieht Dlt von Gpt oder StbM, die Persistenz übernimmt NvM [SWS_Dlt_00763]. Dlt_DetForwardErrorTrace gehört in R20-11 zur API, wurde aber in R25-11 entfernt SWS DLT S. 1.

kontext swc SW-C rte RTE (Ports, VFB-Hooks) swc->rte Dlt_SendLogMessage Dlt_RegisterContext dlt Dlt rte->dlt Port-Aufrufe VFB-Trace-Hooks bsw BSW-Module bsw->dlt Dlt_SendLogMessage Dlt_SendTraceMessage det DET (Fan-out) det->dlt Dlt_DetForwardErrorTrace ecum EcuM ecum->dlt Dlt_Init schm SchM schm->dlt Dlt_TxFunction dlt->rte LogLevelChangedNotification Dlt_InjectCall_<SESSION> nvm NvM dlt->nvm NvM_ReadBlock NvM_WriteBlock zeit Gpt / StbM (Zeitstempel) dlt->zeit Gpt_GetTimeElapsed StbM_GetCurrentTime pdur PduR dlt->pdur PduR_DltTransmit pdur->dlt Dlt_RxIndication Dlt_TxConfirmation client Externer Dlt-Client pdur->client Dlt-Nachrichten client->pdur Steuernachrichten

Kontextdiagramm: Dlt steht zwischen den Nachrichtenquellen (SW-C über RTE, BSW, DET) und dem PduR als einziger Senke. NvM, Gpt/StbM und SchM sind Hilfsdienste. Quellen: [SWS_Dlt_00762], [SWS_Dlt_00763], [SWS_Dlt_00430], [SWS_Dlt_91005], SWS DLT S. 26.

Vom Hochlauf zum Betrieb: Pufferung vor der Initialisierung, Dlt_Init und Persistenz

SW-Cs und BSW-Module können schon loggen, bevor Dlt initialisiert ist. Dlt muss deshalb Daten aus Dlt_SendLogMessage und Dlt_SendTraceMessage bereits vor der Initialisierung puffern [SWS_Dlt_00003]. Regulär verarbeitet werden die gepufferten Daten erst, wenn zwei Bedingungen erfüllt sind: Dlt_Init ist gelaufen, und der optionale Timer DltGeneralStartUpDelayTimer ist abgelaufen [SWS_Dlt_00005]. Gestartet wird dieser Timer beim Aufruf von Dlt_Init, sofern er konfiguriert ist SWS DLT S. 25.

lebenszyklus start uninit Nicht initialisiert Sendeaufrufe werden gepuffert start->uninit uninit->uninit Dlt_SendLogMessage / Dlt_SendTraceMessage verzoegerung Initialisiert Startverzögerung läuft (Pufferung dauert an) uninit->verzoegerung Dlt_Init [DltGeneralStartUpDelayTimer konfiguriert] betrieb Betrieb Pufferinhalt und neue Nachrichten werden verarbeitet uninit->betrieb Dlt_Init [kein Startverzögerungs-Timer] verzoegerung->betrieb Timer abgelaufen

Zustandsdiagramm: Bis zur Initialisierung und gegebenenfalls bis zum Ende der Startverzögerung werden Nachrichten nur gepuffert, erst danach verarbeitet. Quellen: [SWS_Dlt_00003], [SWS_Dlt_00005], SWS DLT S. 25.

Dlt_Init ist synchron und nicht reentrant. Die Funktion erwartet einen Zeiger auf Dlt_ConfigType, dessen Inhalt implementierungsspezifisch ist [SWS_Dlt_00239] [SWS_Dlt_00437]. Weil Dlt den NvM nutzt, soll die Initialisierung spät im Hochlauf und nach dem NvM erfolgen [SWS_Dlt_00239]. Ist DltGeneralNvRAMSupport = TRUE, verhält sich Dlt so:

Ohne NvRAM-Unterstützung gilt die statische Konfiguration SWS DLT S. 25. Aufrufer ist laut Schaubild der EcuM SWS DLT S. 159.

Initialisierung des Dlt-ModulsEcuMDltNvMGptDlt_Init(config)altDltGeneralNvRAMSupport == TRUENvM_ReadBlock(BlockId, NvM_DstPtr)Gültigkeit der NV-Blöcke prüfen,gespeicherte Werte als StartwerteDltGeneralNvRAMSupport == FALSEstatische Konfiguration ladenoptDltGeneralStartUpDelayTimer konfiguriertGpt_StartTimer(Channel, Value)Rückkehr (synchron)Nach Init und Ablauf der Startverzögerung:gepufferte Nachrichten verarbeiten

Sequenzdiagramm: Der EcuM ruft Dlt_Init synchron auf. Dlt lädt die Konfiguration je nach DltGeneralNvRAMSupport aus NvM oder statisch und startet optional den Startverzögerungs-Timer. Quellen: [SWS_Dlt_00239], [SWS_Dlt_00453], [SWS_Dlt_00005], SWS DLT S. 159, CP SWS DLT S. 90.

Nachrichtenmodell: Kennungen, Log-Level und Trace-Typen

Jede Log-Nachricht trägt eine Struktur Dlt_MessageLogInfoType mit fünf Feldern: argCount, logLevel, options, contextId und appId [SWS_Dlt_00236]. Trace-Nachrichten nutzen Dlt_MessageTraceInfoType, das statt des Log-Levels ein Feld traceInfo enthält [SWS_Dlt_00237]. ApplicationId und ContextId sind Arrays aus 4 Byte; 0x00000000 dient als Wildcard [SWS_Dlt_00226] [SWS_Dlt_00227]. Die Application ID ist der Kurzname der SW-C. Die Context ID gruppiert deren Nachrichten nach Funktionalität EXP LSA S. 159. Das Bitfeld Dlt_MessageOptionsType kodiert in Bit 0 den Verbose-Modus und in Bit 1–3 den Nachrichtentyp [SWS_Dlt_00229].

TypWerteBeleg
Dlt_MessageTypeDLT_TYPE_LOG, DLT_TYPE_APP_TRACE, DLT_TYPE_NW_TRACE, DLT_TYPE_CONTROL[SWS_Dlt_00224]
Dlt_MessageLogLevelTypeDLT_LOG_OFF (0x00) bis DLT_LOG_VERBOSE (0x06)[SWS_Dlt_00230]
Dlt_MessageTraceTypeDLT_TRACE_VARIABLE, DLT_TRACE_FUNCTION_IN, DLT_TRACE_FUNCTION_OUT, DLT_TRACE_STATE, DLT_TRACE_VFB[SWS_Dlt_00231]
Dlt_MessageNetworkTraceInfoTypeDLT_NW_TRACE_IPC bis DLT_NW_TRACE_SOMEIP[SWS_Dlt_00233]

Im Non-Verbose-Modus kennzeichnet eine eindeutige Message ID den statischen Teil einer Nachricht [SWS_Dlt_00228]. Die IDs 0x00000001 (DEM), 0x00000002 (DET) und 0x00000003 (Trace) sind reserviert und für SW-Cs nicht nutzbar [SWS_Dlt_00031]. Auf dem Draht folgt die Message ID direkt dem Header, danach kommen die nicht statischen Daten PRS DLT S. 23. Das Header-Feld MTIN wird abhängig vom Nachrichtentyp MSTP aus Log-Level oder Trace-Typ gebildet PRS DLT S. 24.

Sendepfad: Filter, LogChannel-Wahl, Pufferung und Dlt_TxFunction

Die Sendeaufrufe sind synchron und reentrant. Sie erhalten die sessionId, die Info-Struktur und die Nutzdaten samt Länge [SWS_Dlt_00241] [SWS_Dlt_00243]. Das R20-11-Schaubild zeigt die Abfolge im Aufrufkontext:

  1. Nachrichtenfilterung
  2. LogChannel-Schwelle anwenden
  3. Ziel-LogChannels wählen
  4. Länge prüfen
  5. Nachricht im LogChannel-Puffer ablegen

Den Versand übernimmt erst später Dlt_TxFunction SWS DLT S. 92. Die folgenden Einzelschritte sind in Dokumentstellen der R23-11-Fassung ausformuliert und stimmen mit diesem Schaubild überein. Einen Zeitstempel holt Dlt nur, wenn dies konfiguriert ist: über Gpt_GetTimeElapsed oder über StbM_GetCurrentTime [SWS_Dlt_00654] [SWS_Dlt_00655].

Die LogChannels werden in drei Stufen ermittelt SWS DLT S. 32:

  1. Kanäle, deren Zuordnung exakt zum Tupel ApplicationId/ContextId passt.
  2. Kanäle mit passender ApplicationId und Wildcard-ContextId.
  3. Bleibt die Liste leer, der Default-LogChannel.

Die Zuordnungen lassen sich zur Laufzeit mit Dlt_SetLogChannelAssignment ändern [SWS_Dlt_00751]. Verworfen wird eine Nachricht erst, wenn sie für alle zugeordneten Kanäle DltLogChannelMaxMessageLength überschreitet SWS DLT S. 31. Andernfalls wird sie in die Puffer aller Kanäle kopiert, für die sie kurz genug ist SWS DLT S. 32.

kanalwahl start filter Filter bestanden? (Log-Level/Trace-Status, LogChannel-Schwelle) start->filter verworfen nicht weiterverarbeitet filter->verworfen nein exakt Kanäle mit exakt passendem Tupel ApplicationId/ContextId sammeln filter->exakt ja wildcard Kanäle mit passender ApplicationId und Wildcard-ContextId ergänzen exakt->wildcard leer Liste leer? wildcard->leer default Default-LogChannel (DltDefaultLogChannelRef) leer->default ja laenge Länge <= DltLogChannelMaxMessageLength für mindestens einen Kanal? leer->laenge nein default->laenge zulang verwerfen, DLT_E_MSG_TOO_LARGE laenge->zulang nein kopie in Puffer aller Kanäle kopieren, für die die Länge passt laenge->kopie ja platz Platz in keinem zugeordneten Puffer? kopie->platz keinpuffer verwerfen, DLT_E_NO_BUFFER, Überlauf-Flag setzen platz->keinpuffer ja ok gepuffert, Versand durch Dlt_TxFunction platz->ok nein

Aktivitätsdiagramm: Eine Nachricht durchläuft Filter, dreistufige Kanalwahl, Längenprüfung und Pufferablage. Jede Verzweigung kann zum Verwerfen mit eigenem Rückgabewert führen. Quellen: SWS DLT S. 31, SWS DLT S. 32, [SWS_Dlt_00495], [SWS_Dlt_00751].

Der Versand über den PduR ist vom Sendeaufruf entkoppelt und läuft im Kontext von Dlt_TxFunction [SWS_Dlt_91005]. Der Header wird vor PduR_DltTransmit zusammengesetzt, und pro Nachricht zählt ein Sendezähler mit SWS DLT S. 35. Aus dem Puffer entfernt wird eine Nachricht in drei Fällen SWS DLT S. 38:

  • PduR_DltTransmit liefert E_NOT_OK.
  • Eine positive Sendebestätigung trifft ein.
  • Eine negative Bestätigung trifft ein und DltLogChannelMaxNumOfRetries ist überschritten.

Die untere Schicht meldet sich über folgende Callbacks:

Senden einer Dlt-Nachricht über einen LogChannelDlt-Nutzer (SW-C/RTE/DET)DltGptSchMPduRUse Case: Annahme im Aufrufkontext (synchron)Dlt_SendLogMessage / Dlt_SendTraceMessage /Dlt_DetForwardErrorTraceNachrichtenfilterung,LogChannel-Schwelle anwendenZiel-LogChannels wählen,Länge prüfenZeitstempel holen (Gpt_GetTimeElapsed)verstrichene Zeitin LogChannel-Puffer ablegenStd_ReturnTypeUse Case: Entkoppelter VersandDlt_TxFunction()loopgemäß Traffic ShapingDlt-Header zusammensetzen,Sendezähler erhöhenPduR_DltTransmit(DltTxPduId, ...)Dlt_TxConfirmation(TxPduId, result)altE_OK oder Wiederholungen erschöpftNachricht aus Puffer entfernenE_NOT_OK, Wiederholung zulässigNachricht für erneuten Versand behalten

Sequenzdiagramm: Der synchrone Sendeaufruf endet mit der Pufferablage. Den eigentlichen Versand, Bestätigungen und Wiederholungen erledigt die zyklische Dlt_TxFunction. Quellen: SWS DLT S. 92, [SWS_Dlt_91005], [SWS_Dlt_00273], SWS DLT S. 35, SWS DLT S. 38.

VFB-Trace über generierte RTE-Hookfunktionen

VFB-Trace bedeutet: Die RTE leitet SW-C-Kommunikation implizit an Dlt weiter, ohne dass die SW-C selbst einen Aufruf macht SWS DLT S. 23. Dlt implementiert dafür Hookfunktionen für jedes konfigurierte Ereignis, das ein BswModuleEntry mit dem Kurznamen „Rte_Dlt…“ beschreibt [SWS_Dlt_00027]. Den Prototyp liefert die RTE-Beschreibung [SWS_Dlt_00335]. Dlt_SendTraceMessage ist eine SW-C-Schnittstelle. Deshalb rufen die Hooks eine äquivalente interne Funktion auf [SWS_Dlt_00285], und zwar im Non-Verbose-Modus [SWS_Dlt_00277] und mit allen Argumenten als Nutzdaten [SWS_Dlt_00278].

Für die Hooks gelten weitere Regeln:

  • Jede Hookfunktion erhält eine eigene ContextId. Bei sehr vielen Signalen dürfen Ereignisse gebündelt werden [SWS_Dlt_00279].
  • Vor dem Senden prüft jeder Hook den Trace-Status seiner ContextId [SWS_Dlt_00281].
  • Die Nachricht trägt DLT_TYPE_APP_TRACE mit DLT_TRACE_VFB [SWS_Dlt_00484] und die ApplicationID „VFBT“ SWS DLT S. 23.
  • Der Trace-Status der Hooks wird über eine eigene Funktion geändert, die mit LogTraceSessionControl harmonisiert ist [SWS_Dlt_00283].

Interpretation: Weil die interne Funktion Dlt_SendTraceMessage entspricht, dürften VFB-Nachrichten denselben gepufferten Sendepfad durchlaufen wie explizite Trace-Nachrichten [SWS_Dlt_00285]. Frage Q-cb77a5e7bde21b01 (offen)

VFB-Trace über RTE-HookfunktionSW-CRTEDltSchMPduRKommunikation über den VFBRte_Dlt...-Hookfunktion(Argumente)optTrace-Status der ContextId aktivinternes Dlt_SendTraceMessage (non-verbose),DLT_TYPE_APP_TRACE / DLT_TRACE_VFBvermutlich: Filter, Kanalwahl, PufferungRückkehrDlt_TxFunction()PduR_DltTransmit(...)Interpretation: gleicher gepufferter Sendepfadwie explizite Trace-Nachrichten

Sequenzdiagramm: Ein RTE-Hook sendet nur bei aktivem Trace-Status eine Non-Verbose-Trace-Nachricht mit DLT_TRACE_VFB. Dass sie den gemeinsamen Sendepfad nutzt, ist eine Interpretation. Quellen: [SWS_Dlt_00027], [SWS_Dlt_00281], [SWS_Dlt_00285], [SWS_Dlt_00484], SWS DLT S. 33.

Sitzungen, Registrierung und Laufzeitsteuerung durch externe Clients

SW-Cs binden sich je Konfigurationseintrag über folgende Ports an:

Port-definierte Argumentwerte dienen als SessionIds [SWS_Dlt_00022]. Sie beginnen bei 0x1000; BSW-Module verwenden ihre Modul-ID [SWS_Dlt_00023]. Je Port sind sie eindeutig und lückenlos [SWS_Dlt_00332]. Ihr Typ ist Dlt_SessionIDType (uint32) [SWS_Dlt_00225]. Wird eine SW-C mehrfach instanziiert, erhält jede Instanz eine eigene Session EXP LSA S. 159.

Mit Dlt_RegisterContext meldet ein Modul sein Tupel ApplicationId/ContextId samt Beschreibungen an [SWS_Dlt_00245]. Dlt merkt sich, über welchen Port das Tupel registriert wurde [SWS_Dlt_00021]. Beim Stoppen ruft das Modul Dlt_UnregisterContext auf [SWS_Dlt_00769]. Die Registrierung erfüllt einen Zweck: Dlt weiß dadurch, welche SW-C es bei geänderten Log-Levels oder Trace-Status benachrichtigen muss SWS DLT S. 20. Dazu dienen LogLevelChangedNotification und TraceStatusChangedNotification [SWS_Dlt_00496].

Steuernachrichten eines externen Clients erreichen Dlt über den PduR. Bei Einzel-PDUs kommen sie per Dlt_RxIndication [SWS_Dlt_00272]. Über TP kommen sie per Dlt_StartOfReception, Dlt_CopyRxData und Dlt_TpRxIndication [SWS_Dlt_91006] [SWS_Dlt_91008] [SWS_Dlt_91007]. Dlt aktualisiert dann den Filter, benachrichtigt optional die registrierte SW-C und sendet die Antwort per PduR_DltTransmit SWS DLT S. 93.

Registrierung und externes SetLogLevel-KommandoSW-CDltPduRExterner Dlt-ClientUse Case: Registrierungloopje SW-C-KontextDlt_RegisterContext(sessionId, appId, contextId, ...)Tupel und Port merkenE_OKUse Case: Steuerkommando SetLogLevelDlt-SteuernachrichtDlt_RxIndication(RxPduId, PduInfoPtr)Log-Level-Filter aktualisierenoptLogLevelChange-Benachrichtigungregistrierte SW-C nachschlagenLogLevelChangedNotification(appId, contextId, logLevel)PduR_DltTransmit (Antwort)Antwort auf Steuernachricht

Sequenzdiagramm: SW-Cs registrieren ihre Kontexte. Ein externes SetLogLevel-Kommando aktualisiert den Filter, löst optional eine Benachrichtigung aus und wird über PduR beantwortet. Quellen: SWS DLT S. 93, [SWS_Dlt_00245], [SWS_Dlt_00272], [SWS_Dlt_00496].

Dieselben Stellgrößen gibt es als API:

Gegenüber späteren Releases gibt es Unterschiede:

  • In R20-11 hat Dlt_GetDefaultTraceStatus einen Parameter logChannelName. In R25-11 fehlt er SWS DLT S. 56.
  • Dlt_AssignmentOperation kodiert in R20-11 DLT_ASSIGN_ADD = 0x01 und DLT_ASSIGN_REMOVE = 0x02 [SWS_Dlt_00730]. R25-11 verwendet für REMOVE den Wert 0x00 SWS DLT S. 87. Für R20-11 gilt das Requirement.

Persistenz: Dlt_StoreConfiguration kopiert die aktuelle Konfiguration per NvM_WriteBlock [SWS_Dlt_00736]. Das geschieht nur, wenn DltGeneralNvRAMSupport aktiv ist und das Speichern ausdrücklich angefordert wurde [SWS_Dlt_00078] [SWS_Dlt_00451]. Dlt_ResetToFactoryDefault setzt Log-Level und Trace-Status auf die gespeicherten Defaults zurück. Bei NvRAM-Unterstützung löscht die Funktion außerdem die gespeicherten Werte [SWS_Dlt_00739]. Über Dlt_InjectCall_<SESSION> kann Dlt asynchron anwendungsspezifische Aufrufe in eine SW-C injizieren [SWS_Dlt_00259] [SWS_Dlt_00498].

Verhalten im Fehlerfall

Die Fehlercodes der SW-C-Schnittstelle sind im Interface DltSwcMessageService festgelegt [SWS_Dlt_00495]. Ergänzend beschreiben die Dokumentstellen das Verhalten auf dem Sendepfad.

  • Zu lange Nachricht: Rückgabe DLT_E_MSG_TOO_LARGE, wenn die Nachricht für alle zugeordneten LogChannels zu lang ist [SWS_Dlt_00495] SWS DLT S. 31.
  • Pufferüberlauf: Rückgabe DLT_E_NO_BUFFER. Die Nachricht wird verworfen, ein Überlauf-Flag gesetzt und gemäß Konfiguration eine BufferOverflowNotification gesendet. Dlt_TxFunction prüft Flag und Entprellzeit SWS DLT S. 32 SWS DLT S. 95.
  • Unbekannte Session oder Registrierungsfehler: DLT_E_UNKNOWN_SESSION_ID, DLT_E_CONTEXT_ALREADY_REG und DLT_E_CONTEXT_NOT_YET_REG [SWS_Dlt_00495] [SWS_Dlt_00769].
  • Zeitstempel nicht verfügbar: Der Zeitstempel wird auf 0x00000000 gesetzt SWS DLT S. 30.
  • Übertragungsfehler: Eine negative Dlt_TxConfirmation löst Wiederholungen aus, bis DltLogChannelMaxNumOfRetries erreicht ist. Liefert PduR_DltTransmit E_NOT_OK, wird die Nachricht entfernt [SWS_Dlt_00273] SWS DLT S. 38.
  • Steuerkommandos: Ein unbekanntes Tupel bei SetLogLevel wird mit DLT_E_ERROR beantwortet SWS DLT S. 39. Die Konfigurations-APIs melden E_NOT_OK [SWS_Dlt_00252].
  • Persistenz: Dlt_StoreConfiguration kennt in R20-11 die Rückgaben E_OK, E_NOT_OK und DLT_E_NOT_SUPPORTED [SWS_Dlt_00736]. DLT_E_ERROR kam erst in R24-11 hinzu SWS DLT S. 1.
  • Entwicklungs- und Laufzeitfehler:
    • Entwicklungsfehler: DLT_E_PARAM, DLT_E_PARAM_POINTER, DLT_E_INIT_FAILED, DLT_E_REGISTRATION [SWS_Dlt_00727]
    • Laufzeitfehler: DLT_E_SKIPPED_TRANSMISSION, DLT_E_DEPRECATED_PARAMETER, DLT_E_MULTIPLE_REQUESTS [SWS_Dlt_00728]

Weiterführende Detailbelege

KI-generierter Modul-Leitfaden auf Basis der R20-11-Requirements und der zugeordneten Dokumentstellen; einzelne Ablaufdetails stammen aus Dokumentstellen späterer Releases und sind als solche gekennzeichnet. Verbindlich sind die verlinkten Requirements.

Diagnostic Log and Trace (DLT)

The DLT module collects log messages and trace points and formats them into standardized DLT frames for external tooling.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

function Dlt_Init [SWS_Dlt_00239] 📄 PDF

void Dlt_Init (const Dlt_ConfigType* config);

Dlt is using the NVRam Manager and is to be initialized very late in the ECU startup phase. The Dlt_ Init() function should be called after the NVRam Manager is initialized.

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

Die synchrone und nicht reentrante Funktion Dlt_Init (Service-ID 0x01, verfügbar über die Header-Datei Dlt.h) initialisiert das Modul Diagnostic Log and Trace (DLT) in der Classic-Plattform [SWS_Dlt_00239]. Sie nimmt über den Parameter config einen Zeiger auf die modulspezifische Konfigurationsstruktur vom Typ Dlt_ConfigType entgegen und liefert keinen Rückgabewert zurück [SWS_Dlt_00239].

Für den Aufrufkontext und das zeitliche Zusammenspiel mit anderen BSW-Modulen gelten spezifische Randbedingungen:

  • Initialisierungsreihenfolge: Das DLT-Modul verwendet den NVRam Manager und muss sehr spät in der Startphase des Steuergeräts initialisiert werden [SWS_Dlt_00239]. Der Aufruf der Funktion Dlt_Init sollte zwingend erst nach der vollständigen Initialisierung des NVRam Managers erfolgen [SWS_Dlt_00239].
  • Persistente Daten: Wenn der Konfigurationsparameter DltGeneralNvRAMSupport auf TRUE gesetzt ist, nutzt das DLT-Modul in Dlt_Init die Schnittstelle NvM_ReadBlock des NVRAM-Managers, um persistente Werte für erforderliche Variablen wiederherzustellen [SWS_Dlt_00453].
  • Pufferverarbeitung: Sobald das Modul durch Dlt_Init initialisiert wurde und der optionale Timer DltGeneralStartUpDelayTimer abgelaufen ist, werden sämtliche zwischenzeitlich gepufferten Log- und Trace-Daten verarbeitet und gemäß Spezifikation versendet [SWS_Dlt_00005].

Da die Funktion als nicht reentrant spezifiziert ist, muss der aufrufende Kontext sicherstellen, dass Dlt_Init während der Ausführung nicht parallel oder unterbrechend erneut betreten wird [SWS_Dlt_00239].

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

Implementer's Guide folgt (Komplexität I1)

function Dlt_SendTraceMessage [SWS_Dlt_00243] 📄 PDF

Std_ReturnType Dlt_SendTraceMessage (Dlt_SessionIDType sessionId, const Dlt_MessageTraceInfoType* traceInfo, const uint8* traceData, uint16 traceDataLength);

The service represents the interface to be used by basic software modules or by software components to trace parameters.

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

Die synchrone und reentrante Funktion Dlt_SendTraceMessage dient Basissoftwaremodulen (BSW) sowie Software-Komponenten (SW-C) zur Übertragung von Trace-Parametern an das Dlt-Modul [SWS_Dlt_00243].

Parameter und Aufrufkontext

Beim Aufruf werden die Modul- bzw. Port-Kennung über sessionId, Metadaten zur Nachrichtenfilterung über traceInfo sowie der Nutzdatenpuffer über traceData samt Längenangabe traceDataLength übergeben [SWS_Dlt_00243]. Das Modul kann Trace-Nachrichten bereits puffern, selbst wenn Dlt noch nicht initialisiert wurde [SWS_Dlt_00003].

Rückgabewerte und Fehlerbehandlung

Der Dienst signalisiert den Status über spezifische Rückgabewerte [SWS_Dlt_00243]:

  • E_OK: Die Operation wurde erfolgreich ausgeführt.
  • DLT_E_MSG_TOO_LARGE: Die Nachricht übersteigt die zulässige Größe aller zugewiesenen Log-Kanäle.
  • DLT_E_NO_BUFFER: Unzureichender Pufferspeicher; die Nachricht kann für mindestens einen Log-Kanal nicht zwischengespeichert werden.
  • DLT_E_UNKNOWN_SESSION_ID: Die übergebene sessionId ist dem Modul unbekannt.

Zusammenspiel mit Hook-Funktionen

Da Dlt_SendTraceMessage als Schnittstelle für SW-Cs spezifiziert ist, existiert für generierte Hook-Funktionen eine äquivalente interne Implementierung [SWS_Dlt_00285], welche Trace-Nachrichten im Non-Verbose-Modus absetzt [SWS_Dlt_00277].

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

Implementer's Guide folgt (Komplexität I1)

function Dlt_SendLogMessage [SWS_Dlt_00241] 📄 PDF

Std_ReturnType Dlt_SendLogMessage (Dlt_SessionIDType sessionId, const Dlt_MessageLogInfoType* logInfo, const uint8* logData, uint16 logDataLength);

The service represents the interface to be used by basic software modules or by software component to send Log Messages.

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

Die synchrone und reentrante Funktion Dlt_SendLogMessage (Service-ID 0x03) dient Basissoftware-Modulen (BSW) sowie Software-Komponenten (SW-C) als standardisierte Schnittstelle zum Versenden von Log-Nachrichten [SWS_Dlt_00241]. Der Aufruf erfolgt über die Header-Datei Dlt.h, und aufgrund der Reentranz ist die Funktion für den nebenläufigen Einsatz ausgelegt [SWS_Dlt_00241].

Beim Aufruf der Funktion sind vier Übergabeparameter erforderlich, während keine Ausgabeparameter verwendet werden [SWS_Dlt_00241]:

  • sessionId: Repräsentiert die Sitzungskennung. Für SW-Cs ist dieser Parameter als portbezogener Argumentwert unsichtbar, während BSW-Module direkt ihre Modulnummer übergeben.
  • logInfo: Zeiger auf eine konstante Struktur, welche die relevanten Metadaten zur Filterung der Log-Nachricht enthält.
  • logData: Zeiger auf das Byte-Array mit den zu protokollierenden Daten, das die eigentliche Nutzlast (Payload) der Nachricht bildet.
  • logDataLength: Numerische Länge des Datenpuffers logData.

Die Fehlerbehandlung erfolgt unmittelbar über den Rückgabewert vom Typ Std_ReturnType, der den Erfolg der Operation oder spezifische Fehlerzustände anzeigt [SWS_Dlt_00241]:

  • DLT_OK: Die Log-Nachricht wurde erfolgreich angenommen und verarbeitet.
  • DLT_E_MSG_TOO_LARGE: Die Nachricht übersteigt die maximal zulässige Puffergröße für alle zugewiesenen Log-Kanäle.
  • DLT_E_NO_BUFFER: Die Nachricht konnte auf keinem der zugewiesenen Log-Kanäle zwischengespeichert werden.
  • DLT_E_UNKNOWN_SESSION_ID: Die übergebene Sitzungs-ID ist ungültig oder dem Modul nicht bekannt.

Dieser Nutzungshinweis wurde von einer KI basierend auf der AUTOSAR-Spezifikation generiert.

function Dlt_UnregisterContext [SWS_Dlt_00769] 📄 PDF

Std_ReturnType Dlt_UnregisterContext (Dlt_SessionIDType sessionId, Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId);

The service has to be called when a software module is going to be stopped. Available vi a Dlt.h

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

Verwendung

Die synchrone Funktion Dlt_UnregisterContext (Service-ID 0x16) wird über die Header-Datei Dlt.h bereitgestellt und muss aufgerufen werden, wenn ein Software-Modul gestoppt wird [SWS_Dlt_00769]. Sie dient der Abmeldung eines zuvor registrierten Kontexts einer Anwendung.

Die Funktion erwartet drei Eingabeparameter [SWS_Dlt_00769]:

  • sessionId: Modulnummer; entspricht der Modul-ID innerhalb des BSW oder dem port-spezifisch definierten Argumentwert innerhalb einer Software-Komponente (SW-C) [SWS_Dlt_00769].
  • appId: Die Kennung der übergeordneten Applikation (Application ID) [SWS_Dlt_00769].
  • contextId: Die Kennung des abzumeldenden Kontexts (Context ID) [SWS_Dlt_00769].

Rückgabewerte und Fehlerbehandlung

Der Rückgabewert vom Typ Std_ReturnType gibt Auskunft über das Ergebnis der Ausführung [SWS_Dlt_00769]:

  • E_OK: Die angeforderte Operation wurde erfolgreich abgeschlossen [SWS_Dlt_00769].
  • DLT_E_CONTEXT_NOT_YET_REG: Der Kontext des Software-Moduls wurde vorab nicht registriert [SWS_Dlt_00769].
  • DLT_E_UNKNOWN_SESSION_ID: Die übergebene Session-ID ist unbekannt [SWS_Dlt_00769].

Nebenläufigkeit und Einschränkungen

Die Funktion ist als reentrant spezifiziert und verhält sich synchron [SWS_Dlt_00769]. Aufrufende Module müssen sicherstellen, dass die übergebene Session-ID gültig ist und der Kontext vor dem Beenden tatsächlich registriert war, um Fehler bei der Deregistrierung zu vermeiden [SWS_Dlt_00769].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR CP R20-11 generiert.

function Dlt_DetForwardErrorTrace [SWS_Dlt_00432] 📄 PDF

void Dlt_DetForwardErrorTrace (uint16 moduleId, uint8 instanceId, uint8 apiId, uint8 errorId);

Service to fo rward error reports from Det to Dlt.

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

Verwendung und Aufrufkontext

Die synchrone Schnittstelle Dlt_DetForwardErrorTrace mit der Service-ID 0x07 dient dazu, gemeldete Entwicklungsfehler aus dem Default Error Tracer (DET) an das Dlt-Modul weiterzuleiten [SWS_Dlt_00432]. Das Dlt-Modul stellt diesen Dienst zur Verfügung, um die geforderte Fan-Out-Fähigkeit des DET für Fehlermeldungen zu gewährleisten [SWS_Dlt_00430]. Die Deklaration dieser C-Funktion ist über die Header-Datei Dlt_Det.h eingebunden [SWS_Dlt_00432].

Parameter und Schnittstellenspezifikation

Die Funktion nimmt vier obligatorische Eingabeparameter entgegen und definiert weder Rückgabewerte noch Ausgabeparameter [SWS_Dlt_00432]:

  • moduleId: Modul-ID des aufrufenden Software-Moduls, in welchem der Fehler auftrat.
  • instanceId: Bezeichner der indexbasierten Modulinstanz (Zählung beginnt bei 0; Einzelinstanz-Module übergeben 0).
  • apiId: Kennung des betroffenen API-Dienstes (definiert in der Spezifikation des aufrufenden Moduls).
  • errorId: Kennung des festgestellten Entwicklungsfehlers (definiert in der Spezifikation des aufrufenden Moduls).

Nebenläufigkeit und Fehlerbehandlung

Die Ausführung erfolgt synchron zur aufrufenden Fehlererfassung. Als nicht reentrante Funktion (Non Reentrant) erfordert die Schnittstelle zwingend, dass aufruferseitig konkurrierende Ausführungen vermieden werden [SWS_Dlt_00432]. Spezifische Fehlercodes, Fehlerrückmeldungen oder gesonderte DET- bzw. DEM-Meldungen sind für diesen Service in der Spezifikation nicht vorgesehen [SWS_Dlt_00432].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR CP R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

function Dlt_SetLogLevel [SWS_Dlt_00252] 📄 PDF

Std_ReturnType Dlt_SetLogLevel (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, Dlt_MessageLogLevelType newLogLevel);

This service is used to change the Log Level for the given tuple of Application ID/ Context ID.

function Dlt_SetTraceStatus [SWS_Dlt_00254] 📄 PDF

Std_ReturnType Dlt_SetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean newTraceStatus);

The service Dlt_ Set Trace Status sets the trace status for a specific tuple of Application ID and Context ID.

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

Die synchrone Funktion Dlt_SetTraceStatus dient dem Einstellen des Trace-Status für ein bestimmtes Tupel aus Application-ID und Context-ID [SWS_Dlt_00254]. Sie ist über die Header-Datei Dlt.h definiert und besitzt die Service-ID 0x09 [SWS_Dlt_00254].

Verwendung

Für den Aufruf sind drei Eingangsparameter erforderlich [SWS_Dlt_00254]:

  • appId: Die ID der Software-Komponente (Typ Dlt_ApplicationIDType).
  • contextId: Die ID des Kontexts (Typ Dlt_ContextIDType).
  • newTraceStatus: Der neu zu setzende Trace-Status als Wahrheitswert (Typ boolean).

Fehlerbehandlung und Rückgabewerte

Die Funktion gibt synchron einen Status vom Typ Std_ReturnType zurück [SWS_Dlt_00254]:

  • E_OK: Es ist kein Fehler aufgetreten und der Status wurde erfolgreich übernommen.
  • E_NOT_OK: Der Trace-Status konnte nicht geändert werden. Spezifische DET-Fehlermeldungen werden in der Funktionsspezifikation nicht genannt (Interpretation: Ein Fehler dürfte vermutlich bei ungültigen Bezeichnern oder fehlerhaftem Modulzustand vorliegen). Frage Q-77e190707462c8f1 (offen)

Nebenläufigkeit und Einschränkungen

Die Schnittstelle ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_Dlt_00254]. Daher darf sie nicht nebenläufig oder unterbrechend ohne geeignete Synchronisation durch den Aufrufer ausgeführt werden.

Dieser Nutzungshinweis wurde automatisiert auf Basis des AUTOSAR-Release R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

function Dlt_GetDefaultLogLevel [SWS_Dlt_00733] 📄 PDF

Std_ReturnType Dlt_GetDefaultLogLevel (Dlt_MessageLogLevelType* defaultLogLevel);

Returns the Default Log Level currently used by the Dlt module. The returned Log Level might differ from the one which is stored no n volatile.

function Dlt_StoreConfiguration [SWS_Dlt_00736] 📄 PDF

Std_ReturnType Dlt_StoreConfiguration (void);

Copies the current Dlt configuration to Nv RAM by calling Nv M_ Write Block().

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

Verwendung

Die Funktion Dlt_StoreConfiguration ([SWS_Dlt_00736]) dient dem Sichern der aktuellen Dlt-Konfiguration in den nichtflüchtigen Speicher (NvRAM). Die Speicherung erfolgt intern über einen synchronen Aufruf der Schnittstelle NvM_WriteBlock() des NVRAM Managers ([SWS_Dlt_00736]). Bereitgestellt wird die API über den Header Dlt.h mit der Service-ID 0x1a.

Die Funktion besitzt die Signatur Std_ReturnType Dlt_StoreConfiguration(void) und verarbeitet weder Eingangs-, Ausgangs- noch Ein-/Ausgangsparameter ([SWS_Dlt_00736]).

Fehlerbehandlung und Rückgabewerte

Als synchroner Dienst liefert die Funktion unmittelbar einen Statuscode vom Typ Std_ReturnType an den Aufrufer zurück ([SWS_Dlt_00736]):

  • E_OK: Die Konfiguration wurde fehlerfrei an das NvRAM übergeben ([SWS_Dlt_00736]).
  • E_NOT_OK: Beim Speichern der Dlt-Konfiguration ist ein Fehler aufgetreten ([SWS_Dlt_00736]).
  • DLT_E_NOT_SUPPORTED: Der Service zur Konfigurationsspeicherung wird vom Modul nicht unterstützt ([SWS_Dlt_00736]).

Nebenläufigkeit und Einschränkungen

Gemäß [SWS_Dlt_00736] ist Dlt_StoreConfiguration als nicht reentrant (Non Reentrant) spezifiziert. Die Funktion darf daher nicht nebenläufig aus verschiedenen Tasks oder Kontexten heraus ausgeführt werden, sodass auf Aufruferseite für einen sequenziellen Ablauf gesorgt werden muss.

Dieser Nutzungshinweis wurde automatisiert auf Basis von AUTOSAR-Spezifikationen erstellt.

function Dlt_ResetToFactoryDefault [SWS_Dlt_00739] 📄 PDF

Std_ReturnType Dlt_ResetToFactoryDefault (void);

The service Dlt_ Reset To Factory Default sets the Log Level and Trace Status back to the pers istently stored default values. If the feature Nv MRAM support is enabled, all stored Dlt values in the Nv M are deleted.

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

Verwendung

Die synchrone Funktion Dlt_ResetToFactoryDefault wird über den Header Dlt.h bereitgestellt und nimmt keine Übergabeparameter entgegen [SWS_Dlt_00739]. Ihr primärer Zweck ist das Zurücksetzen der Dlt-Laufzeitkonfiguration: Sie setzt das Log-Level sowie den Trace-Status auf die persistent abgelegten Standardwerte zurück [SWS_Dlt_00739]. Ist zusätzlich die NvRAM-Unterstützung im Dlt-Modul aktiviert, bewirkt der Aufruf das vollständige Löschen aller im NvM hinterlegten Dlt-Werte [SWS_Dlt_00739].

Rückgabewerte und Fehlerbehandlung

Das Ergebnis der Operation wird synchron über den Rückgabewert vom Typ Std_ReturnType signalisiert [SWS_Dlt_00739]:

  • E_OK: Die Konfiguration wurde erfolgreich auf die Standardwerte zurückgesetzt [SWS_Dlt_00739].
  • E_NOT_OK: Das Zurücksetzen der Konfiguration ist fehlgeschlagen [SWS_Dlt_00739].

Spezifische DET- oder DEM-Fehlermeldungen sind für diesen Service im vorliegenden Spezifikationsumfang nicht definiert.

Nebenläufigkeit und Einschränkungen

Die Funktion ist als nicht reentrant (Non Reentrant) spezifiziert (Service-ID 0x06) [SWS_Dlt_00739]. Ein nebenläufiger oder unterbrechender Aufruf aus verschiedenen Tasks oder Kontexten ist daher unzulässig und muss durch den Aufrufer verhindert werden.

Dieser Nutzungshinweis basiert ausschließlich auf den Spezifikationsdaten aus AUTOSAR Classic Release R20-11.

Implementer's Guide folgt (Komplexität I1)

function Dlt_SetDefaultLogLevel [SWS_Dlt_00740] 📄 PDF

Std_ReturnType Dlt_SetDefaultLogLevel (Dlt_MessageLogLevelType newLogLevel);

Called to modify the pass through range for Log Messages for all not explicit set Context Ids.

function Dlt_GetTraceStatus [SWS_Dlt_00750] 📄 PDF

Std_ReturnType Dlt_GetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean* traceStatus);

Returns the current Trace Status for a given tuple Application Id/ Context Id.

function Dlt_RxIndication [SWS_Dlt_00272] 📄 PDF

void Dlt_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

Indication of a received PDU from a lower layer communication interface module.

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

Die Funktion Dlt_RxIndication dient der Indikation einer empfangenen PDU aus einem unterlagerten Kommunikationsschnittstellenmodul an das DLT-Modul [SWS_Dlt_00272]. Sie ist über den Header Dlt.h verfügbar und besitzt die Service-ID 0x42 [SWS_Dlt_00272].

Der Aufruf erfolgt mit synchroner Semantik und liefert keinen Rückgabewert (void) [SWS_Dlt_00272]. An die Funktion werden zwei Eingangsparameter übergeben:

  • RxPduId: Identifikator der empfangenen PDU (vom Typ PduIdType) [SWS_Dlt_00272].
  • PduInfoPtr: Zeiger auf eine Struktur vom Typ PduInfoType. Diese enthält die Länge der empfangenen PDU (SduLength), einen Zeiger auf den Puffer mit den PDU-Nutzdaten (SduDataPtr) sowie zugehörige Metadaten der PDU [SWS_Dlt_00272].

Hinsichtlich der Nebenläufigkeit und des Ausführungskontexts ist die Funktion reentrant für unterschiedliche PDU-IDs, jedoch nicht reentrant für dieselbe PDU-ID [SWS_Dlt_00272]. Das aufrufende unterlagerte Modul darf dieselbe RxPduId folglich nicht nebenläufig verarbeiten lassen, während parallele Aufrufe mit verschiedenen PDU-IDs zulässig sind [SWS_Dlt_00272].

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

function Dlt_TriggerTransmit [SWS_Dlt_00754] 📄 PDF

Std_ReturnType Dlt_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);

Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.

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

Die synchrone Funktion Dlt_TriggerTransmit dient gemäß [SWS_Dlt_00754] dazu, SDU-Daten auf Anfrage einer unterlagerten Schicht in einen bereitgestellten Puffer zu kopieren. Sie ist in Dlt.h deklariert und besitzt die Service-ID 0x41.

Beim Aufruf werden folgende Parameter übergeben:

  • TxPduId: Bezeichner der SDU, deren Übertragung angefordert wird.
  • PduInfoPtr: Zeiger auf eine Struktur vom Typ PduInfoType. Der Aufrufer übergibt über SduDataPtr den Zielpuffer und über SduLength die maximal verfügbare Puffergröße.

Innerhalb der Funktion prüft das Modul gemäß [SWS_Dlt_00754], ob die verfügbaren Daten in die übergebene Puffergröße passen:

  • Passen die Daten, kopiert die Funktion die Nutzdaten in SduDataPtr, aktualisiert SduLength mit der Anzahl der tatsächlich kopierten Bytes und liefert E_OK zurück.
  • Reicht der Puffer nicht aus, liefert die Funktion E_NOT_OK zurück, ohne PduInfoPtr zu modifizieren.

Wird E_NOT_OK zurückgegeben, wurden keine SDU-Daten kopiert. Der Aufrufer darf PduInfoPtr in diesem Fall nicht weiterverwenden, da er auf ungültige Daten verweisen oder ein NULL-Zeiger sein kann [SWS_Dlt_00754].

Hinsichtlich der Nebenläufigkeit ist Dlt_TriggerTransmit reentrant für unterschiedliche PDU-IDs, jedoch nicht reentrant für dieselbe TxPduId [SWS_Dlt_00754].

Dieser Text wurde automatisch generiert. Alle Angaben stützen sich auf die referenzierten AUTOSAR-Spezifikationen.

Implementer's Guide folgt (Komplexität I1)

function Dlt_TxConfirmation [SWS_Dlt_00273] 📄 PDF

void Dlt_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

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

Verwendung und Aufrufkontext

Die Funktion Dlt_TxConfirmation dient als Bestätigungsschnittstelle der unterlagerten Kommunikationsschicht (lower layer communication interface module) gegenüber dem Modul Diagnostic Log and Trace (DLT) [SWS_Dlt_00273]. Sie informiert das DLT-Modul synchron darüber, ob eine zuvor angeforderte PDU erfolgreich übertragen werden konnte oder ob die Übertragung gescheitert ist [SWS_Dlt_00273]. Die Funktion besitzt die Service-ID 0x40 und wird über die Header-Datei Dlt.h bereitgestellt [SWS_Dlt_00273].

Die Schnittstelle besitzt keinen Rückgabewert (void) und erwartet zwei Übergabeparameter [SWS_Dlt_00273]:

  • TxPduId: Die Kennung der übertragenen PDU vom Typ PduIdType.
  • result: Der Übertragungsstatus vom Typ Std_ReturnType; hierbei signalisiert E_OK die erfolgreiche Übertragung und E_NOT_OK ein Scheitern der PDU-Übertragung.

Fehlerbehandlung und Nebenläufigkeit

Eine explizite Fehlerbehandlung mit Fehlerrückgabewerten oder spezifischen DET- bzw. DEM-Meldungen ist für diesen Aufruf nicht spezifiziert; das Scheitern eines Sendevorgangs wird dem DLT-Modul rein über den Parameterwert result = E_NOT_OK mitgeteilt [SWS_Dlt_00273].

Für die Ausführung gilt eine differenzierte Reentranz-Bedingung: Dlt_TxConfirmation ist reentrant für unterschiedliche PDU-IDs, jedoch nicht reentrant für dieselbe PDU-ID [SWS_Dlt_00273]. Aufrufende Treiber oder Schnittstellen müssen daher sicherstellen, dass gleichzeitige Aufrufe mit identischer TxPduId ausgeschlossen sind, während Bestätigungen für unterschiedliche PDUs nebenläufig eintreffen dürfen.

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR CP R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

function Dlt_TpTxConfirmation [SWS_Dlt_00756] 📄 PDF

void Dlt_TpTxConfirmation (PduIdType id, Std_ReturnType result);

This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission was succe ssful or not.

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

Die Funktion Dlt_TpTxConfirmation dient als synchrone Bestätigungsfunktion des Dlt-Moduls nach dem Senden einer Transport-I-PDU [SWS_Dlt_00756]. Sie ist über die Header-Datei Dlt.h mit der Service-ID 0x48 verfügbar [SWS_Dlt_00756].

Verwendung und Semantik

Der Aufruf erfolgt, nachdem eine I-PDU auf dem jeweiligen Netzwerk übertragen wurde [SWS_Dlt_00756]. Die Funktion besitzt die Signatur void Dlt_TpTxConfirmation (PduIdType id, Std_ReturnType result) und liefert keinen Rückgabewert zurück [SWS_Dlt_00756]:

  • id (Eingangsparameter, Typ PduIdType): Eindeutige Identifikation der übertragenen I-PDU [SWS_Dlt_00756].
  • result (Eingangsparameter, Typ Std_ReturnType): Gibt den Übertragungsstatus an und zeigt an, ob das Senden der I-PDU erfolgreich war oder fehlschlug [SWS_Dlt_00756].

Nebenläufigkeit und Fehlerbehandlung

Die Spezifikation weist Dlt_TpTxConfirmation als synchron und reentrant (Reentrant) aus [SWS_Dlt_00756]. Spezifische DET- oder DEM-Fehlercodes sind für diesen Service nicht definiert; die Fehlerbehandlung bezüglich des Sendevorgangs stützt sich auf die Auswertung des Parameters result [SWS_Dlt_00756]. Der Aufruf dürfte im Systemkontext typischerweise durch eine unterlagerte Transportschicht nach Abschluss der PDU-Übertragung initiiert werden. Frage Q-0e5ab7c285316701 (offen)

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

Implementer's Guide folgt (Komplexität I1)

function Dlt_CopyTxData [SWS_Dlt_00516] 📄 PDF

BufReq_ReturnType Dlt_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

Service Dlt_CopyTxData.

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

Verwendung und Semantik

Die synchrone und reentrante Funktion Dlt_CopyTxData dient dem Abrufen von Sendedaten eines I-PDU-Segments (N-PDU) aus dem Dlt-Modul [SWS_Dlt_00516]. Über id wird die zu sendende I-PDU spezifiziert, während info den Zielpuffer (SduDataPtr) sowie die gewünschte Bytelänge (SduLength) bereitstellt [SWS_Dlt_00516]. Eine Übergabe von SduLength = 0 (bei der SduDataPtr als NULL_PTR übergeben werden darf) erlaubt es, reine Statusänderungen über retry zu übermitteln oder die verbleibende Datenmenge im Sendepuffer abzufragen [SWS_Dlt_00516]. Über den Ausgabeparameter availableDataPtr meldet die Funktion die noch verfügbare Datenmenge im Tx-Puffer zurück, was beispielsweise TP-Modulen mit dynamischer Nutzdatenlänge (wie FrIsoTp) die Dimensionierung nachfolgender Segmente ermöglicht [SWS_Dlt_00516].

Bestätigung und Fehlerbehebung

Über den Zeiger retry wird die Quittierung oder wiederholte Übertragung gesteuert [SWS_Dlt_00516]:

  • Ist retry ein NULL_PTR, dürfen die kopierten Daten unmittelbar nach dem Kopiervorgang aus dem Puffer verworfen werden [SWS_Dlt_00516].
  • Zeigt TpDataState den Wert TP_CONFPENDING, müssen zuvor kopierte Daten für eine eventuelle Fehlerbehebung im Puffer verbleiben [SWS_Dlt_00516].
  • Bei TP_DATACONF gelten alle vor dem Aufruf übertragenen Daten als bestätigt und können freigegeben werden [SWS_Dlt_00516].
  • Bei TP_DATARETRY setzt das Modul das Kopieren ab dem in TxTpDataCnt übergebenen Byte-Offset erneut an [SWS_Dlt_00516].

Rückgabewerte und Randbedingungen

Das Ergebnis der Anforderung wird als BufReq_ReturnType gemeldet [SWS_Dlt_00516]:

  • BUFREQ_OK: Daten wurden vollständig wie gefordert in den Zielpuffer kopiert [SWS_Dlt_00516].
  • BUFREQ_E_BUSY: Die geforderte Datenmenge ist nicht verfügbar; es wurden keine Daten kopiert, ein späterer Neuversuch ist zulässig [SWS_Dlt_00516].
  • BUFREQ_E_NOT_OK: Anfrage fehlgeschlagen; es wurden keine Daten kopiert [SWS_Dlt_00516].

Die Schnittstelle ist über Dlt.h verfügbar und reentrant ausgelegt [SWS_Dlt_00516]. Der Aufrufkontext dürfte typischerweise in einem unterlagerten Transportprotokoll-Modul während der segmentierten Übertragung liegen. Frage Q-a81c439e73e0acc0 (offen)

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

Implementer's Guide folgt (Komplexität I1)

function Dlt_StartReception [SWS_Dlt_91006] 📄 PDF

BufReq_ReturnType Dlt_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);

This function is called at the start of receiving an N -

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

Die synchrone und reentrante Funktion Dlt_StartReception wird zu Beginn des Empfangs einer N-SDU aufgerufen, welche als Einzelframe (SF) oder fragmentiert über mehrere N-PDUs empfangen werden kann [SWS_Dlt_91006]. Sie dient dazu, die Transportverbindung im Dlt-Modul zu initiieren und den verfügbaren Empfangspuffer bereitzustellen [SWS_Dlt_91006].

Über den Parameter id wird die empfangene I-PDU identifiziert, während info Nutzdaten und Metadaten des ersten Rahmens übermittelt oder auf NULL_PTR gesetzt ist, falls weder Daten noch Metadaten vorliegen [SWS_Dlt_91006]. Über TpSduLength wird die Gesamtlänge der N-SDU übergeben; wird die Funktion mit einer Länge von 0 aufgerufen, liefert sie die aktuell maximal verfügbare Puffergröße über bufferSizePtr zurück [SWS_Dlt_91006]. Das Transportprotokoll nutzt den Wert aus bufferSizePtr zur Berechnung der Block Size (BS) [SWS_Dlt_91006].

Wird die Verbindung akzeptiert, liefert die Funktion BUFREQ_OK; steht nicht genügend Puffer für die angeforderte Größe bereit, signalisiert bufferSizePtr eine Puffergröße von 0 zur Fortführung des Empfangs [SWS_Dlt_91006]. Bei Ablehnung der Verbindung bricht BUFREQ_E_NOT_OK den Empfang ab, und bei unzureichendem Gesamtspeicher wird BUFREQ_E_OVFL gemeldet; in beiden Fehlerfällen bleibt bufferSizePtr unverändert [SWS_Dlt_91006].

Dieser Nutzungshinweis basiert auf der Spezifikation AUTOSAR Classic R20-11.

Implementer's Guide folgt (Komplexität I1)

function Dlt_TpRxIndication [SWS_Dlt_91007] 📄 PDF

void Dlt_TpRxIndication (PduIdType id, Std_ReturnType result);

Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not.

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

Die Funktion Dlt_TpRxIndication dient als synchrone Empfangsanzeige, nachdem eine I-PDU über die TP-API empfangen wurde [SWS_Dlt_91007]. Sie ist in der Header-Datei Dlt.h deklariert und besitzt die Service-ID 0x45 [SWS_Dlt_91007].

Verwendung und Parameter

Die Übergabe an das DLT-Modul erfolgt über zwei Eingabeparameter, wobei die Funktion keinen Rückgabewert liefert [SWS_Dlt_91007]:

  • id (Typ PduIdType): Kennzeichnet die Identifikation der empfangenen I-PDU [SWS_Dlt_91007].
  • result (Typ Std_ReturnType): Gibt das Resultat des Empfangs an und zeigt, ob die Übertragung erfolgreich war [SWS_Dlt_91007].

Nebenläufigkeit und Einschränkungen

Die Schnittstelle ist als synchron und reentrant definiert [SWS_Dlt_91007]. Es existieren weder Ein-/Ausgangs- noch reine Ausgangsparameter [SWS_Dlt_91007].

Fehlerbehandlung und Zusammenspiel

Das Ergebnis des Transports wird dem DLT-Modul ausschließlich über das Argument result signalisiert; spezifische Fehlercodes, DET- oder DEM-Meldungen sind nicht spezifiziert [SWS_Dlt_91007].

Interpretation: Der Aufruf dürfte durch eine unterlagerte Transportprotokoll-Komponente erfolgen, sobald eine DLT-Nachricht vollständig eingetroffen ist oder die Übertragung abbricht [SWS_Dlt_91007]. Frage Q-7d9c8564a2404acf (offen)

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

Implementer's Guide folgt (Komplexität I1)

function Dlt_CopyRxData [SWS_Dlt_91008] 📄 PDF

BufReq_ReturnType Dlt_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);

Service Dlt_CopyRxData.

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

Verwendung und Semantik

Die synchrone Funktion Dlt_CopyRxData wird aufgerufen, um empfangene Daten eines I-PDU-Segments (N-PDU) an die obere Schicht zu übergeben [SWS_Dlt_91008]. Jeder Aufruf stellt den jeweils nächsten Teil der I-PDU-Daten bereit, wobei die verbleibende Puffergröße an die über bufferSizePtr referenzierte Speicherstelle geschrieben wird [SWS_Dlt_91008]. Die Deklaration ist über den Header Dlt.h verfügbar [SWS_Dlt_91008].

Parameter und Pufferabfrage

Über den Eingabeparameter id wird die empfangene I-PDU identifiziert [SWS_Dlt_91008]. Der Zeiger info stellt über SduDataPtr den Quellpuffer sowie über SduLength die Anzahl der zu kopierenden Bytes bereit [SWS_Dlt_91008]. Wird SduLength mit dem Wert 0 übergeben, dient der Aufruf der reinen Abfrage des aktuell im oberen Modul verfügbaren Puffers; in diesem Fall darf SduDataPtr ein NULL_PTR sein [SWS_Dlt_91008]. Der Ausgabeparameter bufferSizePtr gibt die nach dem Kopiervorgang noch freie Empfangspuffergröße zurück [SWS_Dlt_91008].

Nebenläufigkeit und Rückgabewerte

Die Funktion ist reentrant ausgelegt und besitzt die Service-ID 0x44 [SWS_Dlt_91008]. Der Rückgabewert vom Typ BufReq_ReturnType signalisiert das Ergebnis des Kopiervorgangs: Bei erfolgreicher Datenübernahme liefert der Dienst BUFREQ_OK zurück, während im Fehlerfall BUFREQ_E_NOT_OK gemeldet wird [SWS_Dlt_91008].

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

Implementer's Guide folgt (Komplexität I1)

function Dlt_TxFunction [SWS_Dlt_91005] 📄 PDF

void Dlt_TxFunction (void);

-

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

Verwendung und Aufrufkontext

Die Funktion Dlt_TxFunction ist gemäß der Spezifikation [SWS_Dlt_91005] als Service mit der Service-ID 0x80 definiert und über den Header SchM_Dlt.h verfügbar. Ihre Schnittstellensignatur lautet void Dlt_TxFunction (void) [SWS_Dlt_91005]. Die Deklaration in SchM_Dlt.h deutet als Interpretation darauf hin, dass der Aufruf durch den BSW-Scheduler im Kontext einer zyklischen Task erfolgt und nicht direkt durch Anwendungs-Software-Components aufgerufen werden sollte.

Parameter und Rückgabewerte

Gemäß [SWS_Dlt_91005] nimmt die Funktion keine Übergabeparameter entgegen und liefert keinen Rückgabewert (void). Dem Namen nach dürfte die Funktion für das zyklische Abarbeiten und Übertragen anstehender Dlt-Sendenachrichten zuständig sein. Frage (offen) Da keine Rückgabewerte spezifiziert sind, erfolgt die Fehlerbehandlung vermutlich rein modul- bzw. zustandsintern.

Einschränkungen

Da der Payload keine Angaben zu Reentranz oder speziellen Entwicklungsfehlern enthält, sind Aufrufintervalle und Task-Zuordnungen über die Schedule-Manager-Konfiguration abzustimmen. Weitere Fehlercodes oder DET-Einträge sind in [SWS_Dlt_91005] nicht ausgewiesen.

Dieser Text wurde von einer KI erstellt; er ersetzt nicht das Studium der offiziellen AUTOSAR-Spezifikation.

type Dlt_ConfigType [SWS_Dlt_00437] 📄 PDF

This is the type of the data structure containing the initialization data for Dlt.

type Dlt_MessageIDType [SWS_Dlt_00228] 📄 PDF

Contains the unique Message Id for a message. This is only relevant in non - verbose mode.

type Dlt_MessageNetworkTraceInfoType [SWS_Dlt_00233] 📄 PDF

This type describes transported type of a Dlt BUSMESSAGE.

type Dlt_ApplicationIDType [SWS_Dlt_00226] 📄 PDF

This type describes the Application Id. 0x00000000 means the so - called wildcard.

type Dlt_ContextIDType [SWS_Dlt_00227] 📄 PDF

This type describes the Context Id. 0x00000000 means the so - called wildcard.

type Dlt_MessageArgumentCount [SWS_Dlt_00235] 📄 PDF

This type describes the count of arguments provided to a message.

type Dlt_AssignmentOperation [SWS_Dlt_00730] 📄 PDF

Adding or removing a Log Channel assignment for the given tuple of Application Id/ Context Id.

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

Record
AUTOSAR/AP/record/CP_MOD_Dlt
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Dlt@rel:R20-11#de2b63b6
Content hash
de2b63b6
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DiagnosticLogAndTrace.pdf#nameddest=SWS_Dlt_00239

Initialisierung und Status

Returns the version information of this module.

void Dlt_GetVersionInfo (Std_VersionInfoType* versioninfo);
Dlt_Init function

Dlt is using the NVRam Manager and is to be initialized very late in the ECU startup phase. The Dlt_ Init() function should be called after the NVRam Manager is initialized.

void Dlt_Init (const Dlt_ConfigType* config);

Dienste

Service to fo rward error reports from Det to Dlt.

void Dlt_DetForwardErrorTrace (uint16 moduleId, uint8 instanceId, uint8 apiId, uint8 errorId);

Returns the Default Log Level currently used by the Dlt module. The returned Log Level might differ from the one which is stored no n volatile.

Std_ReturnType Dlt_GetDefaultLogLevel (Dlt_MessageLogLevelType* defaultLogLevel);

Called to request information about registered Application Ids, their Context Ids and the corresponding log level.

Std_ReturnType Dlt_GetLogInfo (uint8 options, Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, uint8* status, Dlt_LogInfoType* logInfo);

Returns the current Trace Status for a given tuple Application Id/ Context Id.

Std_ReturnType Dlt_GetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean* traceStatus);

The service Dlt_ Reset To Factory Default sets the Log Level and Trace Status back to the pers istently stored default values. If the feature Nv MRAM support is enabled, all stored Dlt values in the Nv M are deleted.

Std_ReturnType Dlt_ResetToFactoryDefault (void);

The service represents the interface to be used by basic software modules or by software component to send Log Messages.

Std_ReturnType Dlt_SendLogMessage (Dlt_SessionIDType sessionId, const Dlt_MessageLogInfoType* logInfo, const uint8* logData, uint16 logDataLength);

The service represents the interface to be used by basic software modules or by software components to trace parameters.

Std_ReturnType Dlt_SendTraceMessage (Dlt_SessionIDType sessionId, const Dlt_MessageTraceInfoType* traceInfo, const uint8* traceData, uint16 traceDataLength);

Called to modify the pass through range for Log Messages for all not explicit set Context Ids.

Std_ReturnType Dlt_SetDefaultLogLevel (Dlt_MessageLogLevelType newLogLevel);

This service is used to change the Log Level for the given tuple of Application ID/ Context ID.

Std_ReturnType Dlt_SetLogLevel (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, Dlt_MessageLogLevelType newLogLevel);

Switches on/ off the mes sage filtering functionality of the Dlt module.

Std_ReturnType Dlt_SetMessageFiltering (boolean status);

The service Dlt_ Set Trace Status sets the trace status for a specific tuple of Application ID and Context ID.

Std_ReturnType Dlt_SetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean newTraceStatus);

Copies the current Dlt configuration to Nv RAM by calling Nv M_ Write Block().

Std_ReturnType Dlt_StoreConfiguration (void);

-

void Dlt_TxFunction (void);

The service has to be called when a software module is going to be stopped. Available vi a Dlt.h

Std_ReturnType Dlt_UnregisterContext (Dlt_SessionIDType sessionId, Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId);

Callbacks

Service Dlt_CopyRxData.

BufReq_ReturnType Dlt_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);

Service Dlt_CopyTxData.

BufReq_ReturnType Dlt_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

Indication of a received PDU from a lower layer communication interface module.

void Dlt_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

This function is called at the start of receiving an N -

BufReq_ReturnType Dlt_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);

Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not.

void Dlt_TpRxIndication (PduIdType id, Std_ReturnType result);

This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission was succe ssful or not.

void Dlt_TpTxConfirmation (PduIdType id, Std_ReturnType result);

Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.

Std_ReturnType Dlt_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

void Dlt_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

Typen

Information about Applications

This type describes the Application Id. 0x00000000 means the so - called wildcard.

Adding or removing a Log Channel assignment for the given tuple of Application Id/ Context Id.

This is the type of the data structure containing the initialization data for Dlt.

Context Information

This type describes the Context Id. 0x00000000 means the so - called wildcard.

This type describes the count of arguments provided to a message.

Contains the unique Message Id for a message. This is only relevant in non - verbose mode.

This type describes the log lev el for each log message.

This type describes transported type of a Dlt BUSMESSAGE.

This type describes labels for trace messages.

This type describes the type of the message.

This type identifies the session.

Type type

This type describes the Log Channel name.