DEENESPTFRRUARHIKOZHNL

Diagnostic Communication Manager (DCM)

ModulDCM (Diagnostic Communication Manager)
BSW-Modul-ID53
Standard-Header#include "Dcm.h"
SWS-SpezifikationAUTOSAR_SWS_DiagnosticCommunicationManager.pdf
ClusterDiagnostic Services

Modul-GuideKI-GENERIERT

Nimmt Diagnoseanfragen von Testern entgegen, prüft sie und beantwortet sie mit Daten aus Fehlerspeicher und Anwendung.
KI-GENERIERT ungeprüft Modell: claude-opus-5-5 · Aufwand: high · Temperatur: nicht steuerbar · Prompt: c4fbaab8dd0b 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 Diagnoseanfragen von Testern entgegen, prüft sie und beantwortet sie mit Daten aus Fehlerspeicher und Anwendung.

Der DCM ist der Diagnose-Server des Steuergeräts: Er empfängt UDS- und OBD-Anfragen über den PduR, prüft sie und lässt sie vom DSP oder von Anwendungs-Callouts ausführen. Erst nach vollständigem Empfang wird eine Anfrage weitergereicht [SWS_Dcm_00111]. Zuvor prüft der DSD Dienst, Sitzung, Security-Level und Modusbedingungen. Dauert die Bearbeitung zu lange, hält der DCM die P2-Zeitschranken mit NRC 0x78 ein [SWS_Dcm_00024]. Senden darf er nur in den vom ComM freigegebenen Kommunikationsmodi.

Der DCM bearbeitet die Diagnoseanfragen externer Tester. Er implementiert UDS-Dienste wie DiagnosticSessionControl, ReadDataByIdentifier und RoutineControl [SWS_Dcm_00250] [SWS_Dcm_00253] [SWS_Dcm_00257] sowie OBD-Dienste [SWS_Dcm_00243]. Intern verwaltet die DSL Kommunikation und Zeiten [SWS_Dcm_00027], der DSD prüft und verteilt Anfragen [SWS_Dcm_00178], und der DSP führt die Dienste aus. Daten holt der DCM vom DEM, aus Anwendungs-Callouts und über RTE-Ports [SWS_Dcm_01263] [SWS_Dcm_00793].

kontext cluster_dcm DCM Tester Diagnosetester TP Transportschicht (z. B. CanTp) Tester->TP UDS-/OBD-Anfrage PduR PduR TP->PduR DSL DSL Sitzung, Timing, Puffer PduR->DSL Dcm_StartOfReception Dcm_CopyRxData Dcm_TpRxIndication DSL->PduR PduR_DcmTransmit DSD DSD Prüfung, Verteilung DSL->DSD vollständige Anfrage ComM ComM DSL->ComM ComM_DCM_ActiveDiagnostic DSP DSP Dienstausführung DSD->DSP Dienst ausführen Dem DEM DSP->Dem Dem_SelectDTC, Dem_ClearDTC BswM BswM DSP->BswM CommunicationControl-Modus NvM NvM DSP->NvM DDDID speichern Csm CSM / KeyM DSP->Csm Zertifikatsprüfung (0x29) SWC Anwendungs-SW-Cs (RTE / Callouts) DSP->SWC Xxx_ReadData, Xxx_Start, ... Modeswitch ComM->DSL Dcm_ComM_*ComModeEntered

Kontextdiagramm: Der DCM zwischen PduR, ComM, DEM, NvM, BswM, CSM/KeyM und Anwendungs-SW-Cs. Quellen: [SWS_Dcm_00094] [SWS_Dcm_01376] SWS DCM S. 209

Nach Dcm_Init [SWS_Dcm_00037] sind die Default Session und das Security-Level DCM_SEC_LEV_LOCKED aktiv [SWS_Dcm_00033] [SWS_Dcm_00034]. Eine Anfrage trifft über Dcm_StartOfReception, Dcm_CopyRxData und Dcm_TpRxIndication ein. Erst nach erfolgreichem Empfang gelangt sie zum DSD [SWS_Dcm_00111]. Dieser prüft Service-Identifier, Sitzung, Security-Level und Modusbedingungen [SWS_Dcm_00196] [SWS_Dcm_00211] [SWS_Dcm_00217]. Die Antwort geht über PduR_DcmTransmit und Dcm_CopyTxData hinaus [SWS_Dcm_00115] [SWS_Dcm_00092].

Bearbeitung einer DiagnoseanfragePduRDSLDSDDSPAnwendungUse Case: EmpfangDcm_StartOfReception(id, info, TpSduLength)BUFREQ_OK, bufferSizePtrloopweitere SegmenteDcm_CopyRxData(id, info, bufferSizePtr)Dcm_TpRxIndication(id, E_OK)Anfrage weiterleiten (nur nach E_OK)SID-, Sitzungs-, Security-und ModusprüfungDienst ausführenXxx-Operation (OpStatus = DCM_INITIAL)E_OK + AusgabedatenAntwortdatenUse Case: SendenSenden anfordernPduR_DcmTransmit(DcmDslProtocolTxPduRef)loopbis Antwort kopiertDcm_CopyTxData()Dcm_TpTxConfirmation(id, E_OK)Bestätigung weiterleitenDspInternal_DcmConfirmation()Xxx_Confirmation() (falls konfiguriert)

Sequenzdiagramm: Empfang, Prüfung, Ausführung und Senden einer Anfrage. Quellen: [SWS_Dcm_00093] [SWS_Dcm_00351] [SWS_Dcm_00741]

Asynchrone Anwendungsschnittstellen werden über Dcm_OpStatusType wiederholt aufgerufen [SWS_Dcm_00984] [SWS_Dcm_00530]. Dauert eine Bearbeitung länger als P2ServerMax, sendet der DCM NRC 0x78 [SWS_Dcm_00024]. Sitzungswechsel per 0x10 werden erst mit der Sendebestätigung wirksam. S3Server-Timeout oder Dcm_ResetToDefaultSession führen zurück in die Default Session [SWS_Dcm_00311] [SWS_Dcm_00140] [SWS_Dcm_00520]. Die ComM-Modi steuern, ob gesendet werden darf. ROE- und periodische Übertragungen laufen nur in Full Communication [SWS_Dcm_00148] [SWS_Dcm_00123].

Fehler werden meist zu negativen Antworten. Liefert eine Anwendung E_NOT_OK, wird ihr ErrorCode als NRC gesendet [SWS_Dcm_00678]. DEM-Fehler werden auf NRC 0x22 oder 0x31 abgebildet [SWS_Dcm_00704] [SWS_Dcm_00708]. Nach jeder Sendebestätigung gibt der DCM den Sendepuffer frei [SWS_Dcm_00352].

Rolle im Diagnose-Stack: DSL, DSD und DSP

Der DCM beantwortet Diagnoseanfragen externer Tester. Er implementiert UDS-Dienste wie DiagnosticSessionControl (0x10), ReadDataByIdentifier (0x22) und RoutineControl (0x31) [SWS_Dcm_00250] [SWS_Dcm_00253] [SWS_Dcm_00257] sowie OBD-Dienste wie $01 [SWS_Dcm_00243]. Intern besteht er aus drei Submodulen:

Nach unten stellt der DCM Callbacks für PduR (Transportdaten) und ComM (Kommunikationsmodi) bereit. Das Schaubild SWS DCM S. 209 verwendet dafür noch ältere Namen wie Dcm_RxIndication. Normativ sind in R20-11 die Namen Dcm_TpRxIndication und Dcm_ComM_NoComModeEntered [SWS_Dcm_00093] [SWS_Dcm_00356].

Weitere Anbindungen:

  • Den Fehlerspeicher erreicht der DCM über die DEM-API, etwa mit Dem_SelectDTC bei ClearDiagnosticInformation [SWS_Dcm_01263].
  • Anwendungsdaten und Routinen erreicht er über konfigurierbare Callouts und Ports wie Xxx_ReadData oder Xxx_Start [SWS_Dcm_00793] [SWS_Dcm_01203].
  • Für Diagnosemodi wie DcmDiagnosticSessionControl und DcmEcuReset ist er selbst Mode-Manager [SWS_Dcm_00775].
kontext cluster_dcm DCM Tester Diagnosetester TP Transportschicht (z. B. CanTp) Tester->TP UDS-/OBD-Anfrage PduR PduR TP->PduR DSL DSL Sitzung, Timing, Puffer PduR->DSL Dcm_StartOfReception Dcm_CopyRxData Dcm_TpRxIndication DSL->PduR PduR_DcmTransmit DSD DSD Prüfung, Verteilung DSL->DSD vollständige Anfrage ComM ComM DSL->ComM ComM_DCM_ActiveDiagnostic DSP DSP Dienstausführung DSD->DSP Dienst ausführen Dem DEM DSP->Dem Dem_SelectDTC, Dem_ClearDTC BswM BswM DSP->BswM CommunicationControl-Modus NvM NvM DSP->NvM DDDID speichern Csm CSM / KeyM DSP->Csm Zertifikatsprüfung (0x29) SWC Anwendungs-SW-Cs (RTE / Callouts) DSP->SWC Xxx_ReadData, Xxx_Start, ... Modeswitch ComM->DSL Dcm_ComM_*ComModeEntered

Kontextdiagramm: Der DCM liegt zwischen PduR und den Diensterbringern DEM, NvM, BswM, CSM/KeyM und Anwendungs-SW-Cs; ComM steuert seine Sendebereitschaft. Quellen: [SWS_Dcm_00094] [SWS_Dcm_01376] [SWS_Dcm_00512] [SWS_Dcm_00868] [SWS_Dcm_01463] SWS DCM S. 209

Start: Dcm_Init und der zyklische Takt

Dcm_Init [SWS_Dcm_00037] erhält einen Zeiger auf Dcm_ConfigType mit den Post-Build-Parametern [SWS_Dcm_00982]. Daraus initialisiert er alle globalen Variablen [SWS_Dcm_00334]. Danach gilt folgender Grundzustand:

Weitere Startaufgaben hängen von der Konfiguration ab:

  • Dcm_GetProgConditions erkennt eine Rückkehr aus dem Bootloader [SWS_Dcm_00536].
  • Bei DcmDDDIDStorage = TRUE werden DDDID-Definitionen aus dem NvM wiederhergestellt [SWS_Dcm_00867].
  • Fehlversuchszähler werden über Xxx_GetSecurityAttemptCounter gelesen [SWS_Dcm_01154].
  • Bei konfiguriertem DcmVinRef wird die VIN einmalig mit Dcm_GetVin geholt [SWS_Dcm_01174].

Dcm_MainFunction [SWS_Dcm_00053] treibt alle asynchronen Abläufe. Gibt eine Operation DCM_E_PENDING zurück, wird sie etwa im nächsten MainFunction-Zyklus erneut angestoßen [SWS_Dcm_00760]. Dasselbe gilt für pending DEM-Aufrufe [SWS_Dcm_01412]. Interpretation: Die Funktion dürfte vom BSW-Scheduler zyklisch aufgerufen werden. Frage Q-2dbd09d50c66575f (offen)

Von der Anfrage zur Antwort

Der Empfang verläuft in drei Schritten (SWS DCM S. 55):

  1. Dcm_StartOfReception meldet die Gesamtlänge, den ersten Frame und die Metadaten [SWS_Dcm_00094]. Ist die Anfrage zu groß, liefert der DCM BUFREQ_E_OVFL [SWS_Dcm_00444]. Bei Länge 0 liefert er BUFREQ_E_NOT_OK [SWS_Dcm_00642].
  2. Dcm_CopyRxData kopiert die Segmente in den DCM-Puffer [SWS_Dcm_00443].
  3. Erst nach Dcm_TpRxIndication mit E_OK leitet die DSL die Anfrage an den DSD weiter [SWS_Dcm_00111].

Der DSD prüft die Anfrage in mehreren Stufen:

dsd start Anfrage von DSL sid SID in aktiver Service-Tabelle? start->sid ses In aktueller Sitzung erlaubt? sid->ses ja nrc negative Antwort sid->nrc nein sec Im aktuellen Security-Level erlaubt? ses->sec ja ses->nrc nein mode Modusbedingung erfüllt? sec->mode ja sec->nrc nein ind Xxx_Indication (falls konfiguriert) mode->ind ja mode->nrc nein nrcErr NRC = ErrorCode ind->nrcErr E_NOT_OK keine keine Antwort ind->keine E_REQUEST_NOT_ACCEPTED dsp DSP führt Dienst aus ind->dsp E_OK spr suppressPosRspMsgIndicationBit gesetzt? dsp->spr send Antwort an DSL spr->send nein nopos keine positive Antwort spr->nopos ja, positives Ergebnis

Aktivitätsdiagramm: Der DSD lässt eine Anfrage nur nach bestandenen Prüfungen zum DSP durch; E_REQUEST_NOT_ACCEPTED unterdrückt jede Antwort. Interpretation: Reihenfolge vereinfacht. Quellen: [SWS_Dcm_00197] [SWS_Dcm_00677] [SWS_Dcm_00678] [SWS_Dcm_00200] [SWS_Dcm_00827]

Das Senden der Antwort läuft so ab:

  1. Der DSD beauftragt die DSL mit dem Senden [SWS_Dcm_00114].
  2. Die DSL ruft PduR_DcmTransmit mit der konfigurierten Tx-PDU auf [SWS_Dcm_00115].
  3. Der PduR holt die Daten mit Dcm_CopyTxData [SWS_Dcm_00092].
  4. Dcm_TpTxConfirmation schließt die Übertragung ab [SWS_Dcm_00351].
  5. Die Bestätigung geht an den DSP und anschließend an Xxx_Confirmation [SWS_Dcm_00235] [SWS_Dcm_00741].

Zwei Sonderfälle: Ist das suppressPosRspMsgIndicationBit gesetzt, unterbleibt die positive Antwort [SWS_Dcm_00200]. Bei generischen Verbindungen speichert der DCM die Quelladresse aus den Metadaten [SWS_Dcm_00848] und setzt sie beim Senden als TARGET_ADDRESS_16 [SWS_Dcm_00849].

Bearbeitung einer DiagnoseanfragePduRDSLDSDDSPAnwendungUse Case: EmpfangDcm_StartOfReception(id, info, TpSduLength)BUFREQ_OK, bufferSizePtrloopweitere SegmenteDcm_CopyRxData(id, info, bufferSizePtr)Dcm_TpRxIndication(id, E_OK)Anfrage weiterleiten (nur nach E_OK)SID-, Sitzungs-, Security-und ModusprüfungDienst ausführenXxx-Operation (OpStatus = DCM_INITIAL)E_OK + AusgabedatenAntwortdatenUse Case: SendenSenden anfordernPduR_DcmTransmit(DcmDslProtocolTxPduRef)loopbis Antwort kopiertDcm_CopyTxData()Dcm_TpTxConfirmation(id, E_OK)Bestätigung weiterleitenDspInternal_DcmConfirmation()Xxx_Confirmation() (falls konfiguriert)

Sequenzdiagramm: Empfang, Prüfung, Ausführung und Senden einer Anfrage mit den TP-Callbacks und den Bestätigungen. Quellen: [SWS_Dcm_00094] [SWS_Dcm_00556] [SWS_Dcm_00093] [SWS_Dcm_00092] [SWS_Dcm_00742] SWS DCM S. 479

Anwendungsschnittstellen, OpStatus und Response Pending

Asynchrone Schnittstellen tragen einen Dcm_OpStatusType [SWS_Dcm_00984]:

Ob die synchrone oder die asynchrone Variante gilt, legt die Konfiguration fest (DcmDspDataUsePort). Ein Beispiel ist Xxx_ReadData [SWS_Dcm_00793] [SWS_Dcm_91006].

Braucht die Anwendung mehr Zeit, sendet der DCM NRC 0x78 [SWS_Dcm_00024], um die Zeitschranken P2ServerMax und P2*ServerMax einzuhalten [SWS_Dcm_00027]. Die Zahl solcher Antworten ist begrenzt und konfigurierbar [SWS_Dcm_00120] [SWS_Dcm_01567]. Die Anwendung kann NRC 0x78 auch selbst anstoßen: Sie gibt DCM_E_FORCE_RCRRP zurück und wird nach der Sendebestätigung erneut aufgerufen [SWS_Dcm_00528] [SWS_Dcm_00529]. Speicher-Callouts verhalten sich analog [SWS_Dcm_00839].

Asynchrone Operation und Response PendingTesterDCMAnwendungDiagnoseanfrageXxx-Operation (OpStatus = DCM_INITIAL)DCM_E_PENDINGaltP2ServerMax abgelaufenNRC 0x78 (responsePending)Anwendung liefert DCM_E_FORCE_RCRRPNRC 0x78 sofortnach Sendebestätigung:OpStatus = DCM_FORCE_RCRRP_OKloopbis EndergebnisXxx-Operation (OpStatus = DCM_PENDING)im nächsten MainFunction-ZyklusE_OK oder E_NOT_OK + ErrorCodepositive Antwort oder NRC = ErrorCode

Sequenzdiagramm: Wiederaufruf über OpStatus und die zwei Wege zu NRC 0x78. Quellen: [SWS_Dcm_00530] [SWS_Dcm_00528] [SWS_Dcm_91015] SWS DCM S. 470

Bei InputOutputControlByIdentifier [SWS_Dcm_00256] mit Sender-Receiver-Ports schreibt der DCM den IOOperationRequest und wertet den IOOperationResponse aus. DCM_RESPONSE_PENDING führt zu NRC 0x78, ein positiver Wert zur positiven Antwort [SWS_Dcm_01441] [SWS_Dcm_01439] (SWS DCM S. 186).

Sitzungen, Security Access und Kommunikationsmodi

Sitzungswechsel laufen über Dienst 0x10:

session init Dcm_Init def Default Session (0x01) init->def nondef Non-Default Session (z. B. 0x02, 0x03) def->nondef 0x10 bestätigt: Sitzung + P2 setzen, Modeswitch, ComM_DCM_ActiveDiagnostic nondef->def S3Server-Timeout nondef->def Dcm_ResetToDefaultSession() nondef->def 0x10 Default Session: IO-Controls und periodische DIDs stoppen, ComM_DCM_InactiveDiagnostic nondef->nondef 0x10 anderer Typ

Zustandsdiagramm: Lebenszyklus der Diagnosesitzung mit Übergängen und Begleitaktionen. Quellen: [SWS_Dcm_00034] [SWS_Dcm_00311] [SWS_Dcm_00140] [SWS_Dcm_00520] SWS DCM S. 477

SecurityAccess (0x27) [SWS_Dcm_00252] läuft in zwei Schritten:

Das aktive Level liefert Dcm_GetSecurityLevel [SWS_Dcm_00338].

SecurityAccess (0x27)TesterDCM (DSP)Security-SW-C27 requestSeed (ungerade)altLevel bereits aktivpositive Antwort, Seed = 0x00Level nicht aktivXxx_GetSeed(OpStatus, Seed, ErrorCode)E_OK + Seedpositive Antwort mit Seed27 sendKey (gerade)Xxx_CompareKey(Key, OpStatus, ErrorCode)altE_OKneues Security-Level setzenModeswitch DcmSecurityAccesspositive AntwortDCM_E_COMPARE_KEY_FAILEDFehlversuch zählenggf. Verzögerungstimer startenXxx_SetSecurityAttemptCounter() (falls aktiviert)negative Antwort

Sequenzdiagramm: Seed/Key-Ablauf mit Fehlversuchsbehandlung. Quellen: [SWS_Dcm_00323] [SWS_Dcm_91003] [SWS_Dcm_91004] [SWS_Dcm_00660] [SWS_Dcm_01155]

ComM-Moduswechsel bestimmen, was der DCM senden und empfangen darf:

comm full Full Communication Empfang und Senden, ROE und periodische Übertragung aktiv silent Silent Communication Senden gesperrt (inkl. ROE und periodisch) full->silent Dcm_ComM_SilentComModeEntered nocom No Communication Empfang und Senden gesperrt full->nocom Dcm_ComM_NoComModeEntered silent->full Dcm_ComM_FullComModeEntered silent->nocom Dcm_ComM_NoComModeEntered nocom->full Dcm_ComM_FullComModeEntered nocom->silent Dcm_ComM_SilentComModeEntered

Zustandsdiagramm: Sende- und Empfangsfreigaben des DCM je ComM-Modus. Quellen: [SWS_Dcm_00356] [SWS_Dcm_00358] [SWS_Dcm_00360] SWS DCM S. 478

Response On Event und Sprung in den Bootloader

Jedes ROE-Ereignis hat die Zustände „cleared“, „stopped“ und „started“ [SWS_Dcm_00871] (SWS DCM S. 61):

Ausgelöst wird ein Ereignis durch Dcm_TriggerOnEvent oder Dcm_DemTriggerOnDTCStatus [SWS_Dcm_00920] [SWS_Dcm_00614]. Der zugehörige ServiceToRespondTo läuft dann wie eine normale Anfrage [SWS_Dcm_00922].

roe init Dcm_Init cleared ROE cleared init->cleared stopped ROE stopped cleared->stopped gültiges Setup stopped->cleared clearResponseOnEvent (0x06) started ROE started stopped->started startResponseOnEvent (0x05) started->cleared clearResponseOnEvent (0x06) started->stopped stopResponseOnEvent (0x00) oder Verlassen der Sitzung

Zustandsdiagramm: Lebenszyklus eines RoeEvent. Quellen: [SWS_Dcm_00872] [SWS_Dcm_00873] [SWS_Dcm_00876] [SWS_Dcm_00879] SWS DCM S. 61

Fordert Dienst 0x10 eine Sitzung für einen OEM- oder Zulieferer-Bootloader an [SWS_Dcm_00532] [SWS_Dcm_00592], läuft folgender Ablauf (SWS DCM S. 489):

  1. Der DCM übergibt den Kontext (Dcm_ProgConditionsType) an Dcm_SetProgConditions [SWS_Dcm_00543] [SWS_Dcm_00988].
  2. Bei E_OK schaltet er den Modus DcmEcuReset um [SWS_Dcm_00719].
  3. Nach dem Neustart meldet Dcm_GetProgConditions über Dcm_EcuStartModeType, ob eine Antwort fällig ist [SWS_Dcm_00544] [SWS_Dcm_00987].
Sprung in den BootloaderTesterDCMDCM-Callouts (Integrator)Nutzer DcmEcuReset10 02 (Bootloader-Sitzung)NRC 0x78 (konfigurationsabhängig)Dcm_SetProgConditions(OpStatus, ProgConditions)altE_OKModeswitch DcmEcuReset:JUMPTOBOOTLOADER / JUMPTOSYSSUPPLIERBOOTLOADERReset / Sprung in den BootloaderDCM_E_PENDINGerneuter Aufruf im nächsten MainFunction-ZyklusE_NOT_OKkein Reset, DET-FehlerUse Case: Nach der Rückkehr aus dem BootloaderDcm_GetProgConditions() während Dcm_InitDCM_WARM_START + ProgConditionsoptResponseRequired = TRUEpositive Antwort ($50 / $51)

Sequenzdiagramm: Sprung in den Bootloader und Antwort nach der Rückkehr. Interpretation: Den Reset löst der Nutzer von DcmEcuReset aus. Quellen: [SWS_Dcm_00720] [SWS_Dcm_01184] [SWS_Dcm_01181] [SWS_Dcm_00536] SWS DCM S. 489

Verhalten im Fehlerfall

Fehler werden meist in negative Antworten übersetzt. Wo kein spezieller Code vorgesehen ist, sendet der DCM NRC 0x10 [SWS_Dcm_00271]. Die einzelnen Fälle:

Weiterführende Detailbelege

KI-generierter Leitfaden auf Basis der im Prompt gelieferten Requirements und Dokumentstellen für R20-11; Schaubilder aus späteren Releases dienen nur der Veranschaulichung. Normativ ist allein die Spezifikation.

Diagnostic Communication Manager (DCM)

The DCM implements unified diagnostic services according to ISO 14229-1 (UDS) and ISO 15765-4 (OBD). It manages diagnostic sessions, security levels, and service routing.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

function Dcm_Init [SWS_Dcm_00037] 📄 PDF

void Dcm_Init (const Dcm_ConfigType* ConfigPtr);

Service for basic initialization of DCM module.

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

Die synchrone und nicht-reentrante Funktion Dcm_Init dient der grundlegenden Initialisierung des DCM-Moduls [SWS_Dcm_00037]. Sie nimmt über den Parameter ConfigPtr einen Zeiger auf das Konfigurationsset bei Post-Build-Varianten entgegen und besitzt keinen Rückgabewert [SWS_Dcm_00037]. Während der Ausführung initialisiert das Modul alle globalen DCM-Variablen mit den Werten aus der Konfiguration [SWS_Dcm_00334].

Im Rahmen des Initialisierungsablaufs werden verschiedene Funktionsbereiche und Zustände konfiguriert:

  • DDDID-Verwaltung: Ist der Konfigurationsparameter DcmDDDIDStorage auf FALSE gesetzt, initialisiert das DCM beim Hochlauf alle dynamisch definierten Datenbezeichner (DDDIDs) als nicht vorhanden [SWS_Dcm_00866]. Ist der Parameter auf TRUE gesetzt, werden die DDDID-Definitionen aus dem NvM wiederhergestellt [SWS_Dcm_00867].
  • Response on Event (ROE): Das DCM überführt den Zustand jedes Ereignisses während Dcm_Init in den Status 'ROE cleared' [SWS_Dcm_00872].
  • Authentifizierungsstatus: Wenn DcmDspAuthenticationPersistStateModeRuleRef nicht konfiguriert ist oder die referenzierte Modus-Regel zu false ausgewertet wird, versetzt das Modul alle Authentifizierungszustände in den Zustand 'deauthenticated' [SWS_Dcm_01480].
  • Kommunikationsstatus: Nach Abschluss von Dcm_Init setzt das DCM den Parameter ActiveDiagnostic auf 'DCM_COMM_ACTIVE' [SWS_Dcm_01069].

Hinsichtlich der Ausführungsumgebung ist festgelegt, dass Dcm_Init nicht reentrant ist [SWS_Dcm_00037]. Spezifische Fehlercodes sowie standardisierte Fehlermeldungen an DET oder DEM sind für diesen Initialisierungsdienst in der Schnittstellenspezifikation nicht ausgewiesen [SWS_Dcm_00037].

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

Implementer's Guide folgt (Komplexität I2)

function Dcm_DemTriggerOnDTCStatus [SWS_Dcm_00614] 📄 PDF

Std_ReturnType Dcm_DemTriggerOnDTCStatus (uint32 DTC, Dem_UdsStatusByteType DTCStatusOld, Dem_UdsStatusByteType DTCStatusNew);

Triggers on changes of the UDS status byte. Allows to trigger on ROE Event for subservice On DTCStatusChanged.

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

Verwendung

Die synchrone Schnittstelle Dcm_DemTriggerOnDTCStatus (Service-ID 0x2B) ist über den Header Dcm_Dem.h verfügbar und dient dazu, Änderungen des UDS-Statusbytes an das DCM zu melden [SWS_Dcm_00614]. Dies gestattet dem DCM das Auslösen von Response-on-Event-Ereignissen (ROE) für den Diagnosedienst-Subservice OnDTCStatusChanged [SWS_Dcm_00614]. Beim Aufruf nimmt die Funktion drei Eingabeparameter entgegen: den betroffenen Fehlercode DTC (uint32), den vorherigen Zustand DTCStatusOld (Dem_UdsStatusByteType) sowie den aktualisierten Zustand DTCStatusNew (Dem_UdsStatusByteType) [SWS_Dcm_00614]. Ein- und Ausgabeparameter existieren nicht [SWS_Dcm_00614].

Rückgabewerte und Fehlerbehandlung

Als Rückgabewert liefert die Funktion den Typ Std_ReturnType, wobei laut Spezifikation ausnahmslos E_OK zurückgegeben wird [SWS_Dcm_00614]. Spezifische Fehlercodes, Rückfallwerte oder gesonderte Benachrichtigungen an DEM oder DET sind für diesen Aufruf nicht ausgewiesen.

Nebenläufigkeit und Zusammenspiel

Die Funktion ist als reentrant eingestuft und verfügt über eine synchrone Ausführungssemantik [SWS_Dcm_00614]. Hinsichtlich des Zusammenspiels mit Diagnoseanforderungen gilt eine feste Randbedingung: Falls im DCM aktuell eine Anforderung zum Löschen des Ereignisspeichers (EventMemory) verarbeitet wird, muss das DCM eingehende Aufrufe des Callbacks Dcm_DemTriggerOnDTCStatus ignorieren [SWS_Dcm_01410].

Dieser Nutzungshinweis basiert auf den Spezifikationen des AUTOSAR-Classic-Releases R20-11.

Implementer's Guide folgt (Komplexität I2)

function Dcm_BndMWriteBlockFinish [SWS_Dcm_91088] 📄 PDF

void Dcm_BndMWriteBlockFinish (BndM_BlockIdType BlockId, BndM_ResultType result);

Called by BndM to indicate that a block write operation has finished.

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

Die Funktion Dcm_BndMWriteBlockFinish dient als Benachrichtigungsschnittstelle des BndM an das DCM, um den Abschluss einer Block-Schreiboperation anzuzeigen [SWS_Dcm_91088]. Die Funktion ist in der Header-Datei Dcm.h deklariert, besitzt die Service-ID 0x7a, liefert keinen Rückgabewert (void) und wird synchron ausgeführt [SWS_Dcm_91088].

Die Schnittstelle erwartet zwei Übergabeparameter [SWS_Dcm_91088]:

  • BlockId (Typ: BndM_BlockIdType): Kennzeichnet den Block, dessen Schreibvorgang abgeschlossen wurde.
  • result (Typ: BndM_ResultType): Übermittelt das Ergebnis der Schreiboperation an das DCM.

Das funktionale Zusammenspiel und das Verhalten im Fehlerfall sind an zuvor durch das DCM ausgelöste atomare BndM-Schreiboperationen gekoppelt:

  • Wird Dcm_BndMWriteBlockFinish mit dem Status result = E_OK aufgerufen, sendet das DCM eine positive Diagnoseantwort auf die ausstehende Anforderung [SWS_Dcm_01584].
  • Wird die Funktion mit result = E_NOT_OK aufgerufen, reagiert das DCM im Fehlerfall mit einer negativen Diagnoseantwort 0x72 (generalProgrammingFailure) [SWS_Dcm_01585].

Bezüglich der Nebenläufigkeit ist Dcm_BndMWriteBlockFinish als nicht reentrant (Non Reentrant) spezifiziert [SWS_Dcm_91088]. Aufrufer müssen folglich sicherstellen, dass die Funktion nicht parallel oder unterbrechend durch mehrere Kontexte aufgerufen wird.

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

function Dcm_SetDeauthenticatedRole [SWS_Dcm_91069] 📄 PDF

Std_ReturnType Dcm_SetDeauthenticatedRole (uint16 connectionId, Dcm_AuthenticationRoleType deauthenticatedRole);

Sets a new role used in deauthenticated state for that connection. The set role is valid until the connection switches into authenticated state or the ECU is reset.

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

Verwendung und Aufrufkontext

Die Funktion Dcm_SetDeauthenticatedRole wird synchron und reentrant ausgeführt ([SWS_Dcm_91069]). Sie ermöglicht es einer Softwarekomponente, für eine durch connectionId identifizierte Verbindung eine neue Rolle deauthenticatedRole vom Typ Dcm_AuthenticationRoleType für den deauthentifizierten Zustand zuzuweisen ([SWS_Dcm_91069], [SWS_Dcm_01486]). Als Rückgabewert wird ausnahmslos E_OK geliefert ([SWS_Dcm_91069]).

Zustandsbedingungen und Fehlerbehandlung

Ein Aufruf wird vom DCM ausschließlich verarbeitet, wenn sich die Verbindung im deauthentifizierten Zustand (deauthenticated state) befindet ([SWS_Dcm_01487]). Da die Signatur keine alternativen Fehlerwerte vorsieht und stets E_OK zurückgibt ([SWS_Dcm_91069]), dürfte ein Aufruf außerhalb dieses Zustands vermutlich ohne Fehlermeldung verworfen werden. Frage Q-6f14770eae6ce896 (offen) Spezifische DET- oder DEM-Ereignisse sind in der Spezifikation nicht definiert.

Gültigkeitsdauer und Lebenszyklus

Wird die Rolle für den deauthentifizierten Zustand erfolgreich übernommen ([SWS_Dcm_01486]), bleibt diese Zuweisung temporär bestehen:

  • Die gesetzte Rolle wird verworfen, sobald die Verbindung in den authentifizierten Zustand (authenticated state) wechselt ([SWS_Dcm_01488]).
  • Die Gültigkeit endet spätestens bei einem Reset des Steuergeräts ([SWS_Dcm_91069]).

Dieser Nutzungshinweis wurde automatisch auf Basis der AUTOSAR-Spezifikation generiert.

Implementer's Guide folgt (Komplexität I2)

function Dcm_GetSecurityLevel [SWS_Dcm_00338] 📄 PDF

Std_ReturnType Dcm_GetSecurityLevel (Dcm_SecLevelType* SecLevel);

This function provides the active security level value.

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

Die synchrone und reentrante Funktion Dcm_GetSecurityLevel fragt die aktuell aktive Sicherheitsstufe des DCM ab und stellt diese bereit [SWS_Dcm_00338]. Die Funktion ist über den Header Dcm.h deklariert und übergibt den ermittelten Statuswert über den Ausgabeparameter SecLevel vom Typ Dcm_SecLevelType* an den Aufrufer. Als Rückgabewert wird laut Spezifikation ausnahmslos E_OK zurückgeliefert [SWS_Dcm_00338].

Die Ermittlung der internen Sicherheitsstufe basiert auf dem vom Tester im Rahmen des Dienstes SecurityAccess übermittelten Parameter SecurityAccessType gemäß der festen Umrechnungsformel SecurityLevel = (SecurityAccessType + 1) / 2 [SWS_Dcm_00338].

Im Zusammenspiel mit der übergeordneten Diagnosedienstverarbeitung greift unter anderem das DSP-Submodul auf diesen Wert zurück: Empfängt das Modul eine konfigurierte Anfrage mit dem Subfunktionstyp „requestSeed“ (ungerader Wert) und ist die zugehörige Zugriffsebene laut Dcm_GetSecurityLevel bereits aktiv, setzt das DSP-Submodul den Seed-Inhalt auf 0x00 [SWS_Dcm_00323].

Hinsichtlich Nebenläufigkeit und Fehlerbehandlung ist die Funktion als reentrant definiert [SWS_Dcm_00338]. Da keine spezifischen Fehlercodes oder DET-Prüfungen spezifiziert sind und stets E_OK zurückgegeben wird, dürfte keine Nullzeigerprüfung stattfinden; Aufrufer müssen daher vermutlich stets einen gültigen Zeiger auf Speicherplatz für SecLevel übergeben. Frage Q-5402d82ac0151b22 (offen)

Dieser Text wurde von einer KI erstellt. Angaben können unvollständig sein; maßgeblich ist die AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I1)

function Dcm_ResetToDefaultSession [SWS_Dcm_00520] 📄 PDF

Std_ReturnType Dcm_ResetToDefaultSession (void);

The call to this function allows the application to reset the current session to Default session. Example: Automatic termination of an extended diagnostic session upon exceeding of a speed limit.

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

Die synchrone Funktion Dcm_ResetToDefaultSession ermöglicht es der Applikation, die aktive Diagnosesitzung in die Standard-Sitzung (Default Session) zurückzusetzen [SWS_Dcm_00520]. Ein typischer Anwendungsfall ist die automatische Beendigung einer erweiterten Diagnosesitzung, sobald ein Fahrzeug eine vorgegebene Geschwindigkeitsschwelle überschreitet [SWS_Dcm_00520].

Verwendung und Fehlerbehandlung

  • Schnittstelle und Parameter: Die Funktion ist über Dcm.h mit der Service-ID 0x2a verfügbar, besitzt die Signatur Std_ReturnType Dcm_ResetToDefaultSession (void) und erfordert keine Übergabeparameter [SWS_Dcm_00520].
  • Rückgabewert und Fehler: Als Rückgabetyp wird Std_ReturnType zurückgeliefert, wobei ausnahmslos der Wert E_OK zurückgegeben wird [SWS_Dcm_00520]. Spezifische Fehlercodes, DET-Laufzeitprüfungen oder DEM-Ereignisse sind in den Anforderungen für diesen Aufruf nicht spezifiziert.

Nebenläufigkeit und Zusammenspiel

Die Ausführung erfolgt synchron und ist als reentrant deklariert [SWS_Dcm_00520].

Neben dem eigentlichen Sitzungswechsel stößt Dcm_ResetToDefaultSession zwingend einen Moduswechsel für den ModeDeclarationGroupPrototype DcmDiagnosticSessionControl an [SWS_Dcm_01062]. Hierbei ruft die Funktion intern SchM_Switch_<bsnp>_DcmDiagnosticSessionControl(RTE_MODE_DcmDiagnosticSessionControl_DCM_DEFAULT_SESSION) auf, um die Systemumgebung über den Wechsel in die Standard-Sitzung zu benachrichtigen [SWS_Dcm_01062].

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

Implementer's Guide folgt (Komplexität I1)

function Dcm_TriggerOnEvent [SWS_Dcm_00521] 📄 PDF

Std_ReturnType Dcm_TriggerOnEvent (uint8 RoeEventId);

The call to this function allows to trigger an event linked to a ResponseOnEvent request. On the function call, the DCM will execute the associated service if the corresponding Mode of the Roe EventId is 'ROE started'.

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

Die synchrone Funktion Dcm_TriggerOnEvent (Service-ID 0x2D), bereitgestellt über den Header Dcm.h, dient dem Auslösen eines Ereignisses, das mit einer ResponseOnEvent-Anforderung (ROE) verknüpft ist [SWS_Dcm_00521].

Aufruf und Funktionsweise

Der Aufrufer übergibt als einzigen Parameter RoeEventId (Eingabeparameter vom Typ uint8), welcher das auszulösende Ereignis identifiziert; Ein- oder Ausgabeparameter existieren nicht [SWS_Dcm_00521]. Sobald die Funktion aufgerufen wird, prüft das DCM den Zustand des Ereignisses: Ist das übergebene RoeEvent aktiv, löst das DCM das entsprechende Ereignis aus [SWS_Dcm_00920]. Das DCM führt den mit dem Ereignis assoziierten Dienst aus, sofern der zugehörige Modus der RoeEventId auf ‚ROE started‘ steht [SWS_Dcm_00521].

Rückgabewerte und Validierung

Der Aufruf liefert synchron einen Status vom Typ Std_ReturnType zurück, der über die Gültigkeit des Parameters Auskunft gibt [SWS_Dcm_00521]:

Nebenläufigkeit und Eigenschaften

Die Schnittstelle ist als reentrant spezifiziert [SWS_Dcm_00521]. Sie kann somit nebenläufig aufgerufen werden, um Ereignisse synchron an das DCM zu melden [SWS_Dcm_00521].

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

Implementer's Guide folgt (Komplexität I1)

function Dcm_StartOfReception [SWS_Dcm_00094] 📄 PDF

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

This function is called at the start of receiving an N-SDU. The N-SDU might be fragmented into multiple N-PDUs (FF with one or more following CFs) or might consist of a single N-PDU (SF). The service shall provide the currently available maximum buffer size when invoked with TpSdu Length equal to 0. This function might be called in interrupt context.

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

Die synchrone und reentrante Funktion Dcm_StartOfReception ([SWS_Dcm_00094]) wird von einem Transportprotokollmodul zu Beginn des Empfangs einer N-SDU aufgerufen – sowohl bei Einzelnachrichten (Single Frame, SF) als auch bei segmentierten Nachrichten (First Frame, FF). Sie kann im Interrupt-Kontext aufgerufen werden ([SWS_Dcm_00094]). Der Aufruf bewirkt unter anderem das Stoppen des S3Server-Timers bei Beginn des Empfangs ([SWS_Dcm_00141]).

Über info werden Nutzdaten und Metadaten übergeben; bei generischen Verbindungen werden hierüber unter anderem SOURCE_ADDRESS_16 gespeichert ([SWS_Dcm_00848]) sowie TARGET_ADDRESS_16 geprüft ([SWS_Dcm_01347]). Ist weder Payload noch Metadatum vorhanden, wird NULL_PTR übergeben ([SWS_Dcm_00094]). Über bufferSizePtr meldet die Funktion den verfügbaren Puffer zur Berechnung der Block Size (BS) zurück ([SWS_Dcm_00094]). Bei erfolgreicher Annahme liefert sie BUFREQ_OK, woraufhin Folgedaten über Dcm_CopyRxData kopiert werden ([SWS_Dcm_00443]).

Fehler- und Ablehnungsfälle werden über den Rückgabewert signalisiert:

  • BUFREQ_E_OVFL: Wird zurückgegeben, wenn die angeforderte Länge TpSduLength größer als der im DCM verfügbare Puffer ist ([SWS_Dcm_00094], [SWS_Dcm_00444]). bufferSizePtr bleibt unverändert ([SWS_Dcm_00094]).
  • BUFREQ_E_NOT_OK: Wird zurückgegeben, wenn TpSduLength gleich 0 ist ([SWS_Dcm_00642]) oder eine laufende Anforderung auf derselben Verbindung blockiert ([SWS_Dcm_00557]). Bei einer anderen Verbindung entscheidet der Parameter DcmDslDiagRespOnSecondDeclinedRequest, ob mit BUFREQ_E_NOT_OK abgewiesen ([SWS_Dcm_00790]) oder mit BUFREQ_OK akzeptiert wird ([SWS_Dcm_00788]). Nebenläufige TesterPresent-Anfragen werden ebenfalls mit BUFREQ_OK quittiert ([SWS_Dcm_00557]).

Dieser Text wurde von einer KI erstellt. Alle Angaben basieren ausschließlich auf dem AUTOSAR-R20-11-Spezifikationsauszug.

Implementer's Guide folgt (Komplexität I2)

function Dcm_CopyRxData [SWS_Dcm_00556] 📄 PDF

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

This function is called to provide the received data of an I-PDU segment (N-PDU) to the upper layer. Each call to this function provides the next part of the I-PDU data. The size of the remaining buffer is written to the position indicated by bufferSizePtr. This function might be called in interrupt context.

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

Verwendung

Die synchrone Funktion Dcm_CopyRxData wird aufgerufen, um empfangene Daten eines I-PDU-Segments (N-PDU) an die obere Schicht im DCM zu übergeben [SWS_Dcm_00556]. Jeder Aufruf stellt den nächsten Teil der I-PDU-Daten bereit [SWS_Dcm_00556]. Über den Parameter id wird die empfangene I-PDU identifiziert [SWS_Dcm_00556]. Der Zeiger info stellt über SduDataPtr den Quellpuffer sowie über SduLength die Anzahl der zu kopierenden Bytes bereit [SWS_Dcm_00556]. Nach Abschluss des Kopiervorgangs wird die verbleibende freie Puffergröße im DCM über bufferSizePtr zurückgemeldet [SWS_Dcm_00556], [SWS_Dcm_00443].

Wird Dcm_CopyRxData mit einer SduLength von 0 aufgerufen, dient dies der reinen Pufferabfrage [SWS_Dcm_00556]. In diesem Fall darf SduDataPtr ein NULL_PTR sein; die Funktion gibt BUFREQ_OK zurück und trägt die verbleibende Größe des Empfangspuffers in bufferSizePtr ein [SWS_Dcm_00556], [SWS_Dcm_00996].

Zusammenspiel

Vor dem Kopieren muss Dcm_StartOfReception mit BUFREQ_OK abgeschlossen worden sein; nachfolgende Aufrufe von Dcm_CopyRxData kopieren die Daten aus dem bereitgestellten Puffer in den DCM-Puffer und aktualisieren bufferSizePtr [SWS_Dcm_00443].

Fehlerbehandlung

Die Funktion gibt den Status als BufReq_ReturnType zurück: BUFREQ_OK bestätigt das erfolgreiche Kopieren oder die Pufferabfrage, während BUFREQ_E_NOT_OK anzeigt, dass aufgrund eines Fehlers keine Daten kopiert wurden [SWS_Dcm_00556], [SWS_Dcm_00996].

Nebenläufigkeit und Einschränkungen

Dcm_CopyRxData ist reentrant spezifiziert und darf im Interrupt-Kontext aufgerufen werden [SWS_Dcm_00556]. Die Schnittstelle wird über Dcm.h bereitgestellt [SWS_Dcm_00556].

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

Implementer's Guide folgt (Komplexität I1)

function Dcm_TpRxIndication [SWS_Dcm_00093] 📄 PDF

void Dcm_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. This function might be called in interrupt context.

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

Verwendung und Aufrufkontext

Die synchrone Funktion Dcm_TpRxIndication wird nach dem Empfang einer I-PDU über die TP-API aufgerufen, typischerweise durch das Modul PduR [SWS_Dcm_00093], [SWS_Dcm_00112]. Sie übergibt die PDU-Identifikation (id) sowie das Empfangsergebnis (result) und liefert keinen Rückgabewert zurück [SWS_Dcm_00093]. Da die Funktion reentrant ist und im Interrupt-Kontext aufgerufen werden darf, müssen Aufrufer und Modulzustände für entsprechende Nebenläufigkeit ausgelegt sein [SWS_Dcm_00093].

Verhalten bei fehlerhaftem Empfang

Wird Dcm_TpRxIndication mit einem Ergebniswert aufgerufen, der von E_OK abweicht, darf das Modul Dcm den der referenzierten I-PDU zugewiesenen Puffer nicht auswerten [SWS_Dcm_00344].

Zusammenspiel der Submodule

Das Submodul DSL leitet empfangene Daten ausschließlich dann an das Submodul DSD weiter, wenn der Aufruf mit dem Parameterwert result = E_OK erfolgt ist [SWS_Dcm_00111]. Für Diagnoseanfragen gelten dabei spezifische Regeln:

  • Handelt es sich bei der erfolgreich empfangenen Anfrage (Result = E_OK) um den Befehl TesterPresent mit gesetztem suppressPosRspMsgIndicationBit (SID 0x3E, Subfunktion 0x80), setzt das DSL-Submodul den Session-Timeout-Timer S3Server zurück [SWS_Dcm_00112].
  • In diesem Fall wird die Anfrage durch das DSL-Submodul nicht zur weiteren Interpretation an das DSD-Submodul weitergeleitet [SWS_Dcm_00113].

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

Implementer's Guide folgt (Komplexität I2)

function Dcm_CopyTxData [SWS_Dcm_00092] 📄 PDF

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

This function is called to acquire the transmit data of an I-PDU segment (N-PDU). Each call to this function provides the next part of the I-PDU data unless retry->TpDataState is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry->TxTpDataCnt. The size of the remaining data is written to the position indicated by availableDataPtr. This function might be called in interrupt context.

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

Verwendung und Semantik

Die synchrone und reentrante Funktion Dcm_CopyTxData wird von Modulen der unteren Schicht (wie Transportprotokollen) aufgerufen, um Daten eines I-PDU-Segments (N-PDU) für die Übertragung abzurufen [SWS_Dcm_00092]. Über den Parameter info übergibt der Aufrufer den Zielpuffer SduDataPtr und die gewünschte Bytelänge SduLength. Ein Wert von 0 für SduLength kann genutzt werden, um Statusänderungen über retry zu signalisieren oder die Menge verfügbarer Daten abzufragen; SduDataPtr darf in diesem Fall ein NULL_PTR sein [SWS_Dcm_00092]. Über availableDataPtr meldet das DCM die verbleibende Bytezahl im Sendepuffer, die von TP-Modulen zur Bestimmung nachfolgender Segmentgrößen verwendet werden kann und die Zahl der noch zu sendenden Bytes nicht überschreiten darf [SWS_Dcm_00092], [SWS_Dcm_00350].

Pufferverwaltung und Übertragungswiederholung

Über den Parameter retry wird die Quittierung oder Wiederholung von Daten gesteuert [SWS_Dcm_00092]:

  • Ist retry ein NULL_PTR, dürfen die Daten direkt nach dem Kopiervorgang aus dem Puffer entfernt werden [SWS_Dcm_00092].
  • Bei TP_CONFPENDING müssen zuvor kopierte Daten für eine eventuelle Fehlerbehebung im TP-Puffer verbleiben [SWS_Dcm_00092].
  • TP_DATACONF bestätigt alle vor diesem Aufruf kopierten Daten zur Freigabe [SWS_Dcm_00092].
  • TP_DATARETRY kopiert Daten ab dem Offset TxTpDataCnt relativ zur aktuellen Position erneut [SWS_Dcm_00092].

Rückgabewerte und Fehlerbehandlung

Wurden die Daten erfolgreich und vollständig kopiert, gibt die Funktion BUFREQ_OK zurück [SWS_Dcm_00092], [SWS_Dcm_00346]. Sind nicht genügend Sendedaten verfügbar, wird kein Kopiervorgang durchgeführt und BUFREQ_E_BUSY zurückgegeben; die untere Schicht kann den Aufruf später wiederholen [SWS_Dcm_00092]. Schlägt die Anfrage fehl, liefert die Funktion BUFREQ_E_NOT_OK [SWS_Dcm_00092]. In diesem Fall ist die Sendeanforderung aus PduR_DcmTransmit() noch nicht abgeschlossen; erst ein abschließender Aufruf von Dcm_TpTxConfirmation beendet den Vorgang und ermöglicht neue Übertragungen [SWS_Dcm_00350].

Nebenläufigkeit

Die Funktion ist reentrant und darf auch im Interrupt-Kontext aufgerufen werden [SWS_Dcm_00092].

Dieser Nutzungshinweis basiert auf den Spezifikationen der AUTOSAR-Classic-Plattform Release R20-11.

Implementer's Guide folgt (Komplexität I2)

function Dcm_TpTxConfirmation [SWS_Dcm_00351] 📄 PDF

void Dcm_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 successful or not. This function might be called in interrupt context.

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

Die Callback-Funktion Dcm_TpTxConfirmation ([SWS_Dcm_00351]) wird von der unteren Transportschicht synchron aufgerufen, nachdem eine diagnostische I-PDU auf dem Netzwerk übertragen wurde. Über den Parameter id wird die betroffene I-PDU identifiziert, während result den Erfolg oder Misserfolg des Sendevorgangs meldet ([SWS_Dcm_00351]). Die Funktion besitzt keinen Rückgabewert, ist reentrant und darf explizit im Interrupt-Kontext ausgeführt werden ([SWS_Dcm_00351]).

Beim Aufruf von Dcm_TpTxConfirmation führt das DCM-Modul zentrale Bereinigungs- und Statusübergänge durch:

  • Der zugeordnete Sendepuffer wird entsperrt ([SWS_Dcm_00352]).
  • Laufende Fehlerüberwachungen wie Page-Buffer-Timeouts sowie P2ServerMax- und P2*ServerMax-Timeouts werden gestoppt ([SWS_Dcm_00353]).
  • Die seit dem Empfang (Dcm_TpRxIndication) blockierte DcmPduId der Verbindung wird freigegeben, sodass nachfolgende Anforderungen empfangen werden können ([SWS_Dcm_00241]).
  • Das aktuelle Protokoll wird durch die Bestätigung der DSL-Antwort nicht beendet (kein Aufruf von xxx_StopProtocol) ([SWS_Dcm_00624]).

Im Fehlerfall (wenn result einen Fehler anzeigt oder ein Abbruch nach einem fehlgeschlagenen Dcm_CopyTxData bestätigt wird) verlangt [SWS_Dcm_00350] zwingend diesen abschließenden Aufruf, um den Sendeauftrag formell abzuschließen und neue Übertragungen via PduR_DcmTransmit() zu ermöglichen. Bei einer fehlerhaften Bestätigung darf das DSD-Submodul die Diagnoseantwort nicht erneut senden ([SWS_Dcm_00118]).

Zusätzlich markiert die Bestätigung einer Antwort (ungleich NRC 0x78) den regulären Abschluss eines Diagnose-Requests ([SWS_Dcm_01378]). Nach der Bestätigung einer positiven Antwort auf einen EcuReset ignoriert das DCM während der Reset-Verarbeitung alle weiteren Anfragen ([SWS_Dcm_00834]).

Dieser Text wurde von einer KI erstellt; die Richtigkeit kann nicht garantiert werden.

Implementer's Guide folgt (Komplexität I2)

function Dcm_TxConfirmation [SWS_Dcm_01092] 📄 PDF

void Dcm_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. This function might be called in interrupt context.

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

Verwendung

Die synchrone Schnittstelle Dcm_TxConfirmation (Service-ID 0x40, deklariert in Dcm.h) wird gemäß [SWS_Dcm_01092] durch das unterlagerte Kommunikationsschnittstellenmodul aufgerufen, um das Senden einer PDU zu bestätigen oder das Fehlschlagen der Übertragung zu melden. Die Funktion besitzt keinen Rückgabewert und verarbeitet zwei Eingangsparameter:

  • TxPduId: Bezeichner (PduIdType) der gesendeten PDU.
  • result: Status der Übertragung (Std_ReturnType). Gültige Werte sind E_OK bei erfolgreicher Übertragung sowie E_NOT_OK, falls die Übertragung der PDU gescheitert ist.

Fehlerbehandlung und Statusrückmeldung

Das Ergebnis der Übertragung wird dem DCM direkt über den Parameter result signalisiert ([SWS_Dcm_01092]). Spezifische DET- oder DEM-Fehlermeldungen sind im bereitgestellten Spezifikationsauszug für diese Funktion nicht definiert.

Nebenläufigkeit und Aufrufkontext

Hinsichtlich der Reentranz ist Dcm_TxConfirmation reentrant für Aufrufe mit unterschiedlichen PDU-IDs, jedoch nicht reentrant für dieselbe TxPduId ([SWS_Dcm_01092]). Zu beachten ist, dass der Aufruf durch das unterlagerte Modul im Interrupt-Kontext erfolgen kann ([SWS_Dcm_01092]).

Zusammenspiel

Im Fall einer periodischen Übertragung (PeriodicTransmission) wird das DCM gemäß [SWS_Dcm_01073] über Dcm_TxConfirmation aufgerufen, um das jeweilige Sendeergebnis mitgeteilt zu bekommen.

Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Spezifikation für R20-11 erstellt.

Implementer's Guide folgt (Komplexität I1)

function Dcm_ComM_NoComModeEntered [SWS_Dcm_00356] 📄 PDF

void Dcm_ComM_NoComModeEntered (uint8 NetworkId);

This call informs the Dcm module about a ComM mode change to COMM_NO_ COMMUNICATION.

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

Die synchrone und reentrante Funktion Dcm_ComM_NoComModeEntered (Service-ID 0x21) informiert das DCM-Modul über den Wechsel eines Kommunikationsnetzwerks in den Zustand COMM_NO_COMMUNICATION [SWS_Dcm_00356]. Die Schnittstelle wird über den Header Dcm_ComM.h bereitgestellt, besitzt keinen Rückgabewert und identifiziert das betroffene Netzwerk über den Eingangsparameter NetworkId vom Typ uint8 [SWS_Dcm_00356].

Mit dem Aufruf schaltet das DCM jegliche Kommunikation auf dem angegebenen Netzwerk ab, sodass sowohl der Empfang als auch das Senden von Nachrichten vollständig deaktiviert werden [SWS_Dcm_00148]. Dies schließt folgende Übertragungsarten verbindlich ein:

  • Unterbindung von ResponseOnEvent-Übertragungen [SWS_Dcm_00149],
  • Deaktivierung periodischer Übertragungen über ReadDataByPeriodicIdentifier (periodicId) [SWS_Dcm_00150] sowie
  • Abschaltung normaler Übertragungen [SWS_Dcm_00151].

Infolgedessen darf das DCM-Modul nach Ausführung von Dcm_ComM_NoComModeEntered für diesen Kontext nicht mehr die PduR-Funktion PduR_DcmTransmit() aufrufen [SWS_Dcm_00152].

Wird die Funktion mit einer NetworkId aufgerufen, die keinem im DCM über den Konfigurationsparameter DcmDslProtocolComMChannelRef referenzierten ComM-Kanal entspricht, führt das DCM-Modul keinerlei Aktionen durch und kehrt unverzüglich zurück [SWS_Dcm_01324].

Dieser Text wurde von einer KI erstellt und durch autodocs qualitätsgesichert.

Implementer's Guide folgt (Komplexität I2)

function Dcm_ComM_SilentComModeEntered [SWS_Dcm_00358] 📄 PDF

void Dcm_ComM_SilentComModeEntered (uint8 NetworkId);

This call informs the Dcm module about a ComM mode change to COMM_SILENT_ COMMUNICATION.

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

Die synchrone und reentrante Funktion Dcm_ComM_SilentComModeEntered ([SWS_Dcm_00358]) dient dazu, das DCM-Modul über den Wechsel eines Kommunikationsnetzwerks in den Zustand COMM_SILENT_COMMUNICATION zu informieren. Die Schnittstelle besitzt die Service-ID 0x22, liefert keinen Rückgabewert und erwartet als Eingangsparameter NetworkId den Bezeichner des betroffenen Netzwerks ([SWS_Dcm_00358]). Sie wird über die Header-Datei Dcm_ComM.h zur Verfügung gestellt ([SWS_Dcm_00358]).

Sobald dieser Aufruf erfolgt, muss das DCM sämtliche Sendeaktivitäten auf dem betroffenen Netzwerkkanal vollständig einstellen ([SWS_Dcm_00153]). Dies beinhaltet im Detail folgende Maßnahmen:

  • die Deaktivierung aller normalen Übertragungen ([SWS_Dcm_00156]),
  • das Unterbinden von Response-on-Event-Übertragungen ([SWS_Dcm_00154]) sowie
  • das Deaktivieren periodischer Aussendungen im Rahmen von ReadDataByPeriodicIdentifier ([SWS_Dcm_00155]).

Hinsichtlich der Fehlerbehandlung und Randbedingungen ist festgelegt, dass das DCM ohne jede weitere Aktion zurückkehren muss, falls die übergebene NetworkId einem ComM-Kanal entspricht, der im DCM nicht über den Konfigurationsparameter DcmDslProtocolComMChannelRef referenziert wird ([SWS_Dcm_01325]). Spezifische Entwicklungsfehler oder Fehlerrückgabewerte sind für diesen Aufruf nicht spezifiziert.

Interpretation: Der Aufruf dürfte typischerweise durch das Modul ComM erfolgen, sobald der Übergang in den stillen Kommunikationsmodus vollzogen wird. Frage Q-fc9b6303ae0c0e41 (offen)

Dieser Nutzungshinweis wurde durch ein KI-System generiert und stützt sich ausschließlich auf die AUTOSAR-Spezifikation R20-11.

Implementer's Guide folgt (Komplexität I2)

function Dcm_ComM_FullComModeEntered [SWS_Dcm_00360] 📄 PDF

void Dcm_ComM_FullComModeEntered (uint8 NetworkId);

This call informs the Dcm module about a ComM mode change to COMM_FULL_ COMMUNICATION.

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

Die synchrone und reentrante Funktion Dcm_ComM_FullComModeEntered wird über die Header-Datei Dcm_ComM.h bereitgestellt und informiert das DCM-Modul über den Wechsel eines Kommunikationsnetzwerks in den Zustand COMM_FULL_COMMUNICATION [SWS_Dcm_00360]. Als Eingabeparameter dient NetworkId, welche das vom Moduswechsel betroffene Netzwerk identifiziert [SWS_Dcm_00360].

Durch den Aufruf wird jegliche Kommunikation für dieses Netzwerk aktiviert, sodass sowohl der Nachrichtenempfang als auch das Senden freigegeben sind [SWS_Dcm_00157]. Dies schließt folgende Übertragungsarten ein:

Sobald Dcm_ComM_FullComModeEntered aufgerufen wurde, verarbeitet das DCM die internen Funktionen DslInternal_ResponseOnOneDataByPeriodicId() und DslInternal_ResponseOnOneEvent() ohne Einschränkungen [SWS_Dcm_00162]. Im zeitlichen Ablauf muss das DCM diesen Aufruf abwarten, bevor die Übertragung einer Diagnoseantwort eingeleitet wird; die Wartezeit darf ab dem Zeitpunkt des Anfrageeingangs nicht länger als P2ServerMax sein [SWS_Dcm_01142].

Im Fehlerfall, wenn die übergebene NetworkId einen ComM-Kanal betrifft, der im DCM nicht konfiguriert ist (Parameter DcmDslProtocolComMChannelRef), kehrt die Funktion unmittelbar und ohne weitere Aktionen zurück [SWS_Dcm_01326].

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

Implementer's Guide folgt (Komplexität I2)

function Dcm_CsmAsyncJobFinished [SWS_Dcm_91076] 📄 PDF

Std_ReturnType Dcm_CsmAsyncJobFinished (Csm_ResultType result);

Can be called from Csm upon finishing an asynchronous job processing. The integrator will configure this name as callback function within the Csm ECUC configuration for asynchronous jobs. Only one such callback is available, the Dcm detects the job that has finished by evaluating the job parameter. API availability: This API will be available only if ({ecuc(Dcm/Dcm Dsp/DcmDspAuthentication/DcmDspAuthenticationConnection} != null).

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

Verwendung und Semantik

Die synchrone und reentrante Callback-Funktion Dcm_CsmAsyncJobFinished wird vom Crypto Service Manager (CSM) aufgerufen, sobald eine asynchrone Auftragsverarbeitung abgeschlossen ist [SWS_Dcm_91076]. Als Eingabeparameter nimmt sie über result vom Typ Csm_ResultType das Ergebnis des beendeten CSM-Jobs entgegen [SWS_Dcm_91076]. Als Rückgabewert liefert die Funktion stets E_OK zurück [SWS_Dcm_91076].

Konfiguration und Randbedingungen

Integratoren müssen den Namen dieser Funktion in der ECUC-Konfiguration des CSM als Callback für asynchrone Jobs konfigurieren [SWS_Dcm_91076]. Für das DCM steht ausschließlich ein einziger solcher Callback zur Verfügung; die Identifikation des beendeten Auftrags erfolgt laut Spezifikation durch Auswertung des Job-Parameters [SWS_Dcm_91076]. Da die C-Funktionssignatur jedoch lediglich result übergibt, dürfte das DCM den zugehörigen Auftrag intern über den Transaktionszustand der laufenden Authentifizierung ermitteln. Frage Q-04ad1d5fb514f467 (offen)

Die Schnittstelle steht nur zur Verfügung, wenn in der Konfiguration der Parameter DcmDspAuthenticationConnection gesetzt ist (ungleich null) [SWS_Dcm_91076]. Spezifische Fehlerbehandlungen oder DET-Meldungen sind für diesen Aufruf nicht spezifiziert, da der Rückgabewert unveränderlich E_OK ist [SWS_Dcm_91076].

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

Implementer's Guide folgt (Komplexität I1)

function Dcm_KeyMAsyncCertificateVerifyFinished [SWS_Dcm_91077] 📄 PDF

Std_ReturnType Dcm_KeyMAsyncCertificateVerifyFinished (KeyM_CertificateIdType CertID, KeyM_CertificateStatusType Result);

Can be called from Key upon finishing an asynchronous certificate verification. The integrator will configure this name as callback function within the KeyM ECUC configuration for asynchronous jobs. Only one such callback is available, the Dcm detects the certificate that has finished by evaluating the certId parameter. API availability: This API will be available only if ({ecuc(Dcm/DcmDsp/DcmDspAuthentication/DcmDspAuthenticationConnection} != null).

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

Die synchrone und reentrante Callback-Funktion Dcm_KeyMAsyncCertificateVerifyFinished wird vom Modul KeyM nach Abschluss einer asynchronen Zertifikatsverifizierung aufgerufen [SWS_Dcm_91077]. Sie informiert das DCM über den Abschluss sowie das Resultat des Prüfvorgangs und liefert als Rückgabewert stets E_OK [SWS_Dcm_91077].

Parameter und Funktionsweise

  • CertID: Kennung des Zertifikats, dessen Verifizierung abgeschlossen wurde. Anhand dieses Identifikators ermittelt das DCM, welcher Prüfauftrag beendet wurde [SWS_Dcm_91077].
  • Result: Rückgabewert und Status des asynchronen Verifizierungsauftrags aus dem KeyM [SWS_Dcm_91077].

Konfiguration und Randbedingungen

Integratoren müssen diesen Funktionsnamen in der ECUC-Konfiguration des KeyM als Callback für asynchrone Jobs konfigurieren [SWS_Dcm_91077]. Da für diese Benachrichtigung nur ein einziger Callback bereitsteht, ist das DCM darauf angewiesen, das jeweilige Zertifikat über den Parameter CertID aufzulösen [SWS_Dcm_91077].

Die Schnittstelle steht ausschließlich zur Verfügung, wenn der Konfigurationsparameter DcmDspAuthenticationConnection im Pfad Dcm/DcmDsp/DcmDspAuthentication konfiguriert ist (!= null) [SWS_Dcm_91077]. Besondere Fehlercodes oder DET-Meldungen sind für diesen Aufruf nicht spezifiziert [SWS_Dcm_91077].

Dieser Nutzungshinweis wurde automatisiert generiert.

Implementer's Guide folgt (Komplexität I2)

function Dcm_ReadMemory [SWS_Dcm_00539] 📄 PDF

Dcm_ReturnReadMemoryType Dcm_ReadMemory (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint8* MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);

The Dcm_ReadMemory callout is used to request memory data identified by the parameter memoryAddress and memorySize from the UDS request message. This service is needed for the implementation of UDS services: • ReadMemoryByAddress • RequestUpload • ReadDataByIdentifier (in case of Dynamical DID defined by memory address) • TransferData

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

Die Callout-Funktion Dcm_ReadMemory ([SWS_Dcm_00539]), deklariert in Dcm_Externals.h, dient dem DCM zum Auslesen von Server-Speicherdaten anhand von Startadresse (MemoryAddress) und Bytegröße (MemorySize). Die Funktion wird für die UDS-Dienste ReadMemoryByAddress (0x23) ([SWS_Dcm_00495]), ReadDataByIdentifier (0x22) für dynamische DIDs im Adressbereich 0xF200 bis 0xF3FF ([SWS_Dcm_00653]), RequestUpload sowie TransferData benötigt ([SWS_Dcm_00539]). Wird der Parameter MemoryIdentifier nicht verwendet, muss er auf 0 gesetzt werden ([SWS_Dcm_00539]).

Die Schnittstelle ist asynchron und nicht reentrant ([SWS_Dcm_00539]). Der Aufrufstatus wird über OpStatus mit den Werten DCM_INITIAL, DCM_PENDING, DCM_CANCEL oder DCM_FORCE_RCRRP_OK übergeben. Solange der Lesevorgang andauert, gibt die Funktion DCM_READ_PENDING zurück ([SWS_Dcm_00985]). Liefert der Aufruf DCM_READ_FORCE_RCRRP zurück, stößt das DCM unverzüglich das Senden einer RCR-RP-Nachricht (NRC 0x78) an und pausiert weitere Aufrufe bis zur Sendebestätigung ([SWS_Dcm_00839]). Nach Bestätigung der RCR-RP ruft das DCM die Funktion aus Dcm_MainFunction erneut mit OpStatus = DCM_FORCE_RCRRP_OK auf ([SWS_Dcm_00840]).

Im Erfolgsfall werden die ausgelesenen Daten in den Puffer MemoryData geschrieben und DCM_READ_OK zurückgegeben ([SWS_Dcm_00539], [SWS_Dcm_00985]). Schlägt die Operation fehl, liefert die Funktion DCM_READ_FAILED zurück und setzt ErrorCode. Das DCM sendet daraufhin eine negative Antwort mit dem entsprechenden NRC-Wert ([SWS_Dcm_00644]).

Automatisch generierter Nutzungshinweis auf Basis der AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I2)

function Dcm_WriteMemory [SWS_Dcm_00540] 📄 PDF

Dcm_ReturnWriteMemoryType Dcm_WriteMemory (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, const uint8* MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);

The Dcm_WriteMemory callout is used to write memory data identified by the parameter memoryAddress and memorySize. This service is needed for the implementation of UDS services : • WriteMemoryByAddress • RequestDownload • TransferData

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

Die in Dcm_Externals.h deklarierte Callout-Funktion Dcm_WriteMemory wird vom DCM asynchron und nicht-reentrant aufgerufen, um Speicherdaten anhand von Startadresse und Bytegröße zu schreiben [SWS_Dcm_00540]. Sie dient der Implementierung der UDS-Dienste WriteMemoryByAddress (0x3D), RequestDownload und TransferData [SWS_Dcm_00540]. Beim Empfang von WriteMemoryByAddress ruft das DCM den Callout erst nach Prüfung der Anfrage auf [SWS_Dcm_00491].

Zur Steuerung des Ablaufs wird OpStatus übergeben (mögliche Werte: DCM_INITIAL, DCM_PENDING, DCM_CANCEL oder DCM_FORCE_RCRRP_OK) [SWS_Dcm_00540]. Die Parameter MemoryAddress und MemorySize bestimmen den Zielspeicherbereich, während MemoryData auf den Diagnosepuffer des DCM zeigt [SWS_Dcm_00540]. Werden MemoryIdentifier oder MemoryAddress (beispielsweise bei komprimierten Daten) nicht genutzt, müssen diese auf 0 gesetzt werden [SWS_Dcm_00540].

Der Rückgabewert Dcm_ReturnWriteMemoryType [SWS_Dcm_00986] definiert die weitere Verarbeitung im DCM:

  • DCM_WRITE_OK: Der Schreibvorgang war erfolgreich [SWS_Dcm_00540], [SWS_Dcm_00986].
  • DCM_WRITE_PENDING: Die Operation ist noch nicht abgeschlossen und erfordert Folgeaufrufe [SWS_Dcm_00540], [SWS_Dcm_00986].
  • DCM_WRITE_FORCE_RCRRP: Das DCM initiiert unverzüglich das Senden einer Response Pending (NRC 0x78) und setzt weitere Aufrufe bis zur Sendebestätigung aus [SWS_Dcm_00837]. Danach erfolgt der Neuaufruf aus Dcm_MainFunction mit DCM_FORCE_RCRRP_OK [SWS_Dcm_00838].
  • DCM_WRITE_FAILED: Bei einem Fehler sendet das DCM eine negative Antwort mit dem über den Ausgabeparameter ErrorCode übergebenen NRC-Wert [SWS_Dcm_00540], [SWS_Dcm_00643].

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

Implementer's Guide folgt (Komplexität I2)

function Dcm_SetProgConditions [SWS_Dcm_00543] 📄 PDF

Std_ReturnType Dcm_SetProgConditions (Dcm_OpStatusType OpStatus, const Dcm_ProgConditionsType* ProgConditions);

The Dcm_SetProgConditions callout allows the integrator to store relevant information prior to jumping to bootloader / jump due to ECUReset request. The context parameter are defined in Dcm_ProgConditionsType.

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

Die Callout-Funktion Dcm_SetProgConditions ermöglicht dem Integrator das persistente Sichern relevanter Informationen vor einem Wechsel in den Bootloader oder einem Reset infolge einer ECUReset-Anforderung [SWS_Dcm_00543]. Die relevanten Kontextdaten werden über einen Zeiger auf die Struktur Dcm_ProgConditionsType übergeben, welche unter anderem Verbindungs- und Tester-Quelladressen, Dienst- und Subfunktions-IDs sowie Steuerungs-Flags wie ReprogramingRequest und ResponseRequired bündelt [SWS_Dcm_00988]. Bei Empfang eines UDS-Dienstes 0x10 mit Subfunktion 0x02 setzt das DCM diese Flags und ruft die Schnittstelle auf [SWS_Dcm_01182].

Der Aufruf erfolgt asynchron und ist nicht reentrant (Non Reentrant) [SWS_Dcm_00543]. Über den Parameter OpStatus werden die Zustände DCM_INITIAL, DCM_PENDING, DCM_CANCEL oder DCM_FORCE_RCRRP_OK gesteuert [SWS_Dcm_00543]. Sofern die Ausführung andauert und die Funktion DCM_E_PENDING zurückgibt, ruft das DCM die Schnittstelle im nächsten Hauptfunktionszyklus erneut auf, um das Setzen abzuschließen [SWS_Dcm_00543], [SWS_Dcm_01184]. Mittels DCM_E_FORCE_RCRRP kann die Übertragung einer Response-Pending-Antwort (NRC 0x78) erzwungen werden [SWS_Dcm_00543]. Abhängig von der Konfiguration erfolgt der Aufruf durch das DCM erst nach erfolgreicher Übertragung von NRC 0x78 [SWS_Dcm_00535].

Wurden die Bedingungen fehlerfrei gesetzt und liefert das Callout E_OK zurück, stößt das DCM den Moduswechsel des ModeDeclarationGroupPrototype DcmEcuReset nach EXECUTE an [SWS_Dcm_00719], [SWS_Dcm_01163], [SWS_Dcm_01180]. Kann der Zustand hingegen nicht gesichert werden und antwortet die Funktion mit E_NOT_OK, unterbleiben der Reset sowie der Bootloader-Sprung, der Moduswechsel wird unterbunden und das DCM sendet die negative Antwort NRC 0x22 (Conditions not correct) [SWS_Dcm_00715], [SWS_Dcm_01181].

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

Implementer's Guide folgt (Komplexität I2)

function Dcm_GetProgConditions [SWS_Dcm_00544] 📄 PDF

Dcm_EcuStartModeType Dcm_GetProgConditions (Dcm_ProgConditionsType* ProgConditions);

The Dcm_GetProgConditions callout is called upon Dcm initialization and allows to determine if a response ($50 or $51) has to be sent. The context parameters are defined in Dcm_Prog ConditionsType.

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

Die Callout-Funktion Dcm_GetProgConditions mit der Service-ID 0x62 wird während der Initialisierung des DCM aufgerufen, um festzustellen, ob eine ausstehende Diagnoseantwort auf Dienst $50 oder $51 gesendet werden muss [SWS_Dcm_00544]. Die Deklaration der Schnittstelle wird über die Header-Datei Dcm_Externals.h bereitgestellt [SWS_Dcm_00544].

Verwendung und Parameter

Die Funktionsausführung erfolgt synchron, wobei keine regulären Eingabe- oder Ein-/Ausgabeparameter übergeben werden [SWS_Dcm_00544]:

  • Ausgabeparameter: Über den Zeiger ProgConditions vom Typ Dcm_ProgConditionsType* liefert der Callout die Bedingungen zurück, unter denen der vorherige Sprung aus dem Bootloader angefordert wurde [SWS_Dcm_00544]. Die relevanten Kontextparameter sind im Datentyp Dcm_ProgConditionsType hinterlegt [SWS_Dcm_00544].
  • Rückgabewert: Die Funktion gibt einen Statuswert vom Typ Dcm_EcuStartModeType an den Aufrufer zurück [SWS_Dcm_00544].

Nebenläufigkeit und Fehlerbehandlung

Die Funktion ist als nicht reentrant (Non Reentrant) eingestuft und darf daher nicht nebenläufig ausgeführt werden [SWS_Dcm_00544]. Für diesen Callout sind in der Schnittstellenspezifikation keine spezifischen Fehlercodes für DET oder DEM definiert [SWS_Dcm_00544].

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

Implementer's Guide folgt (Komplexität I1)

function Dcm_ProcessRequestAddFile [SWS_Dcm_91078] 📄 PDF

Std_ReturnType Dcm_ProcessRequestAddFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint8 dataFormatIdentifier, uint64 fileSizeUncompressed, uint64 fileSizeCompressed, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x01 (AddFile).

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

Die Callout-Funktion Dcm_ProcessRequestAddFile wird vom DCM aufgerufen, um den Dienst RequestFileTransfer mit der Betriebsart 0x01 (AddFile) zu initiieren ([SWS_Dcm_91078]). Sie ist über Dcm_Externals.h verfügbar, besitzt die Service-ID 0x72 und ist als nicht reentrant (Non Reentrant) sowie asynchron spezifiziert ([SWS_Dcm_91078]).

Die Steuerung des asynchronen Aufrufablaufs erfolgt über den Parameter OpStatus:

  • DCM_INITIAL: Alle Eingangsparameter sind gültig. Hierzu zählen Dateipfad und -name (filePathAndName mit filePathAndNameLength), das Byte dataFormatIdentifier (High-Nibble für Kompression, Low-Nibble für Verschlüsselung) sowie die unkomprimierte und komprimierte Dateigröße (fileSizeUncompressed, fileSizeCompressed) ([SWS_Dcm_91078]).
  • DCM_PENDING, DCM_CANCEL und DCM_FORCE_RCRRP_OK: In diesen Folgeaufrufen sind sämtliche Eingangsparameter auf 0x00 gesetzt ([SWS_Dcm_91078]).

Als Rückgabewerte liefert die Funktion E_OK bei erfolgreicher Ausführung, DCM_E_PENDING bei andauernder Bearbeitung oder DCM_E_FORCE_RCRRP, wenn die Applikation das Senden einer vorläufigen Antwort (NRC 0x78) anfordert ([SWS_Dcm_91078], [SWS_Dcm_91086]). Im Erfolgsfall definiert maxNumberOfBlockLength die maximal zulässige Blocklänge künftiger TransferData-Nachrichten ohne SID und Block-Zähler ([SWS_Dcm_91078]).

Im Fehlerfall liefert die Funktion E_NOT_OK zurück. In diesem Fall muss über den Parameter ErrorCode ein negativer Antwortcode (NRC) übergeben werden, den das DCM in einer negativen Diagnoseantwort an den Client sendet ([SWS_Dcm_91078]). Ist die Konfiguration DcmRequestFileTransferUsePort aktiviert, wird diese Funktionalität alternativ als Port-Operation ProcessRequestAddFile des Interfaces RequestFileTransfer bereitgestellt ([SWS_Dcm_91086]).

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

Implementer's Guide folgt (Komplexität I2)

function Dcm_ProcessRequestDeleteFile [SWS_Dcm_91079] 📄 PDF

Std_ReturnType Dcm_ProcessRequestDeleteFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x02 (DeleteFile). Manager

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

Verwendung und Aufrufsemantik

Die Callout-Funktion Dcm_ProcessRequestDeleteFile wird vom DCM aufgerufen, um im Rahmen des Diagnose-Dienstes RequestFileTransfer das Löschen einer Datei (modeOfOperation = 0x02) auf dem Server zu initiieren [SWS_Dcm_91079]. Die Funktion ist in Dcm_Externals.h deklariert und arbeitet asynchron sowie nicht reentrant (Non Reentrant) [SWS_Dcm_91079].

Die Übergabe und Auswertung erfolgt anhand des Parameters OpStatus:

  • DCM_INITIAL: Zeigt den Start der Operation an. Hierbei sind alle Eingangsparameter gültig; filePathAndName übergibt den Speicherort und Namen der zu löschenden Datei, dessen Bytelänge über filePathAndNameLength spezifiziert ist [SWS_Dcm_91079].
  • DCM_PENDING, DCM_CANCEL oder DCM_FORCE_RCRRP_OK: Bei fortlaufender Verarbeitung oder Abbruch sind alle Eingangsparameter auf 0x00 gesetzt [SWS_Dcm_91079].

Als Rückgabewerte liefert die Funktion E_OK bei erfolgreicher Durchführung, DCM_E_PENDING, falls die Ausführung noch andauert und weitere Aufrufe benötigt, oder DCM_E_FORCE_RCRRP, wenn die Applikation das Senden einer Zwischennachricht mit NRC 0x78 (Response Pending) anfordert [SWS_Dcm_91079], analog zum Dienst RequestFileTransfer [SWS_Dcm_91086].

Fehlerbehandlung

Schlägt die Verarbeitung fehl, gibt die Funktion E_NOT_OK zurück. In diesem Fall muss über den Ausgabeparameter ErrorCode ein negativer Antwortcode bereitgestellt werden, den das DCM als negative Rückmeldung (NRC) an den Tester übermittelt [SWS_Dcm_91079].

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

Implementer's Guide folgt (Komplexität I2)

function Dcm_ProcessRequestReplaceFile [SWS_Dcm_91080] 📄 PDF

Std_ReturnType Dcm_ProcessRequestReplaceFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint8 dataFormatIdentifier, uint64 fileSizeUncompressed, uint64 fileSizeCompressed, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x03 (ReplaceFile).

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

Die Callout-Funktion Dcm_ProcessRequestReplaceFile wird vom DCM aufgerufen, um einen Diagnoseprozess für RequestFileTransfer mit der Betriebsart 0x03 (ReplaceFile) zu initiieren [SWS_Dcm_91080]. Die Funktion ist als nicht reentrant (Non Reentrant) und asynchron definiert und wird über den Header Dcm_Externals.h bereitgestellt [SWS_Dcm_91080].

Die Steuerung des asynchronen Verarbeitungsablaufs erfolgt über den Parameter OpStatus:

  • Beim Initialaufruf mit DCM_INITIAL übergibt das DCM alle Eingabeparameter gültig, darunter Pfad und Dateiname (filePathAndName mit Längenangabe filePathAndNameLength), die Kennung für Kompression und Verschlüsselung (dataFormatIdentifier) sowie die unkomprimierte und komprimierte Dateigröße (fileSizeUncompressed, fileSizeCompressed) [SWS_Dcm_91080].
  • Bei Folgeaufrufen oder einem Abbruch (DCM_PENDING, DCM_CANCEL, DCM_FORCE_RCRRP_OK) sind alle In-Parameter auf 0x00 gesetzt [SWS_Dcm_91080].
  • Im Erfolgsfall gibt die Funktion über den Out-Parameter maxNumberOfBlockLength die maximale Nutzdatenlänge für nachfolgende TransferData-Anfragen (ohne SID und Blockfolgezähler) an das DCM zurück [SWS_Dcm_91080].

Als Rückgabewerte sind E_OK bei erfolgreicher Ausführung, DCM_E_PENDING bei noch andauernder Bearbeitung sowie DCM_E_FORCE_RCRRP zum Anfordern einer Response-Pending-Rückmeldung (NRC 0x78) vorgesehen [SWS_Dcm_91080], [SWS_Dcm_91086]. Schlägt die Ausführung fehl, gibt die Funktion E_NOT_OK zurück und weist dem Parameter ErrorCode den entsprechenden negativen Diagnoseantwortcode (NRC) zu, den das DCM an den Tester übermittelt [SWS_Dcm_91080].

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

Implementer's Guide folgt (Komplexität I2)

function Dcm_ProcessRequestReadFile [SWS_Dcm_91081] 📄 PDF

Std_ReturnType Dcm_ProcessRequestReadFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint8 dataFormatIdentifier, uint64 fileSizeUncompressed, uint64 fileSizeCompressed, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x04 (ReadFile).

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

Die Callout-Funktion Dcm_ProcessRequestReadFile wird vom DCM aufgerufen, um einen File-Transfer-Prozess (Service RequestFileTransfer) mit der Betriebsart ReadFile (modeOfOperation 0x04) zu starten [SWS_Dcm_91081]. Die Funktion ist im Header Dcm_Externals.h deklariert, arbeitet asynchron und ist nicht reentrant (Non Reentrant) [SWS_Dcm_91081].

Der Aufruf erfolgt über den Statusparameter OpStatus: Beim Initialaufruf DCM_INITIAL sind alle Eingabeparameter gültig, während sie bei Folgeaufrufen mit DCM_PENDING, DCM_CANCEL oder DCM_FORCE_RCRRP_OK auf 0x00 gesetzt werden [SWS_Dcm_91081]. Die Anwendung erhält Pfad und Dateinamen über filePathAndName (Länge in filePathAndNameLength), das Format zur Kompression und Verschlüsselung über dataFormatIdentifier sowie die Dateigrößen über fileSizeUncompressed und fileSizeCompressed [SWS_Dcm_91081]. Als Ausgabeparameter muss die Anwendung maxNumberOfBlockLength mit der maximalen Byte-Anzahl für nachfolgende TransferData-Antworten (ohne SID und Block-Sequenzzähler) belegen [SWS_Dcm_91081].

Als Rückgabewerte von Std_ReturnType sind E_OK bei erfolgreicher Ausführung, DCM_E_PENDING bei noch andauernder asynchroner Verarbeitung oder DCM_E_FORCE_RCRRP zur Anforderung einer „Response Pending“-Antwort (NRC 0x78) definiert [SWS_Dcm_91081]. Schlägt die Operation fehl, liefert sie E_NOT_OK; in diesem Fall übermittelt das DCM eine negative Antwort mit dem im Ausgabeparameter ErrorCode gesetzten NRC-Wert an den Tester [SWS_Dcm_91081]. Das Zusammenspiel entspricht der allgemeinen Abwicklung des Dienstes RequestFileTransfer, wie er analog für andere Dateioperationen wie ProcessRequestAddFile konfiguriert wird [SWS_Dcm_91086].

Dieser Text wurde durch ein KI-System generiert und stützt sich ausschließlich auf die Spezifikation AUTOSAR Classic R20-11.

Implementer's Guide folgt (Komplexität I2)

function Dcm_ProcessRequestReadDir [SWS_Dcm_91082] 📄 PDF

Std_ReturnType Dcm_ProcessRequestReadDir (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint64* dirInfoLength, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x05 (ReadDir).

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

Verwendung

Die Callout-Funktion Dcm_ProcessRequestReadDir wird über die Header-Datei Dcm_Externals.h deklariert und vom DCM aufgerufen, um den Dienst RequestFileTransfer mit dem Betriebsmodus 0x05 (ReadDir) asynchron zu starten [SWS_Dcm_91082]. Der Verarbeitungsfortschritt wird über den Übergabeparameter OpStatus gesteuert [SWS_Dcm_91082]. Beim Erstaufruf mit DCM_INITIAL übergibt das DCM den Pfad bzw. Namen über filePathAndName zusammen mit der Byte-Länge filePathAndNameLength [SWS_Dcm_91082]. Bei nachfolgenden Aufrufen oder bei einem Abbruch (DCM_PENDING, DCM_CANCEL, DCM_FORCE_RCRRP_OK) sind alle Eingangsparameter auf 0x00 gesetzt [SWS_Dcm_91082].

Als Ausgabewerte muss die Anwendung die Größe der Verzeichnisdaten über dirInfoLength und die maximal zulässige Blockgröße für nachfolgende Übertragungen über maxNumberOfBlockLength bereitstellen [SWS_Dcm_91082]. Neben E_OK bei erfolgreicher Ausführung kann die Funktion DCM_E_PENDING zurückgeben, wenn die Operation noch andauert, oder DCM_E_FORCE_RCRRP, um das Senden einer Zwischenantwort (NRC 0x78) zu veranlassen [SWS_Dcm_91082].

Fehlerbehandlung

Tritt ein Fehler auf, muss die Funktion E_NOT_OK zurückgeben. In diesem Fall liest das DCM den Parameter ErrorCode aus und übermittelt dessen Wert als negativen Antwortcode (NRC) an den Tester [SWS_Dcm_91082]. Spezifische DET- oder DEM-Meldungen sind für die Schnittstelle nicht vorgesehen; Fehlerprüfungen des übergebenen Pfads dürften daher vollständig der anwendungsspezifischen Implementierung obliegen. Frage Q-278dbc3db7b4363b (offen)

Nebenläufigkeit und Zusammenspiel

Die Funktion ist als nicht reentrant (Non Reentrant) spezifiziert und darf folglich nicht nebenläufig für mehrere Diagnoseanfragen aufgerufen werden [SWS_Dcm_91082]. Sie ist Teil der Schnittstellengruppe des Dienstes RequestFileTransfer, dessen Anbindung über Konfigurationsparameter beeinflusst werden kann [SWS_Dcm_91086].

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

Implementer's Guide folgt (Komplexität I2)

function Dcm_WriteFile [SWS_Dcm_91083] 📄 PDF

Std_ReturnType Dcm_WriteFile (Dcm_OpStatusType OpStatus, uint64 DataLength, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function when data is received using UDS service Transfer Data if there's an ongoing RequestFileTransfer process started with 0x01 (AddFile) or 0x03 (ReplaceFile).

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

Verwendung und Aufrufkontext

Die Callout-Funktion Dcm_WriteFile wird vom DCM aufgerufen, wenn über den UDS-Dienst TransferData (0x36) Daten empfangen werden und ein zuvor mittels RequestFileTransfer mit den Modi 0x01 (AddFile) oder 0x03 (ReplaceFile) gestarteter Download-Prozess aktiv ist [SWS_Dcm_01444]. Die Schnittstelle ist über Dcm_Externals.h verfügbar [SWS_Dcm_91083].

Die Parameterbelegung hängt vom Fortschrittsstatus OpStatus ab [SWS_Dcm_91083]:

  • DCM_INITIAL: Alle Eingangsparameter sind gültig. Der Zeiger Data verweist auf die zu schreibenden Nutzdaten, und DataLength gibt deren Bytelänge an. Der Wert von DataLength überschreitet nicht die zuvor bei Dcm_ProcessRequestFileTransfer ausgehandelte maximale Blocklänge (NumberOfBlockLength).
  • DCM_PENDING, DCM_CANCEL und DCM_FORCE_RCRRP_OK: Alle Eingangsparameter sind auf 0x00 gesetzt.

Asynchrone Semantik und Rückgabewerte

Die Funktion arbeitet asynchron und nicht-reentrant (Non Reentrant) [SWS_Dcm_91083]. Sie liefert folgende Statuswerte:

  • E_OK: Der Schreibvorgang wurde erfolgreich abgeschlossen.
  • DCM_E_PENDING: Die Verarbeitung ist noch nicht beendet und erfordert weitere Aufrufe.
  • DCM_E_FORCE_RCRRP: Die Applikation fordert das Senden einer Warteantwort (Response Pending, NRC 0x78) an.
  • E_NOT_OK: Die Operation ist fehlgeschlagen.

Fehlerbehandlung

Gibt Dcm_WriteFile den Wert E_NOT_OK zurück, sendet das DCM-Modul eine negative UDS-Antwort, deren NRC dem über den Ausgabeparameter ErrorCode bereitgestellten Wert entspricht [SWS_Dcm_91083].

Dieser Text wurde durch ein KI-gestütztes System erzeugt und unterliegt der Belegpflicht anhand der AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I2)

function Dcm_ReadFileOrDir [SWS_Dcm_91085] 📄 PDF

Std_ReturnType Dcm_ReadFileOrDir (Dcm_OpStatusType OpStatus, uint64* DataLength, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function when data shall be sent as a response to UDS service TransferData if there's an ongoing RequestFileTransfer process started with 0x04 (ReadFile) or 0x05 (ReadDir).

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

Die Callout-Funktion Dcm_ReadFileOrDir wird vom DCM-Modul aufgerufen, wenn im Rahmen eines laufenden Datei- oder Verzeichnis-Uploads (zuvor gestartet via UDS-Dienst RequestFileTransfer mit Modus 0x04 für ReadFile oder 0x05 für ReadDir) eine formatkonforme Anfrage für den UDS-Dienst TransferData (0x36) eingeht [SWS_Dcm_01445]. Die Funktion dient dazu, die als Antwort an den Client zu sendenden Daten bereitzustellen [SWS_Dcm_91085]. Die Schnittstellendeklaration ist über den Header Dcm_Externals.h verfügbar [SWS_Dcm_91085].

Die Ausführung erfolgt asynchron und ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_Dcm_91085]. Das Zusammenspiel und die Parameterbelegung hängen vom übergebenen Betriebsstatus ab:

  • Betriebsstatus (OpStatus): Beim initialen Aufruf mit DCM_INITIAL sind alle Eingangsparameter gültig. Bei Folge- oder Abbruchaufrufen mit DCM_PENDING, DCM_CANCEL oder DCM_FORCE_RCRRP_OK sind alle Eingangsparameter auf 0x00 gesetzt [SWS_Dcm_91085].
  • Puffer und Blocklänge: Der Parameter DataLength übergibt eingangsseitig die maximal zulässige Blocklänge (entsprechend dem dem Client gemeldeten Wert maxNumberOfBlockLength) und gibt ausgangsseitig die tatsächlich in Data bereitgestellte Bytelänge zurück, die den Eingangswert nicht überschreiten darf [SWS_Dcm_91085]. Interpretation: Obwohl Data in der Schnittstelle formal als In-Parameter deklariert ist, dürfte er zur Übergabe der auszulesenden Nutzdaten dienen. Frage Q-53de8a0bdbc4a2b4 (offen)
  • Rückgabewerte: Die Operation liefert E_OK bei erfolgreicher Datenbereitstellung, DCM_E_PENDING bei noch nicht abgeschlossener Verarbeitung oder DCM_E_FORCE_RCRRP, wenn die Applikation das Versenden einer Zwischenmeldung (Response Pending, NRC 0x78) erzwingen möchte [SWS_Dcm_91085].

Schlägt die Verarbeitung in der Applikation fehl, wird E_NOT_OK zurückgegeben. In diesem Fehlerfall übermittelt das DCM-Modul eine negative UDS-Antwort (NRC) an den Client, deren Fehlercode dem im Ausgabeparameter ErrorCode gesetzten Wert entspricht [SWS_Dcm_91085].

Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe. Maßgeblich sind die offiziellen AUTOSAR-Spezifikationen.

Implementer's Guide folgt (Komplexität I2)

function Dcm_MainFunction [SWS_Dcm_00053] 📄 PDF

void Dcm_MainFunction (void);

This service is used for processing the tasks of the main loop.

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

Die Funktion Dcm_MainFunction dient der Abarbeitung der zentralen Aufgaben der Hauptschleife des Diagnostic Communication Managers ([SWS_Dcm_00053]). Sie besitzt die Signatur void Dcm_MainFunction(void) und liefert keine Rückgabewerte. Da sie über den Header SchM_Dcm.h bereitgestellt wird, dürfte ihr Aufruf vermutlich zyklisch im Kontext einer Scheduler-Task der Basissoftware erfolgen. Frage Q-e083a72aae447ab5 (offen)

Eine wesentliche Aufgabe ist die Steuerung und zyklusübergreifende Weiterführung asynchroner Abläufe:

  • Liefert eine Operation mit Dcm_OpStatusType den Rückgabewert DCM_E_PENDING, ruft das DCM die Operation bei jedem Aufruf von Dcm_MainFunction mit OpStatus = DCM_PENDING erneut auf, solange dieser Status anhält ([SWS_Dcm_00530]).
  • Gibt Dem_ClearDTC() den Status DEM_PENDING zurück, wird die Funktion im nächsten Zyklus von Dcm_MainFunction erneut aufgerufen; das DCM sendet bei Bedarf NRC 78 (ResponsePending) ([SWS_Dcm_00703]).
  • Aufrufe von Dem_SetDTCFilter() mit gesetztem Parameter FilterForFault-DetectionCounter müssen zwingend im Kontext von Dcm_MainFunction erfolgen ([SWS_Dcm_00519]).
  • Nach Bestätigung einer RCR-RP-Übertragung ruft das DCM Operationen wie Dcm_WriteMemory oder Dcm_ReadMemory aus Dcm_MainFunction erneut mit OpStatus = DCM_FORCE_RCRRP_OK auf ([SWS_Dcm_00529], [SWS_Dcm_00838], [SWS_Dcm_00840]).
  • Wird bei Xxx_GetSecurityAttemptCounter der Wert DCM_E_PENDING gemeldet, wird der Aufruf unterbrochen und im nächsten Zyklus fortgesetzt ([SWS_Dcm_01351]); bei Überschreiten des konfigurierten Timeouts bricht das DCM die anhängige Operation mit OpStatus = DCM_CANCEL ab ([SWS_Dcm_01352]).

Dieser Nutzungshinweis wurde automatisch auf Basis der AUTOSAR-Spezifikation generiert.

Implementer's Guide folgt (Komplexität I2)

function Xxx_GetSeed [SWS_Dcm_01151] 📄 PDF

Std_ReturnType Xxx_GetSeed (const uint8* SecurityAccessDataRecord, Dcm_OpStatusType OpStatus, uint8* Seed, Dcm_NegativeResponseCodeType* ErrorCode);

Request to application for asynchronous provision of seed value

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

Die Funktion Xxx_GetSeed (bereitgestellt über Dcm_Externals.h) dient der asynchronen Bereitstellung eines Seed-Werts durch die Applikation für das DCM-Modul [SWS_Dcm_01151]. Sie wird aufgerufen, sobald eine UDS-Anfrage des Dienstes SecurityAccess (0x27) mit dem Subfunktionstyp „requestSeed“ empfangen wird und die angeforderte Sicherheitsstufe noch nicht aktiv ist [SWS_Dcm_00862], [SWS_Dcm_00324].

Aufrufkontext und Parameter

Die Schnittstelle ist als nicht reentrant (Non Reentrant) definiert und operiert asynchron [SWS_Dcm_01151]:

  • SecurityAccessDataRecord: Zeiger auf zusätzliche Eingangsdaten zur Seed-Berechnung; die Mindestgröße beträgt ein Byte gemäß DcmDspSecurityADRSize [SWS_Dcm_01151].
  • OpStatus: Gibt den aktuellen Status der asynchronen Operation an [SWS_Dcm_01151].
  • Seed: Ausgabepointer, über den die Applikation den berechneten Seed bereitstellt [SWS_Dcm_01151].
  • ErrorCode: Ausgabeparameter zur Rückgabe eines negativen Fehlercodes (NRC) [SWS_Dcm_01151].

Rückgabewerte und Fehlerbehandlung

  • E_OK: Der Seed wurde erfolgreich ermittelt und bereitgestellt [SWS_Dcm_01151].
  • DCM_E_PENDING: Die Berechnung ist noch nicht abgeschlossen; zur Fertigstellung sind Folgeberechnungen bzw. -aufrufe notwendig [SWS_Dcm_01151].
  • E_NOT_OK: Die Anfrage schlug fehl. In diesem Fall sendet das DCM-Modul eine negative UDS-Antwort mit dem im Parameter ErrorCode übergebenen NRC-Wert [SWS_Dcm_01151], [SWS_Dcm_00659].

Integrationshinweise

Je nach Konfiguration von DcmDspSecurityUsePort erfolgt die Anbindung als C-Funktion bei USE_ASYNCH_FNC (referenziert über DcmDspSecurityGetSeedFnc) [SWS_Dcm_00862] oder als Rte-Operation bei USE_ASYNCH_CLIENT_SERVER [SWS_Dcm_00324]. Sofern keine zusätzlichen Zugangsdaten übergeben werden müssen, kommt die alternative Funktionssignatur ohne den Parameter SecurityAccessDataRecord zum Einsatz [SWS_Dcm_91003].

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

Implementer's Guide folgt (Komplexität I2)

function Xxx_GetSeed [SWS_Dcm_91003] 📄 PDF

Std_ReturnType Xxx_GetSeed (Dcm_OpStatusType OpStatus, uint8* Seed, Dcm_NegativeResponseCodeType* ErrorCode);

Request to application for asynchronous provision of seed value

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

Die Funktion Xxx_GetSeed dient als asynchrone Schnittstelle des Moduls DCM an die Applikation, um im Rahmen des UDS-Dienstes SecurityAccess (0x27) bei einer Anfrage vom Typ „requestSeed“ einen Seed-Wert bereitzustellen [SWS_Dcm_91003], [SWS_Dcm_00862]. Der Aufruf erfolgt durch das DCM-DSP-Submodul, sofern die Sicherheitsstufe noch nicht aktiv ist und die Konfiguration USE_ASYNCH_CLIENT_SERVER oder USE_ASYNCH_FNC vorsieht [SWS_Dcm_00324], [SWS_Dcm_00862].

Die Schnittstelle ist asynchron und nicht reentrant (Non Reentrant) ausgeführt [SWS_Dcm_91003]. Die Steuerung des Verarbeitungsfortschritts erfolgt über den Eingangsparameter OpStatus (Typ Dcm_OpStatusType) [SWS_Dcm_91003]. Als Rückgabewerte sind E_OK bei erfolgreicher Bereitstellung, E_NOT_OK im Fehlerfall sowie DCM_E_PENDING definiert, wenn die Seed-Generierung noch andauert und weitere Aufrufe erforderlich sind [SWS_Dcm_91003]. Der generierte Wert wird über den Zeiger Seed (Inout/Out-Puffer) übergeben [SWS_Dcm_91003].

Schlägt die Operation fehl und Xxx_GetSeed liefert E_NOT_OK zurück, muss das DCM-Modul eine negative Antwort (NRC) mit dem Fehlercode versenden, der über den Ausgabeparameter ErrorCode (Dcm_NegativeResponseCodeType) gesetzt wurde [SWS_Dcm_91003], [SWS_Dcm_00659]. Deklariert ist der Dienst über den Header Dcm_Externals.h [SWS_Dcm_91003].

Dieser Text wurde von einer KI basierend auf dem AUTOSAR-Standard R20-11 generiert.

Implementer's Guide folgt (Komplexität I2)

function Xxx_CompareKey [SWS_Dcm_91004] 📄 PDF

Std_ReturnType Xxx_CompareKey (const uint8* Key, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

Request to application for asynchronous comparing key (DcmDspSecurityUsePort = USE_ ASYNCH_CLIENT_SERVER)

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

Die Funktion Xxx_CompareKey wird vom Diagnostic Communication Manager ([SWS_Dcm_91004]) asynchron und nicht-reentrant aufgerufen, um einen empfangenen Schlüssel im Rahmen des UDS-Dienstes SecurityAccess (0x27, Subfunktion sendKey) gegen die interne Logik der Applikation abzugleichen ([SWS_Dcm_00863]). Sie kommt zum Einsatz, wenn der Zugriffsstatus noch nicht aktiv ist, die Seed-Anfrage erfolgreich war und der Konfigurationsparameter DcmDspSecurityUsePort auf USE_ASYNCH_CLIENT_SERVER gesetzt ist ([SWS_Dcm_00324]) bzw. laut [SWS_Dcm_00863] die Funktionsschnittstelle über USE_ASYNCH_FNC/DcmDspSecurityCompareKeyFnc konfiguriert wurde. Deklariert ist die Schnittstelle in Dcm_Externals.h ([SWS_Dcm_91004]).

Die Übergabe umfasst den zu prüfenden Schlüsselzeiger Key, den aktuellen Operationsstatus OpStatus (vom Typ Dcm_OpStatusType) sowie den Zeiger ErrorCode für den im Fehlerfall auszugebenden negativen Antwortcode ([SWS_Dcm_91004]). Als Rückgabewerte sind spezifiziert:

  • E_OK: Schlüsselprüfung erfolgreich ([SWS_Dcm_91004]).
  • DCM_E_PENDING: Prüfung noch nicht abgeschlossen; weitere Aufrufe durch das DCM-Modul zur Beendigung sind erforderlich ([SWS_Dcm_91004]).
  • E_NOT_OK: Verarbeitung nicht erfolgreich. Der DCM sendet daraufhin eine negative UDS-Antwort mit dem in ErrorCode gesetzten NRC, ohne den internen Sicherheitslevel zu verändern oder den Fehlversuchszähler (AttemptCounter) zu erhöhen ([SWS_Dcm_01150]).
  • DCM_E_COMPARE_KEY_FAILED: Schlüssel stimmt nicht überein ([SWS_Dcm_91004]).

Schlägt der Schlüsselvergleich fehl (DCM_E_COMPARE_KEY_FAILED), wird bei konfiguriertem DcmDspSecurityNumAttDelay der AttemptCounter inkrementiert ([SWS_Dcm_01397]). Liegt der Zähler unterhalb des Grenzwerts, sendet der DCM den NRC 0x35 (InvalidKey) ([SWS_Dcm_00660]). Erreicht oder überschreitet die Anzahl der Fehlversuche das konfigurierte Limit DcmDspSecurityNumAttDelay, startet der DCM den SecurityDelayTimer mit der Zeitdauer DcmDspSecurityDelayTime und sendet den NRC 0x36 (exceededNumberOfAttempts) ([SWS_Dcm_01349]). In beiden Fällen verbleibt der Sicherheitslevel unverändert.

Dieser Nutzungshinweis wurde automatisiert generiert und basiert auf den Spezifikationen des AUTOSAR Classic R20-11 DCM-Moduls.

Implementer's Guide folgt (Komplexität I3)

function Xxx_GetSecurityAttemptCounter [SWS_Dcm_01152] 📄 PDF

Std_ReturnType Xxx_GetSecurityAttemptCounter (Dcm_OpStatusType OpStatus, uint8* AttemptCounter);

Read the attempt counter for a specific security level from the application

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

Die asynchrone und nicht-reentrante Funktion [SWS_Dcm_01152] liest bei der Initialisierung des DCM den aktuellen Fehlversuchszähler für eine konfigurierte Sicherheitsstufe aus der Applikation aus. Der Aufruf erfolgt für jeden Eintrag in DcmDspSecurityRow, bei dem der Konfigurationsparameter DcmDspSecurityAttemptCounterEnabled auf TRUE gesetzt ist [SWS_Dcm_01154].

Die Ablaufsteuerung wird über den Parameter OpStatus mit den Werten DCM_INITIAL, DCM_PENDING oder DCM_CANCEL geführt [SWS_Dcm_01152]. Gibt die Funktion DCM_E_PENDING zurück, unterbricht das DCM die Aufrufkette und setzt sie im darauffolgenden Zyklus von Dcm_MainFunction() fort [SWS_Dcm_01351]. Wird die nach dem ersten Zyklus konfigurierte Zeitüberwachung DcmDspSecurityMaxAttemptCounterReadoutTime überschritten, bricht das DCM den noch ausstehenden Vorgang mit DCM_CANCEL ab [SWS_Dcm_01352].

Im Erfolgsfall liefert die Schnittstelle E_OK und übergibt den Zählerstand über den Ausgabeparameter AttemptCounter [SWS_Dcm_01152]. Gibt der Aufruf E_NOT_OK zurück, setzt das DCM den Zähler automatisch auf den für diese Sicherheitsstufe konfigurierten Wert DcmDspSecurityNumAttDelay [SWS_Dcm_01156].

Solange nicht alle Zählerwerte endgültig ermittelt oder abgebrochen wurden, weist das DCM jede Anfrage auf SecurityAccess (0x27) zum Anfordern eines Seeds mit dem negativen Antwortcode conditionsNotCorrect (0x22) ab [SWS_Dcm_01354]. Nach Abschluss der Abfragekette prüft das DCM die Zählerwerte: Erreicht oder überschreitet mindestens ein Zähler den Schwellenwert DcmDspSecurityNumAttDelay, startet das DCM den SecurityDelayTimer mit dem höheren Wert aus DcmDspSecurityDelayTimeOnBoot und DcmDspSecurityDelayTime [SWS_Dcm_01355].

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

Implementer's Guide folgt (Komplexität I2)

function Xxx_SetSecurityAttemptCounter [SWS_Dcm_01153] 📄 PDF

Std_ReturnType Xxx_SetSecurityAttemptCounter (Dcm_OpStatusType OpStatus, uint8 AttemptCounter);

Set the attempt counter for a specific security level in the application

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

Die Funktion Xxx_SetSecurityAttemptCounter dient dazu, den Versuchszähler für eine spezifische Sicherheitsstufe in der Applikation zu setzen ([SWS_Dcm_01153]). Sie wird über den Header Dcm_Externals.h bereitgestellt.

Aufruf und Semantik

Die Ausführung erfolgt asynchron und ist als nicht reentrant (Non Reentrant) spezifiziert ([SWS_Dcm_01153]). Der Aufruf steuert den Ablauf über den Parameter OpStatus mit den Werten DCM_INITIAL, DCM_PENDING oder DCM_CANCEL. Der neue Zählerwert wird über den Eingangsparameter AttemptCounter (uint8) übergeben.

Rückgabewerte und Fehlerbehandlung

Als Rückgabetyp wird Std_ReturnType verwendet ([SWS_Dcm_01153]):

  • E_OK: Die Anforderung wurde erfolgreich abgeschlossen.
  • E_NOT_OK: Die Ausführung war nicht erfolgreich.
  • DCM_E_PENDING: Die Verarbeitung ist noch nicht beendet; weitere Aufrufe zur Fertigstellung sind erforderlich.

Wird eine laufende asynchrone Operation abgebrochen, übergibt das DCM den Status DCM_CANCEL ([SWS_Dcm_01153]).

Zusammenspiel und Randbedingungen

Das DCM-Modul ruft Xxx_SetSecurityAttemptCounter auf, sobald es den Versuchszähler verändert hat, um die Applikation über die Aktualisierung zu benachrichtigen ([SWS_Dcm_01155]). Dies setzt voraus, dass der Konfigurationsparameter DcmDspSecurityAttemptCounterEnabled für die zugehörige DcmDspSecurityRow auf TRUE konfiguriert ist ([SWS_Dcm_01155]). Da die Schnittstelle nicht reentrant ist, muss die Applikation eine nebenläufige Ausführung für dieselbe Instanz ausschließen ([SWS_Dcm_01153]).

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

Implementer's Guide folgt (Komplexität I2)

function Xxx_ReadData [SWS_Dcm_00793] 📄 PDF

Std_ReturnType Xxx_ReadData (uint8* Data);

This function requests to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_SYNCH_CLIENT_SERVER.

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

Die synchrone Funktion Xxx_ReadData fordert von der Applikation den aktuellen Datenwert eines DID oder PID an, wenn der Konfigurationsparameter DcmDspDataUsePort auf USE_DATA_SYNCH_CLIENT_SERVER eingestellt ist [SWS_Dcm_00793]. Die Schnittstelle wird über den Header Dcm_Externals.h bereitgestellt und besitzt die Service-ID 0x34 [SWS_Dcm_00793]. Die aufgerufene Applikation kopiert die angeforderten Nutzdaten direkt in den übergebenen Puffer Data [SWS_Dcm_00793].

Hinsichtlich des Rückgabewerts ist festgelegt, dass der Aufruf ausnahmslos E_OK zurückliefert [SWS_Dcm_00793]. Spezifische Fehlercodes, negative Rückmeldungen oder DET-/DEM-Meldungen sind für diese Signatur nicht spezifiziert. Interpretation: Ein Fehlschlagen der Datenbereitstellung ist auf dieser Schnittstellenebene vermutlich nicht vorgesehen, da im Gegensatz zur asynchronen Variante [SWS_Dcm_91005] weder ein Parameter ErrorCode für negative Antwortcodes (NRC) noch Rückgabewerte wie E_NOT_OK oder DCM_E_PENDING existieren. Frage Q-adcf0171ecfd37c4 (offen)

Bezüglich Nebenläufigkeit und Randbedingungen ist die Funktion als nicht reentrant (Non Reentrant) spezifiziert und arbeitet vollständig synchron [SWS_Dcm_00793]. Das Zusammenspiel mit Diagnoseanfragen erfolgt in mehreren Szenarien:

  • Beim Empfang einer OBD-Service-$01-Anfrage mit Nicht-Verfügbarkeits-PIDs ruft das DCM die jeweils konfigurierten Xxx_ReadData-Funktionen für alle Daten des PIDs auf, um die Antwortwerte zu erfassen [SWS_Dcm_00408].
  • Bei einer UDS-Anfrage des Dienstes 0x22 (ReadDataByIdentifier) mit Nicht-Verfügbarkeits-Identifiern ruft das DCM die Funktionen für alle Daten des OBDDataIdentifier [SWS_Dcm_01380] sowie des OBDInfoTypeDataIdentifier [SWS_Dcm_01389] auf.
  • Wird hingegen ein asynchrones Verhalten benötigt, greifen die separaten Signaturen mit OpStatus gemäß [SWS_Dcm_91006] bzw. [SWS_Dcm_91005].

Dieser Text wurde von einer KI erstellt und basiert ausschließlich auf den Spezifikationen des Release R20-11.

Implementer's Guide folgt (Komplexität I2)

function Xxx_ReadData [SWS_Dcm_91006] 📄 PDF

Std_ReturnType Xxx_ReadData (Dcm_OpStatusType OpStatus, uint8* Data);

This function requests to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_ASYNCH_CLIENT_SERVER.

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

Die Funktion Xxx_ReadData dient dazu, Datenwerte eines DID oder PID asynchron von der Anwendung abzufragen, sofern der Parameter DcmDspDataUsePort auf USE_DATA_ASYNCH_CLIENT_SERVER konfiguriert ist ([SWS_Dcm_91006]). Sie wird über die Header-Datei Dcm_Externals.h deklariert ([SWS_Dcm_91006]).

Beim Aufruf steuert der Parameter OpStatus (Typ Dcm_OpStatusType) den Fortschritt der laufenden Operation, während über den Zeiger Data (Typ uint8*) der Ausgabepuffer übergeben wird, in den die angeforderten Daten zu kopieren sind ([SWS_Dcm_91006]). Als Rückgabewerte sind E_OK bei erfolgreichem Abschluss und DCM_E_PENDING definiert, sofern die Verarbeitung noch andauert und weitere Aufrufe zur Fertigstellung benötigt ([SWS_Dcm_91006]).

Das DCM-Modul bindet diese Funktion in folgende Diagnoseabläufe ein:

  • Beim Empfang eines OBD Service $01 liest das DCM die aktuellen PID-Werte (ausgenommen Verfügbarkeits-PIDs) über die konfigurierten Xxx_ReadData-Funktionen ein ([SWS_Dcm_00408]).
  • Bei UDS Service 0x22 (ReadDataByIdentifier) ruft das DCM die Funktion für OBDDataIdentifier ([SWS_Dcm_01380]) und OBDInfoTypeDataIdentifier ([SWS_Dcm_01389]) auf.

Hinsichtlich der Ausführung ist die Funktion als nicht reentrant (Non Reentrant) spezifiziert ([SWS_Dcm_91006]). Im Gegensatz zur synchronen Schnittstelle ([SWS_Dcm_00793]) oder der asynchronen Variante mit zusätzlichem ErrorCode-Parameter ([SWS_Dcm_91005]) sieht diese Funktionsausprägung keine direkte Rückgabe eines negativen Antwortcodes vor.

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

Implementer's Guide folgt (Komplexität I3)

function Xxx_ReadData [SWS_Dcm_91005] 📄 PDF

Std_ReturnType Xxx_ReadData (Dcm_OpStatusType OpStatus, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_ASYNCH_CLIENT_SERVER.

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

Die Funktion Xxx_ReadData fordert von der Applikation asynchron den Datenwert eines DID oder PID an, sofern der Konfigurationsparameter DcmDspDataUsePort auf USE_DATA_ASYNCH_CLIENT_SERVER eingestellt ist [SWS_Dcm_91005]. Die Funktionsdeklaration wird über die Schnittstellendatei Dcm_Externals.h bereitgestellt [SWS_Dcm_91005].

Die Schnittstelle besitzt folgende Aufruf- und Ablaufcharakteristika:

  • Semantik und Parameter: Der Eingabeparameter OpStatus steuert den Fortschritt der laufenden Operation [SWS_Dcm_91005]. Bei erfolgreichem Abschluss werden die angeforderten Nutzdaten in den Ausgabepuffer Data kopiert und E_OK zurückgegeben [SWS_Dcm_91005]. Benötigt die Applikation weitere Bearbeitungszeit, signalisiert sie DCM_E_PENDING, woraufhin Folgebeschaltungen erforderlich sind [SWS_Dcm_91005].
  • Fehlerbehandlung: Schlägt die Operation fehl und gibt E_NOT_OK zurück, wertet das DCM-Modul den Ausgabeparameter ErrorCode aus und sendet eine negative Diagnoseantwort mit diesem NRC-Code [SWS_Dcm_91005].
  • Nebenläufigkeit: Die Funktion ist als nicht reentrant (Non Reentrant) definiert [SWS_Dcm_91005]. Interpretation: Die wiederholten Aufrufe bei anhängiger Bearbeitung dürften sequenziell im Zyklus der DCM-Hauptverarbeitung erfolgen. Frage Q-541226d5f242f7c2 (offen)
  • Zusammenspiel: Das DCM-Modul ruft die Funktion bei Anfragen des OBD Service $01 für Nicht-Verfügbarkeits-PIDs [SWS_Dcm_00408] sowie beim UDS Service ReadDataByIdentifier (0x22) für OBDDataIdentifier [SWS_Dcm_01380] und OBDInfoTypeDataIdentifier [SWS_Dcm_01389] auf. Im Vergleich zur synchronen Variante [SWS_Dcm_00793] oder asynchronen Schnittstellen ohne NRC-Parameter [SWS_Dcm_91006] ermöglicht diese Signatur eine spezifische negative Fehlerübermittlung.

Dieser Text wurde von einer KI erstellt und basiert ausschließlich auf den Spezifikationsanforderungen des AUTOSAR-Releases R20-11.

Implementer's Guide folgt (Komplexität I3)

function Xxx_WriteData [SWS_Dcm_00794] 📄 PDF

Std_ReturnType Xxx_WriteData (const uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to write a data value of a DID.

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

Verwendung

Die Funktion Xxx_WriteData wird vom Diagnostic Communication Manager (DCM) aufgerufen, um die Applikation zum Schreiben eines DID-Datenwerts (Data Identifier) aufzufordern ([SWS_Dcm_00794]). Die Deklaration wird über den Header Dcm_Externals.h bereitgestellt. Der Aufruf erfolgt synchron unter der Service-ID 0x51 ([SWS_Dcm_00794]).

Parameter und Rückgabewerte:

  • Data (in): Zeiger auf den Puffer mit den zu schreibenden Nutzdaten ([SWS_Dcm_00794]).
  • ErrorCode (out): Zeiger auf die Variable, in die bei einem Fehlschlag der negative Diagnosecode (NRC) einzutragen ist ([SWS_Dcm_00794]).
  • Rückgabewert (Std_ReturnType): E_OK signalisiert erfolgreiches Schreiben, E_NOT_OK das Fehlschlagen der Operation ([SWS_Dcm_00794]).

Fehlerbehandlung

Gibt die Funktion E_NOT_OK zurück, liest das DCM-Modul den Parameter ErrorCode aus und sendet eine negative Diagnoseantwort mit diesem NRC-Code ([SWS_Dcm_00794]).

Nebenläufigkeit und Einschränkungen

Die Funktion ist als nicht reentrant (Non Reentrant) spezifiziert ([SWS_Dcm_00794]) und darf nicht nebenläufig ausgeführt werden.

Zusammenspiel

Da kein Längenparameter existiert, dürfte diese Variante für DIDs mit fester Datenlänge vorgesehen sein. Frage Q-ebc074ac1cb66aaa (offen) Für DIDs mit variabler Länge stellt AUTOSAR die synchrone Signatur mit dem Parameter DataLength bereit ([SWS_Dcm_91007]). Zudem existieren für langwierige Abläufe asynchrone Varianten mit OpStatus und möglicher Rückgabe von DCM_E_PENDING, sowohl mit fester Datenlänge ([SWS_Dcm_91008]) als auch mit variablem Längenparameter ([SWS_Dcm_91009]).

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

Implementer's Guide folgt (Komplexität I2)

function Xxx_WriteData [SWS_Dcm_91007] 📄 PDF

Std_ReturnType Xxx_WriteData (const uint8* Data, uint16 DataLength, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to write a data value of a DID.

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

Die Callback-Funktion Xxx_WriteData dient dazu, die Applikation zum Schreiben des Datenwerts eines Data Identifier (DID) aufzufordern [SWS_Dcm_91007]. Die Schnittstelle ist über den Header Dcm_Externals.h deklariert und besitzt die Service-ID 0x52 [SWS_Dcm_91007]. Der Aufruf erfolgt synchron und ist als nicht reentrant (Non Reentrant) spezifiziert, weshalb keine nebenläufigen Aufrufe für dieselbe Funktion erfolgen dürfen [SWS_Dcm_91007].

An Parametern empfängt die Funktion den Puffer Data mit den zu schreibenden Nutzdaten sowie DataLength mit der Längenangabe in Bytes [SWS_Dcm_91007]. Als Rückgabewert liefert sie den Typ Std_ReturnType mit E_OK bei erfolgreicher Ausführung oder E_NOT_OK im Fehlerfall [SWS_Dcm_91007]. Schlägt die Operation fehl und gibt E_NOT_OK zurück, muss das DCM-Modul eine negative Antwort an den Diagnosetester senden; dabei entspricht der Negative Response Code (NRC) dem über den Zeigerparameter ErrorCode übermittelten Wert [SWS_Dcm_91007].

Im Gesamtsystem stellt [SWS_Dcm_91007] die synchrone Variante für DIDs mit expliziter Längenangabe dar. Ergänzend dazu existiert mit [SWS_Dcm_00794] (Service-ID 0x51) eine synchrone Variante ohne den Parameter DataLength. Für längere Schreibvorgänge sieht der Standard asynchrone Schnittstellen vor: [SWS_Dcm_91008] (Service-ID 0x35) ohne Längenangabe sowie [SWS_Dcm_91009] (Service-ID 0x3e) mit DataLength. Beide asynchronen Funktionen werden über OpStatus gesteuert und können neben E_OK und E_NOT_OK auch DCM_E_PENDING zurückgeben [SWS_Dcm_91008] [SWS_Dcm_91009].

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

Implementer's Guide folgt (Komplexität I2)

function Xxx_WriteData [SWS_Dcm_91008] 📄 PDF

Std_ReturnType Xxx_WriteData (const uint8* Data, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to write a data value of a DID.

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

Verwendung

Die Funktion Xxx_WriteData fordert die Applikation auf, den Datenwert eines Data Identifiers (DID) zu schreiben [SWS_Dcm_91008]. Sie ist in der Header-Datei Dcm_Externals.h deklariert und besitzt eine asynchrone Ausführungssemantik mit der Service-ID 0x35 [SWS_Dcm_91008].

Die Parameter und Rückgabewerte gliedern sich wie folgt [SWS_Dcm_91008]:

  • Data (IN): Zeiger auf den Puffer, der die zu schreibenden Daten enthält.
  • OpStatus (IN): Status der aktuellen Operation zur Steuerung des asynchronen Aufrufablaufs.
  • ErrorCode (OUT): Zeiger auf den Fehlercode (NRC), der im Fehlerfall gesetzt wird.
  • Rückgabewert (Std_ReturnType): E_OK bestätigt den erfolgreichen Schreibvorgang, E_NOT_OK meldet einen Fehlschlag und DCM_E_PENDING zeigt an, dass die Operation noch andauert und weitere Aufrufe zur Fertigstellung benötigt.

Fehlerbehandlung und Nebenläufigkeit

Gibt der Aufruf den Wert E_NOT_OK zurück, muss das DCM-Modul eine negative Antwort mit dem im Ausgabeparameter ErrorCode übergebenen NRC-Wert versenden [SWS_Dcm_91008]. Die Funktion ist als nicht reentrant spezifiziert [SWS_Dcm_91008], sodass gleichzeitige oder überlappende Aufrufe für dieselbe Instanz unzulässig sind.

Zusammenspiel und Varianten

Diese Schnittstelle nach [SWS_Dcm_91008] deckt den asynchronen Schreibzugriff ohne separaten Längenparameter ab. AUTOSAR definiert hierzu verwandte Varianten im DCM: eine synchrone Signatur ohne Längenangabe [SWS_Dcm_00794] sowie Signaturen mit zusätzlichem Parameter DataLength für synchrone [SWS_Dcm_91007] und asynchrone Abläufe [SWS_Dcm_91009].

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

Implementer's Guide folgt (Komplexität I2)

function Xxx_WriteData [SWS_Dcm_91009] 📄 PDF

Std_ReturnType Xxx_WriteData (const uint8* Data, uint16 DataLength, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to write a data value of a DID.

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

Verwendung und Semantik

Die Funktion Xxx_WriteData fordert die Applikation dazu auf, den Datenwert eines Data Identifier (DID) zu schreiben [SWS_Dcm_91009]. Sie wird über die Header-Datei Dcm_Externals.h deklariert und besitzt die Service-ID 0x3e [SWS_Dcm_91009]. Die Ausführung erfolgt asynchron (Asynchronous), wozu folgende Parameter übergeben werden:

  • Data (in): Zeiger auf den Puffer mit den zu schreibenden Nutzdaten [SWS_Dcm_91009].
  • DataLength (in): Länge der zu schreibenden Daten in Byte [SWS_Dcm_91009].
  • OpStatus (in): Operationsstatus (Dcm_OpStatusType) zur Steuerung des asynchronen Verarbeitungsfortschritts [SWS_Dcm_91009].
  • ErrorCode (out): Zeiger zur Aufnahme eines negativen Antwortcodes (NRC) im Fehlerfall [SWS_Dcm_91009].

Als Rückgabewerte vom Typ Std_ReturnType sind E_OK (Schreibanforderung erfolgreich abgeschlossen), E_NOT_OK (Anforderung fehlgeschlagen) sowie DCM_E_PENDING definiert [SWS_Dcm_91009]. Der Status DCM_E_PENDING signalisiert, dass der Vorgang noch nicht beendet ist und weitere Folgeaufrufe zur Fertigstellung erforderlich sind [SWS_Dcm_91009]. Interpretation: Das DCM dürfte die Funktion bei Rückgabe von DCM_E_PENDING mit fortgeführtem OpStatus solange zyklisch erneut aufrufen, bis ein finales Ergebnis vorliegt. Frage Q-fdbd734dab052f5c (offen)

Fehlerbehandlung und Nebenläufigkeit

Gibt die Funktion den Wert E_NOT_OK zurück, muss über den Parameter ErrorCode der entsprechende Fehlercode bereitgestellt werden; das DCM-Modul sendet daraufhin eine negative Antwort mit diesem NRC-Wert [SWS_Dcm_91009]. Spezifische DET- oder DEM-Meldungen sind im Payload für diese Schnittstelle nicht definiert. Hinsichtlich Nebenläufigkeit ist die Funktion als nicht reentrant (Non Reentrant) spezifiziert [SWS_Dcm_91009].

Zusammenspiel und Schnittstellenvarianten

Die Signatur [SWS_Dcm_91009] deckt asynchrone Schreibzugriffe mit expliziter Längenangabe ab. Im DCM existieren weitere Varianten von Xxx_WriteData:

  • Synchrone Ausführung ohne Längenangabe: [SWS_Dcm_00794] (Service-ID 0x51).
  • Synchrone Ausführung mit Längenangabe: [SWS_Dcm_91007] (Service-ID 0x52).
  • Asynchrone Ausführung ohne Längenangabe: [SWS_Dcm_91008] (Service-ID 0x35).

Hinweis: Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Classic-Spezifikation für Release R20-11 erstellt.

Implementer's Guide folgt (Komplexität I2)

function Xxx_ReadDataLength [SWS_Dcm_00796] 📄 PDF

Std_ReturnType Xxx_ReadDataLength (uint16* DataLength);

This function requests the application to return the data length in byte of a Data.

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

Verwendung

Mit der Funktion Xxx_ReadDataLength fordert das DCM-Modul die Applikation auf, die Datenlänge eines Datums in Byte zu ermitteln und zurückzuliefern [SWS_Dcm_00796]. Die Schnittstelle ist im Header Dcm_Externals.h deklariert und besitzt die Service-ID 0x36 [SWS_Dcm_00796]. Die Abfrage wird synchron ausgeführt [SWS_Dcm_00796]. Über den Ausgabeparameter DataLength vom Typ uint16* übergibt die Applikation die Bytelänge der zu lesenden Daten an das DCM [SWS_Dcm_00796]. Eingangs- oder Ein-/Ausgangsparameter sind nicht definiert [SWS_Dcm_00796]. Als Rückgabewert liefert die Funktion stets E_OK vom Typ Std_ReturnType [SWS_Dcm_00796].

Nebenläufigkeit und Einschränkungen

Die Schnittstelle ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_Dcm_00796]. Da die Funktion synchron arbeitet und nach Spezifikation stets E_OK meldet, sind für diesen Aufruf keine spezifischen Fehlercodes oder abweichenden Statusrückgaben vorgesehen [SWS_Dcm_00796].

Zusammenspiel

Neben der synchronen Funktion existiert eine gleichnamige asynchrone Variante mit der Service-ID 0x4c, die ebenfalls über Dcm_Externals.h bereitgestellt wird [SWS_Dcm_91010]. Während die synchrone Fassung [SWS_Dcm_00796] ohne Operationsstatus auskommt, verlangt das asynchrone Gegenstück den Eingangsparameter OpStatus vom Typ Dcm_OpStatusType [SWS_Dcm_91010]. Zudem kann die asynchrone Schnittstelle neben E_OK den Rückgabewert DCM_E_PENDING liefern, falls die Anfrage noch nicht abgeschlossen ist und weitere Aufrufe zur Fertigstellung benötigt [SWS_Dcm_91010].

Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe. Verbindlich sind die Vorgaben der jeweiligen AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I1)

function Xxx_ReadDataLength [SWS_Dcm_91010] 📄 PDF

Std_ReturnType Xxx_ReadDataLength (Dcm_OpStatusType OpStatus, uint16* DataLength);

This function requests the application to return the data length in byte of a Data.

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

Die Funktion [SWS_Dcm_91010] (Service-ID 0x4c) fordert die Applikation auf, die Datenlänge eines Datenelements in Byte zu ermitteln. Sie ist im Header Dcm_Externals.h deklariert und dient dem Diagnostic Communication Manager (DCM) zur flexiblen Längenabfrage von Diagnosedaten.

Verwendung und Semantik

Beim Aufruf übergibt das DCM-Modul den aktuellen Fortschritt über den Eingangsparameter OpStatus vom Typ Dcm_OpStatusType ([SWS_Dcm_91010]). Das Ergebnis der Abfrage schreibt die Applikation in den Ausgabeparameter DataLength (Typ uint16*). Ist die Datenlänge nicht unmittelbar verfügbar, signalisiert die Funktion über den Rückgabewert DCM_E_PENDING, dass die Bearbeitung andauert und weitere Aufrufe erforderlich sind ([SWS_Dcm_91010]). Sobald das Ergebnis bereitsteht, meldet die Applikation den Abschluss mit E_OK zurück.

Nebenläufigkeit und Einschränkungen

Gemäß Spezifikation ist die Funktion als nicht reentrant eingestuft ([SWS_Dcm_91010]), weshalb gleichzeitige Aufrufe durch das DCM ausgeschlossen werden müssen. Da die Spezifikation keine spezifischen Fehlerwerte außer DCM_E_PENDING vorsieht, dürfte das DCM bei Rückgabe von E_OK stets von einer gültig gesetzten Bytegröße ausgehen. Frage Q-e7ecd3a518e2cbcb (offen)

Zusammenspiel

Die asynchrone Schnittstelle [SWS_Dcm_91010] unterscheidet sich von der verwandten synchronen Variante [SWS_Dcm_00796] (Service-ID 0x36). Letztere besitzt keinen Parameter OpStatus, wird synchron ausgeführt und liefert die Länge stets unmittelbar mit E_OK zurück. [SWS_Dcm_91010] erlaubt es der Applikation hingegen, zeitintensive Berechnungen asynchron über mehrere Aufrufzyklen zu strecken.

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation erstellt.

Implementer's Guide folgt (Komplexität I2)

function Xxx_ConditionCheckRead [SWS_Dcm_00797] 📄 PDF

Std_ReturnType Xxx_ConditionCheckRead (Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application if the conditions to read the Data are correct.

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

Die synchrone Callout-Funktion Xxx_ConditionCheckRead wird über die Header-Datei Dcm_Externals.h bereitgestellt und dient dazu, bei der Applikation abzufragen, ob die Bedingungen für das Auslesen der Diagnosedaten erfüllt sind [SWS_Dcm_00797].

Die Schnittstelle besitzt keine Eingangsparameter und signalisiert den Status der Prüfung über den Rückgabewert vom Typ Std_ReturnType [SWS_Dcm_00797]:

  • E_OK: Die Prüfung war erfolgreich, die Bedingungen zum Lesen der Daten sind erfüllt [SWS_Dcm_00797].
  • E_NOT_OK: Die Prüfung schlug fehl, das Auslesen ist nicht zulässig [SWS_Dcm_00797].

Liefert die Funktion E_NOT_OK zurück, sendet das DCM-Modul eine negative Antwort (Negative Response) mit dem Fehlercode, den die Applikation über den Ausgabeparameter ErrorCode (Typ Dcm_NegativeResponseCodeType*) übergeben hat [SWS_Dcm_00797].

Hinsichtlich der Nebenläufigkeit ist die Funktion als nicht reentrant (Non Reentrant) spezifiziert und wird mit der Service-ID 0x49 synchron ausgeführt [SWS_Dcm_00797]. Die Prüfung dürfte anwendungsseitig daher unmittelbar ohne blockierende Wartezeiten ausgewertet werden, um eine Verzögerung des synchronen DCM-Aufrufers zu vermeiden. Frage Q-ada29c78c29d961e (offen)

In Abgrenzung zu dieser synchronen Operation definiert [SWS_Dcm_91011] eine asynchrone Variante unter der Service-ID 0x37. Diese verwendet zusätzlich den Eingangsparameter OpStatus (Typ Dcm_OpStatusType) und kann neben E_OK und E_NOT_OK auch DCM_E_PENDING zurückgeben, wenn Folgeschritte zur Beendigung der Prüfung notwendig sind [SWS_Dcm_91011].

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

Implementer's Guide folgt (Komplexität I1)

function Xxx_ConditionCheckRead [SWS_Dcm_91011] 📄 PDF

Std_ReturnType Xxx_ConditionCheckRead (Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application if the conditions to read the Data are correct.

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

Verwendung und Semantik

Die Funktion Xxx_ConditionCheckRead wird über die Header-Datei Dcm_Externals.h bereitgestellt und dient dazu, bei der Anwendungssoftware abzufragen, ob die Bedingungen zum Auslesen der Diagnosedaten erfüllt sind [SWS_Dcm_91011]. Die Ausführung erfolgt unter der Service-ID 0x37 asynchron [SWS_Dcm_91011]. Über den Eingangsparameter OpStatus (Typ Dcm_OpStatusType) wird der aktuelle Status der laufenden Operation übergeben [SWS_Dcm_91011].

Rückgabewerte und Fehlerbehandlung

Als Rückgabewert liefert die Funktion einen Status vom Typ Std_ReturnType [SWS_Dcm_91011]:

  • E_OK: Die Anfrage war erfolgreich und die Lesebedingungen sind erfüllt [SWS_Dcm_91011].
  • E_NOT_OK: Die Prüfung schlug fehl [SWS_Dcm_91011]. In diesem Fall muss die Anwendung über den Ausgabeparameter ErrorCode einen negativen Antwortcode (NRC) vom Typ Dcm_NegativeResponseCodeType setzen; das DCM-Modul sendet daraufhin eine negative Antwort mit diesem NRC [SWS_Dcm_91011].
  • DCM_E_PENDING: Die Prüfung ist noch nicht abgeschlossen, sodass weitere Aufrufe zur Fertigstellung erforderlich sind [SWS_Dcm_91011].

Nebenläufigkeit und Abgrenzung

Die Schnittstelle ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_Dcm_91011]. Im Unterschied zu dieser asynchronen Variante definiert [SWS_Dcm_00797] unter der Service-ID 0x49 eine synchrone Signatur ohne OpStatus-Parameter, welche ausschließlich E_OK oder E_NOT_OK zurückliefert [SWS_Dcm_00797].

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

Implementer's Guide folgt (Komplexität I2)

function Xxx_GetScalingInformation [SWS_Dcm_91012] 📄 PDF

Std_ReturnType Xxx_GetScalingInformation (Dcm_OpStatusType OpStatus, uint8* ScalingInfo, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application for the scaling information of a Data.

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

Die asynchrone Schnittstelle Xxx_GetScalingInformation wird über den Header Dcm_Externals.h bereitgestellt und dient dazu, Skalierungsinformationen eines Datenelements aus der Applikation anzufordern [SWS_Dcm_91012]. Das DCM-Modul ruft diese Funktion auf, sobald eine Diagnoseanfrage für den UDS-Dienst ReadScalingByIdentifier empfangen wird, und zwar für jedes Datum, das für die angefragte DID konfiguriert ist [SWS_Dcm_00394].

Parameter und Rückgabewerte

Die Funktion definiert folgende Parameter und Semantik [SWS_Dcm_91012]:

  • OpStatus (in): Übergibt den aktuellen Status der laufenden Operation.
  • ScalingInfo (out): Puffer zur Aufnahme der Skalierungsinformationen (scalingByte und scalingByteExtension).
  • ErrorCode (out): Nimmt den negativen Antwortcode auf, falls die Operation fehlschlägt.

Als Rückgabewerte sind E_OK bei erfolgreichem Abschluss, E_NOT_OK bei einem Fehler sowie DCM_E_PENDING spezifiziert, falls die Bearbeitung noch nicht abgeschlossen ist und weitere Aufrufe zur Fertigstellung benötigt [SWS_Dcm_91012].

Fehlerbehandlung und Nebenläufigkeit

Gibt der Aufruf E_NOT_OK zurück, muss das DCM-Modul eine negative Antwort versenden, deren NRC dem über den Ausgabeparameter ErrorCode bereitgestellten Wert entspricht [SWS_Dcm_91012]. Die Funktion ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_Dcm_91012]. Interpretation: Ob diese asynchrone Funktion mit OpStatus oder die alternativ spezifizierte synchrone Variante ohne OpStatus [SWS_Dcm_00798] aufgerufen wird, dürfte von der Konfiguration der jeweiligen DID abhängen. Frage Q-c4054a798f17a52c (offen)

Dieser Text wurde von einer KI erstellt; die Richtigkeit und Vollständigkeit der Angaben kann nicht garantiert werden.

Implementer's Guide folgt (Komplexität I2)

function Xxx_ReturnControlToECU [SWS_Dcm_01285] 📄 PDF

Std_ReturnType Xxx_ReturnControlToECU ([ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to return control to ECU of an IOControl.

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

Die Funktion Xxx_ReturnControlToECU wird über den Header Dcm_Externals.h bereitgestellt und fordert die Applikation auf, die Kontrolle über eine Ein-/Ausgabesteuerung (IOControl) an das Steuergerät zurückzugeben [SWS_Dcm_01285]. Der Aufruf erfolgt synchron und ist als nicht reentrant spezifiziert [SWS_Dcm_01285].

Parameter und Varianten

Die Funktionssignatur hängt von der Konfiguration der externen Steuermaske ab [SWS_Dcm_01285]:

  • Ist DcmDspDidControlMask auf DCM_CONTROLMASK_EXTERNAL gesetzt und beträgt die Maskengröße bis zu vier Byte (DcmDspDidControlMaskSize <= 0x04), wird der Eingabeparameter controlMask vom Typ Dcm_ControlMask_{DID}Type übergeben [SWS_Dcm_01285].
  • Beträgt die Maskengröße fünf oder mehr Byte (DcmDspDidControlMaskSize >= 0x05), wird stattdessen der Zeiger controlMask2 vom Typ uint8* verwendet [SWS_Dcm_01285].
  • Über den Ausgangsparameter ErrorCode (Typ Dcm_NegativeResponseCodeType*) übermittelt die Funktion im Fehlerfall den spezifischen negativen Antwortcode (NRC) an das DCM [SWS_Dcm_01285].

Rückgabewerte und Fehlerbehandlung

Die Funktion liefert den Status Std_ReturnType zurück. Bei erfolgreicher Rückgabe der Kontrolle meldet die Applikation E_OK [SWS_Dcm_01285]. Schlägt die Operation fehl, muss die Funktion E_NOT_OK zurückgeben; in diesem Fall sendet das DCM-Modul eine negative Antwort mit dem in ErrorCode hinterlegten NRC an den Diagnosetester [SWS_Dcm_01285].

Zusammenspiel und Aufrufkontext

Das DCM ruft die konfigurierte Funktionsschnittstelle (Parameter DcmDspDataReturnControlToEcuFnc) auf, wenn DcmDspDataUsePort auf USE_DATA_SYNCH_FNC, USE_DATA_ASYNCH_FNC oder USE_DATA_ASYNCH_FNC_ERROR konfiguriert ist [SWS_Dcm_01435]. Neben regulären Diagnoseaktionen wird Xxx_ReturnControlToECU vom DCM insbesondere aufgerufen, wenn eine aktive IO-Steuerungssequenz abgebrochen werden muss [SWS_Dcm_01435].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation generiert.

Implementer's Guide folgt (Komplexität I1)

function Xxx_ResetToDefault [SWS_Dcm_01286] 📄 PDF

Std_ReturnType Xxx_ResetToDefault ([ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to reset an IOControl to default value.

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

Die synchrone Funktionsschnittstelle Xxx_ResetToDefault wird über den Header Dcm_Externals.h bereitgestellt und dient dazu, eine Applikation zum Zurücksetzen einer I/O-Steuerung (IOControl) auf den Standardwert aufzufordern [SWS_Dcm_01286].

Aufrufkontext und Parameter

Die Funktion besitzt die Service-ID 0x4d, arbeitet synchron und ist als nicht reentrant spezifiziert [SWS_Dcm_01286]. In Abhängigkeit von der konfigurierten Größe der externen Steuermaske wird einer von zwei alternativen Eingangsparametern übergeben:

  • controlMask (Typ Dcm_ControlMask_{DID}Type) kommt zum Einsatz, wenn DcmDspDataUsePort auf USE_DATA_SYNCH_FNC konfiguriert ist, DcmDspDidControlMask auf DCM_CONTROLMASK_EXTERNAL steht und DcmDspDidControlMaskSize höchstens 0x04 beträgt [SWS_Dcm_01286].
  • controlMask2 (Typ uint8*) wird verwendet, wenn unter identischen Randbedingungen DcmDspDidControlMaskSize größer oder gleich 0x05 konfiguriert ist [SWS_Dcm_01286].

Rückgabewerte und Fehlerbehandlung

Konnte das Zurücksetzen erfolgreich durchgeführt werden, liefert die Funktion E_OK zurück [SWS_Dcm_01286]. Schlägt die Operation fehl, muss E_NOT_OK zurückgegeben werden. In diesem Fall belegt die Applikation den Ausgabeparameter ErrorCode (Typ Dcm_NegativeResponseCodeType*) mit dem entsprechenden negativen Antwortcode (NRC), welchen das DCM-Modul als negative Rückmeldung an den Tester übermittelt [SWS_Dcm_01286].

Zusammenspiel und Abgrenzung

Ist das System für asynchrone Schnittstellenabwicklungen über USE_DATA_ASYNCH_FNC oder USE_DATA_ASYNCH_FNC_ERROR ausgelegt, kommt anstelle dieser synchronen Funktion die asynchrone Variante mit dem zusätzlichen Parameter OpStatus und der Service-ID 0x3c zum Einsatz [SWS_Dcm_01314].

Dieser Text wurde von einer KI generiert und basiert auf den Spezifikationen von AUTOSAR Classic R20-11.

Implementer's Guide folgt (Komplexität I1)

function Xxx_ResetToDefault [SWS_Dcm_01314] 📄 PDF

Std_ReturnType Xxx_ResetToDefault (Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to reset an IOControl to default value.

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

Die asynchrone Funktion [SWS_Dcm_01314] fordert die Applikation auf, eine Ein-/Ausgabesteuerung (IOControl) auf ihren Standardwert zurückzusetzen. Sie ist in Dcm_Externals.h deklariert und besitzt die Service-ID 0x3c. Über den Parameter OpStatus wird der Fortschritt der Operation gesteuert. Bei noch nicht abgeschlossener Verarbeitung liefert die Funktion DCM_E_PENDING zurück, während ein erfolgreicher Abschluss mit E_OK bestätigt wird.

Abhängig von der Konfiguration und der Maskengröße (DcmDspDidControlMaskSize bis 4 Byte oder ab 5 Byte) wird bei externer Maskierung zusätzlich controlMask bzw. controlMask2 übergeben [SWS_Dcm_01314]. Schlägt die Rücksetzung fehl, gibt die Funktion E_NOT_OK zurück. In diesem Fall muss über den Ausgabeparameter ErrorCode ein negativer Antwortcode (NRC) übergeben werden, den das DCM-Modul als negative Response an den Tester sendet [SWS_Dcm_01314].

Die Funktion ist nicht reentrant (Non Reentrant) spezifiziert [SWS_Dcm_01314]. Sie kommt zum Einsatz, wenn DcmDspDataUsePort auf USE_DATA_ASYNCH_FNC oder USE_DATA_ASYNCH_FNC_ERROR gesetzt ist. Für synchrone Schnittstellenkonfigurationen (USE_DATA_SYNCH_FNC) existiert alternativ die synchrone Variante ohne OpStatus [SWS_Dcm_01286].

Dieser Text wurde von einer KI erstellt und basiert auf dem Spezifikationsstand von AUTOSAR R20-11.

Implementer's Guide folgt (Komplexität I2)

function Xxx_FreezeCurrentStateManager [SWS_Dcm_01290] 📄 PDF

Std_ReturnType Xxx_FreezeCurrentState ([ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to freeze the current state of an IOControl.

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

Verwendung

Die synchrone Funktion Xxx_FreezeCurrentState (im Elementkatalog als Xxx_FreezeCurrentStateManager geführt) dient dazu, eine Applikation zum Einfrieren des aktuellen Zustands einer Ein- oder Ausgabesteuerung (IOControl) aufzufordern [SWS_Dcm_01290]. Die Funktion ist über die Header-Datei Dcm_Externals.h verfügbar und besitzt die Service-ID 0x4a AUTOSAR_SWS_DiagnosticCommunicationManager S. 279. (Interpretation: Das Präfix Xxx dürfte dabei als Platzhalter für das jeweilige Anwendungsmodul stehen.) Frage Q-f8c864cda732acc2 (offen)

Die Schnittstellenparameter richten sich nach der Konfiguration der externen Steuermaske (DcmDspDidControlMask auf DCM_CONTROLMASK_EXTERNAL) [SWS_Dcm_01290]:

  • controlMask (Eingabe, Typ Dcm_ControlMask_{DID}Type): Wird übergeben, wenn die Maskengröße DcmDspDidControlMaskSize kleiner oder gleich 4 Byte (<= 0x04) konfiguriert ist.
  • controlMask2 (Eingabe, Typ uint8*): Kommt stattdessen zum Einsatz, wenn die Maskengröße mindestens 5 Byte (=> 0x05) umfasst.
  • ErrorCode (Ausgabe, Typ Dcm_NegativeResponseCodeType*): Zeiger zur Aufnahme eines negativen Antwortcodes bei Fehlern.

Fehlerbehandlung und Rückgabewerte

Die Funktion liefert als Std_ReturnType entweder E_OK bei erfolgreicher Ausführung oder E_NOT_OK, wenn die Anforderung nicht erfolgreich war [SWS_Dcm_01290]. Tritt ein Fehler auf und wird E_NOT_OK zurückgegeben, muss die Applikation im Parameter ErrorCode einen spezifischen negativen Antwortcode (NRC) eintragen; das DCM-Modul sendet daraufhin eine negative Diagnoseantwort mit diesem NRC-Code AUTOSAR_SWS_DiagnosticCommunicationManager S. 279.

Nebenläufigkeit und Einschränkungen

Die Operation ist als nicht-reentrant (Non Reentrant) spezifiziert [SWS_Dcm_01290]. Aufrufer müssen sicherstellen, dass Aufrufe für dieselbe Instanz synchron und ohne gleichzeitige Überlappung abgearbeitet werden.

Dieser Text wurde von einer KI erstellt und dient als Orientierungshilfe. Verbindlich ist die AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I1)

function Xxx_FreezeCurrentStateManager [SWS_Dcm_01315] 📄 PDF

Std_ReturnType Xxx_FreezeCurrentState (Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to freeze the current state of an IOControl.

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

Verwendung und Aufrufkontext

Die asynchrone Funktion Xxx_FreezeCurrentState wird vom DCM-Modul aufgerufen, um bei der Anwendungssoftware das Einfrieren des aktuellen Zustands einer Ein-/Ausgabesteuerung (IOControl) anzufordern [SWS_Dcm_01315]. Die Deklaration wird über den Header Dcm_Externals.h bereitgestellt [SWS_Dcm_01315].

Parameter und Steuermasken

Der Aufruf erfolgt mit folgenden Parametern [SWS_Dcm_01315]:

  • OpStatus: Übermittelt den aktuellen Status der asynchronen Operation (Dcm_OpStatusType).
  • controlMask bzw. controlMask2: Wenn die Steuermaske extern konfiguriert ist (DcmDspDidControlMask == DCM_CONTROLMASK_EXTERNAL) und die asynchrone Funktionsschnittstelle genutzt wird, übergibt das DCM abhängig von DcmDspDidControlMaskSize bei bis zu 4 Bytes den Parameter controlMask (vom Typ Dcm_ControlMask_{DID}Type) und ab 5 Bytes den Zeiger controlMask2 (uint8*).
  • ErrorCode: Zeiger auf Dcm_NegativeResponseCodeType zur Rückgabe eines Fehlercodes.

Rückgabewerte und Fehlerbehandlung

Die Funktion liefert einen Status vom Typ Std_ReturnType zurück [SWS_Dcm_01315]:

  • E_OK: Das Einfrieren des Zustands wurde erfolgreich abgeschlossen.
  • DCM_E_PENDING: Die Anforderung ist noch in Bearbeitung und erfordert Folgebeschickungen.
  • E_NOT_OK: Die Operation ist fehlgeschlagen. In diesem Fall sendet das DCM eine negative Diagnoseantwort mit dem über ErrorCode gesetzten NRC-Wert.

Nebenläufigkeit

Die Schnittstelle ist als nicht reentrant (Non Reentrant) definiert und bedarf daher einer synchronisierten Bearbeitung pro Steuerinstanz [SWS_Dcm_01315].

Dieser Text wurde von einer KI erstellt und nach redaktionellen Vorgaben kuratiert.

Implementer's Guide folgt (Komplexität I2)

function Xxx_ShortTermAdjustment [SWS_Dcm_00802] 📄 PDF

Std_ReturnType Xxx_ShortTermAdjustment (const uint8* ControlStateInfo, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to adjust the IO signal.

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

Die synchrone Funktion Xxx_ShortTermAdjustment fordert die Anwendung auf, ein bestimmtes I/O-Signal temporär anzupassen [SWS_Dcm_00802]. Sie wird über den Header Dcm_Externals.h bereitgestellt und besitzt die Service-ID 0x50 [SWS_Dcm_00802].

Über den Zeiger ControlStateInfo erhält die Funktion die Steuerzustandsinformationen aus dem Parameter ControlOptionRecord der Diagnoseanforderung InputOutputControlByIdentifier [SWS_Dcm_00802]. Ist eine externe Steuermaske konfiguriert (DcmDspDidControlMask == DCM_CONTROLMASK_EXTERNAL), wird abhängig von DcmDspDidControlMaskSize zusätzlich entweder controlMask (bis 4 Byte) vom Typ Dcm_ControlMask_{DID}Type oder controlMask2 (ab 5 Byte) als uint8* übergeben [SWS_Dcm_00802].

Als Rückgabewert liefert die Operation Std_ReturnType [SWS_Dcm_00802]:

  • E_OK: Die Anpassung des I/O-Signals wurde erfolgreich ausgeführt [SWS_Dcm_00802].
  • E_NOT_OK: Die Anpassung schlug fehl [SWS_Dcm_00802]. In diesem Fall muss die Anwendung über den Ausgabeparameter ErrorCode einen spezifischen negativen Antwortcode (Dcm_NegativeResponseCodeType) setzen, den das DCM-Modul in der negativen Diagnoseantwort an den Tester zurücksendet [SWS_Dcm_00802].

Die Funktion ist nicht reentrant (Non Reentrant) und wird synchron aufgerufen [SWS_Dcm_00802]. Diese synchrone Variante wird verwendet, wenn das Datenelement für synchrone Funktionsaufrufe konfiguriert ist (DcmDspDataUsePort == USE_DATA_SYNCH_FNC) [SWS_Dcm_00802]. Für asynchron konfigurierte Ports (USE_DATA_ASYNCH_FNC oder USE_DATA_ASYNCH_FNC_ERROR) existiert hingegen die asynchrone Variante mit Service-ID 0x55 und erweitertem Parametersatz einschließlich OpStatus und DataLength [SWS_Dcm_01316].

Dieser Text wurde von einer KI erstellt und basiert auf AUTOSAR R20-11.

Implementer's Guide folgt (Komplexität I2)

function Xxx_ShortTermAdjustment [SWS_Dcm_01316] 📄 PDF

Std_ReturnType Xxx_ShortTermAdjustment (const uint8* ControlStateInfo, uint16 DataLength, Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to adjust the IO signal.

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

Verwendung und Aufrufkontext

Die Funktion [SWS_Dcm_01316] wird vom Diagnostic Communication Manager (DCM) aufgerufen und über Dcm_Externals.h bereitgestellt. Sie fordert die Applikation asynchron dazu auf, ein IO-Signal im Rahmen des Diagnosedienstes InputOutputControlByIdentifier anzupassen. Die Steuerdaten werden über den Zeiger ControlStateInfo (aus dem Parameter ControlOptionRecord) übergeben, ergänzt um die Bytelänge DataLength. Der Ablauf wird über OpStatus gesteuert: Solange die Anpassung andauert, gibt die Anwendung DCM_E_PENDING zurück; nach erfolgreichem Abschluss meldet sie E_OK.

Varianten und Maskenparameter

Bei externer Konfiguration der Kontrollmaske (DCM_CONTROLMASK_EXTERNAL) werden zusätzliche Parameter übergeben [SWS_Dcm_01316]:

  • Ist die Maskengröße kleiner oder gleich 4 Byte, wird controlMask vom Typ Dcm_ControlMask_{DID}Type übergeben.
  • Beträgt die Maskengröße mindestens 5 Byte, wird stattdessen controlMask2 als Zeiger auf uint8 übergeben.

Fehlerbehandlung und Nebenläufigkeit

Schlägt die Signalsteuerung fehl, liefert die Funktion E_NOT_OK zurück und setzt über den Zeiger ErrorCode den negativen Antwortcode (NRC), welchen der DCM in der negativen Antwort übermittelt [SWS_Dcm_01316]. Die Funktion ist als nicht-reentrant spezifiziert.

Zusammenspiel und Abgrenzung

Die Schnittstelle wird genutzt, wenn der DID-Datenport auf USE_DATA_ASYNCH_FNC oder USE_DATA_ASYNCH_FNC_ERROR und der Datentyp auf UINT8_DYN konfiguriert ist [SWS_Dcm_01316]. Sie unterscheidet sich von der synchronen Variante [SWS_Dcm_00802], welche weder OpStatus noch DataLength verwendet und für synchrone Ports bei statischen Datentypen bestimmt ist.

Dieser Text wurde automatisch von einem KI-Kurations-Assistenten auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I2)

function Xxx_IsDidAvailable [SWS_Dcm_00803] 📄 PDF

Std_ReturnType Xxx_IsDidAvailable (uint16 DID, Dcm_OpStatusType OpStatus, Dcm_DidSupportedType* supported);

This function requests if a specific DID is available within the range or not.

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

Die Funktion Xxx_IsDidAvailable dient zur asynchronen Prüfung, ob ein angeforderter Diagnostic Identifier (DID) innerhalb eines definierten DID-Bereichs verfügbar ist [SWS_Dcm_00803]. Sie wird über den Header Dcm_Externals.h bereitgestellt und besitzt die Service-ID 0x53 [SWS_Dcm_00803].

Verwendung und Parameter

Der Aufruf erfolgt mit folgenden Parametern [SWS_Dcm_00803]:

  • DID (In): Der abzufragende Kennungswert des DID [SWS_Dcm_00803].
  • OpStatus (In): Der aktuelle Status der Operation zur Steuerung des asynchronen Ablaufs [SWS_Dcm_00803].
  • supported (Out): Zeigt an, ob der DID im Bereich verfügbar ist; DCM_DID_SUPPORTED bedeutet Unterstützung, während DCM_DID_NOT_SUPPORTED die Nichtunterstützung anzeigt [SWS_Dcm_00803].

Asynchrone Semantik und Rückgabewerte

Da die Funktion asynchron ausgeführt wird, erfordert die Ermittlung unter Umständen mehrere Aufrufschritte [SWS_Dcm_00803]. Der Rückgabewert DCM_E_PENDING signalisiert, dass die Anfrage noch nicht abgeschlossen ist und weitere Aufrufe zur Fertigstellung nötig sind [SWS_Dcm_00803]. Der Rückgabewert E_OK wird gemeldet, wenn die Prüfung abgeschlossen ist [SWS_Dcm_00803] (Interpretation: Vermutlich schließt E_OK die Abfrage ab, woraufhin der Parameter supported das gültige Ergebnis enthält). Frage Q-22c62d306a7ac4f1 (offen)

Nebenläufigkeit und Einschränkungen

Die Schnittstelle ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_Dcm_00803]. Parallele Aufrufe für denselben oder andere DIDs innerhalb derselben Instanz sind daher unzulässig.

Dieser Text wurde von einer KI erstellt und basiert ausschließlich auf den Spezifikationsdaten aus AUTOSAR Classic R20-11.

Implementer's Guide folgt (Komplexität I2)

function Xxx_ReadDidData [SWS_Dcm_00804] 📄 PDF

Std_ReturnType Xxx_ReadDidData (uint16 DID, uint8* Data, Dcm_OpStatusType OpStatus, uint16 DataLength, Dcm_NegativeResponseCodeType ErrorCode);

This function requests to the application a data value of a DID

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

Verwendung und Parameterschnittstelle

Die Funktion Xxx_ReadDidData (Service-ID 0x40) ist über Dcm_Externals.h verfügbar und fordert von der Applikation die Datenwerte eines Diagnose-Identifikators (DID) an [SWS_Dcm_00804]. Die Übergabe und Rückmeldung erfolgt über folgende Parameter:

  • DID: Kennung des angeforderten Data Identifiers [SWS_Dcm_00804].
  • Data: Zeiger auf den Puffer, in den die gelesenen Nutzdaten kopiert werden müssen [SWS_Dcm_00804].
  • OpStatus: Fortschritts- bzw. Operationsstatus der aktuellen Anforderung [SWS_Dcm_00804].
  • DataLength: Länge der zu lesenden Daten [SWS_Dcm_00804].
  • ErrorCode: Ausgabeparameter zur Aufnahme eines negativen Antwortcodes (NRC) [SWS_Dcm_00804].

Asynchrone Semantik und Rückgabewerte

Die Funktion ist als asynchron (Asynchronous) definiert und liefert einen Status vom Typ Std_ReturnType zurück [SWS_Dcm_00804]:

  • E_OK: Das Auslesen der Daten war erfolgreich [SWS_Dcm_00804].
  • DCM_E_PENDING: Die Anfrage ist noch nicht abgeschlossen; zur Fertigstellung sind weitere Aufrufe erforderlich [SWS_Dcm_00804].
  • E_NOT_OK: Die Operation war nicht erfolgreich [SWS_Dcm_00804].

Fehlerbehandlung und Nebenläufigkeit

Liefert die Applikation für Xxx_ReadDidData den Rückgabewert E_NOT_OK, sendet das DCM-Modul eine negative Antwort mit dem über den Parameter ErrorCode gesetzten NRC-Code an den Diagnosetester [SWS_Dcm_00804]. Die Funktion ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_Dcm_00804]. Interpretation: Aufgrund der asynchronen Abwicklung mit DCM_E_PENDING dürfte der Aufruf typischerweise im zyklischen Task-Kontext des DCM erfolgen. Frage Q-5e41e9fb7dc261b9 (offen)

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation in SWS_Dcm_00804 generiert.

Implementer's Guide folgt (Komplexität I2)

function Xxx_WriteDidData [SWS_Dcm_00805] 📄 PDF

Std_ReturnType Xxx_WriteDidData (uint16 DID, const uint8* Data, Dcm_OpStatusType OpStatus, uint16 DataLength, Dcm_NegativeResponseCodeType ErrorCode);

This function requests the application to write a data value of a DID.

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

Die Funktion Xxx_WriteDidData wird vom Modul DCM aufgerufen, um die Applikation zum Schreiben des Datenwerts eines DID aufzufordern [SWS_Dcm_00805]. Die Deklaration ist über den Header Dcm_Externals.h verfügbar [SWS_Dcm_00805].

Aufruf und Semantik

Der Aufruf erfolgt asynchron und ist als nicht reentrant (Non Reentrant) definiert [SWS_Dcm_00805]. Beim Aufruf werden folgende Parameter übergeben [SWS_Dcm_00805]:

  • DID: Kennung des zu schreibenden Datenbezeichners.
  • Data: Zeiger auf den Puffer mit den zu schreibenden Daten.
  • OpStatus: Status der aktuellen Operation.
  • DataLength: Länge der zu schreibenden Daten in Bytes.
  • ErrorCode: Ausgabeparameter für den negativen Antwortcode (NRC).

Rückgabewerte und Fehlerbehandlung

Als Rückgabewert liefert die Funktion Std_ReturnType mit folgenden Bedeutungen [SWS_Dcm_00805]:

  • E_OK: Der Schreibauftrag wurde erfolgreich ausgeführt.
  • DCM_E_PENDING: Die Operation ist noch nicht abgeschlossen; zur Fertigstellung sind weitere Aufrufe erforderlich.
  • E_NOT_OK: Die Operation war nicht erfolgreich. In diesem Fall sendet das DCM-Modul eine negative Antwort mit dem im Ausgabeparameter ErrorCode übergebenen NRC-Wert.

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

Implementer's Guide folgt (Komplexität I2)

function Xxx_ReadDidRangeDataLength [SWS_Dcm_01271] 📄 PDF

Std_ReturnType Xxx_ReadDidRangeDataLength (uint16 DID, Dcm_OpStatusType OpStatus, uint16* DataLength);

This function requests the application to return the data length of a DID Range.

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

Die Funktion Xxx_ReadDidRangeDataLength dient dazu, die Anwendungssoftware zur Rückgabe der Datenlänge für einen DID-Bereich (DID Range) aufzufordern [SWS_Dcm_01271]. Sie ist Bestandteil des AUTOSAR-Moduls Dcm, besitzt die Service-ID 0x5e und wird über die Header-Datei Dcm_Externals.h zur Verfügung gestellt [SWS_Dcm_01271].

Der Aufruf erfolgt mit asynchroner Semantik (Asynchronous) über die folgenden Schnittstellenparameter [SWS_Dcm_01271]:

  • DID (IN, uint16): Kennzeichnet den konkreten Daten-Identifier (Data ID value) des angefragten DID-Bereichs [SWS_Dcm_01271].
  • OpStatus (IN, Dcm_OpStatusType): Gibt den aktuellen Verarbeitungsstatus der laufenden Operation an [SWS_Dcm_01271].
  • DataLength (OUT, uint16*): Zeiger auf die Länge der Daten, die gelesen oder geschrieben werden sollen [SWS_Dcm_01271].

Der Rückgabewert vom Typ Std_ReturnType signalisiert das Ergebnis der Längenabfrage [SWS_Dcm_01271]:

  • E_OK: Die Anfrage war erfolgreich und die ermittelte Länge liegt bereit [SWS_Dcm_01271].
  • E_NOT_OK: Die Anfrage war nicht erfolgreich [SWS_Dcm_01271].
  • DCM_E_PENDING: Die Ausführung ist noch nicht abgeschlossen und erfordert weitere Folgeaufrufe zur Fertigstellung [SWS_Dcm_01271].

Bezüglich der Nebenläufigkeit ist die Schnittstelle als nicht reentrant (Non Reentrant) festgelegt [SWS_Dcm_01271].

Nutzungshinweis generiert auf Basis der Spezifikation von DCM in AUTOSAR Classic R20-11.

Implementer's Guide folgt (Komplexität I2)

function Xxx_GetInfotypeValueData [SWS_Dcm_91014] 📄 PDF

Std_ReturnType Xxx_GetInfotypeValueData (Dcm_OpStatusType OpStatus, uint8* DataValueBuffer, uint8* DataValueBufferSize);

The function provides the data related to the requested Infotype.

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

Die asynchrone Schnittstelle Xxx_GetInfotypeValueData wird vom DCM-Modul aufgerufen, sobald eine Diagnoseanfrage für den OBD Service $09 empfangen wird und der angeforderte InfoType kein Verfügbarkeits-InfoType („availability InfoType“) ist [SWS_Dcm_00423]. Um die Daten bereitzustellen, ruft das DCM alle für diesen InfoType konfigurierten Funktionen auf und führt die Werte als Antwort auf Service $09 zusammen [SWS_Dcm_00423]. Die Deklaration ist über Dcm_Externals.h verfügbar [SWS_Dcm_91014].

Die Übergabe und Rückmeldung der Daten erfolgt über definierte Puffer- und Statusparameter [SWS_Dcm_91014]:

  • OpStatus (in): Zeigt den aktuellen Fortschrittsstatus der laufenden Operation an.
  • DataValueBuffer (out): Puffer zur Aufnahme der spezifischen InfoType-Nutzdaten.
  • DataValueBufferSize (inout): Enthält beim Aufruf die maximal beschreibbare Puffergröße in Byte und wird von der aufgerufenen Funktion mit der tatsächlichen Anzahl geschriebener Datenbytes belegt.

Als asynchrone Funktion liefert sie E_OK bei erfolgreichem Abschluss, E_NOT_OK bei Fehlern oder DCM_E_PENDING, falls die Operation noch nicht abgeschlossen ist und weitere Aufrufe zur Fertigstellung benötigt [SWS_Dcm_91014]. Da die Funktion als nicht reentrant (Non Reentrant) spezifiziert ist, dürfen keine nebenläufigen Aufrufe für dieselbe Funktion erfolgen [SWS_Dcm_91014].

Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe. Maßgeblich ist die offizielle AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I2)

function Xxx_Start [SWS_Dcm_01203] 📄 PDF

Std_ReturnType Xxx_Start ([ DcmDspRoutineSignalType dataIn_1, ... DcmDspRoutineSignalType dataIn_n ], [ const uint8* dataInVar ], Manager Dcm_OpStatusType OpStatus, [ DcmDspRoutineSignalType dataOut_1, ... DcmDspRoutineSignalType dataOut_n ], [ uint8* dataOutVar ], [ uint16* currentDataLength ], Dcm_NegativeResponseCodeType ErrorCode); ⚠️

This function requests to the application to start the execution of a routine.

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

Die Funktion Xxx_Start wird über die Header-Datei Dcm_Externals.h deklariert und fordert die Anwendungssoftware auf, die Ausführung einer Diagnose-Routine zu starten [SWS_Dcm_01203]. Das Modul DCM ruft diese Funktion auf, sobald eine UDS-Dienstanforderung für RoutineControl (0x31) mit der Unterfunktion startRoutine empfangen und erfolgreich verifiziert wurde [SWS_Dcm_00400], oder wenn eine RoutineControl-Anforderung mit einer Nicht-Verfügbarkeits-OBDTestId eingeht [SWS_Dcm_01392].

Die Schnittstelle unterstützt feste sowie variable Datenformate und wird asynchron betrieben [SWS_Dcm_01203]:

  • Eingabeparameter: Feste Eingabesignale dataIn_1 bis dataIn_n oder variable Daten über das Bytefeld dataInVar sowie der Operationsstatus OpStatus [SWS_Dcm_01203].
  • Ausgabeparameter: Feste Ausgangssignale dataOut_1 bis dataOut_n oder variable Ausgangsdaten dataOutVar sowie der Fehlercode ErrorCode für negative Antwortmeldungen [SWS_Dcm_01203].
  • Längenparameter: Der Ein- und Ausgabeparameter currentDataLength transportiert bei variabler Datenlänge die Anzahl der Nutzbytes in dataInVar bzw. dataOutVar [SWS_Dcm_01203].
  • Rückgabewerte: E_OK bestätigt den erfolgreichen Start, E_NOT_OK meldet einen Fehlschlag, DCM_E_PENDING signalisiert noch andauernde Bearbeitungsschritte und DCM_E_FORCE_RCRRP fordert das vorzeitige Senden einer Pending-Rückmeldung (NRC 0x78) an [SWS_Dcm_01203].

Bezüglich der Nebenläufigkeit ist Xxx_Start als nicht reentrant (Non Reentrant) definiert [SWS_Dcm_01203]. Bei asynchronen Abläufen mit dem Rückgabewert DCM_E_PENDING ruft das DCM-Modul die Funktion zyklisch mit fortgeführtem OpStatus erneut auf, bis der Vorgang abgeschlossen ist [SWS_Dcm_01203].

Wird die Operation erfolgreich mit E_OK beendet, sendet das DCM-Modul eine positive UDS-Antwort mit den über dataOut bereitgestellten Daten als routineStatusRecord zurück [SWS_Dcm_00401]. Schlägt die Ausführung mit E_NOT_OK fehl, übermittelt das DCM eine negative Antwort mit dem im Parameter ErrorCode spezifizierten NRC [SWS_Dcm_01203]. Im Kontext von OBD-Routinen führt ein Rückgabewert ungleich E_OK zum Senden von NRC 0x22 [SWS_Dcm_01394].

Dieser Text wurde von einer KI generiert und dient der Orientierung. Maßgeblich ist ausschließlich die AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I2)

function Xxx_StartConfirmation [SWS_Dcm_91016] 📄 PDF

Std_ReturnType Xxx_StartConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);

This function indicates the transmission of a response to a StartRoutine request

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

Verwendung

Die Funktion Xxx_StartConfirmation zeigt gemäß [SWS_Dcm_91016] die Übertragung einer Antwort auf eine vorangegangene StartRoutine-Anforderung verbindlich an. Die Schnittstelle ist in der Header-Datei Dcm_Externals.h deklariert und besitzt eine synchrone Ausführungssemantik ([SWS_Dcm_91016]). Als einziger Eingangsparameter wird ConfirmationStatus vom Typ Dcm_ConfirmationStatusType übergeben, der den Bestätigungsstatus der Routineübertragung beschreibt. Zusätzliche Ein- und Ausgabeparameter existieren laut Spezifikation nicht ([SWS_Dcm_91016]).

Fehlerbehandlung und Rückgabewerte

Als Rückgabewert liefert die Funktion einen Statuswert vom Typ Std_ReturnType ([SWS_Dcm_91016]). Dabei bestätigt der Wert E_OK die erfolgreiche Durchführung der Anforderung, wohingegen E_NOT_OK eine nicht erfolgreiche Verarbeitung signalisiert. Spezifische Fehlercodes oder explizite Meldungen an das Development Error Tracer (DET) oder Diagnostic Event Manager (DEM) sind für diese Funktion im Payload nicht definiert.

Nebenläufigkeit und Einschränkungen

Hinsichtlich der Nebenläufigkeit ist Xxx_StartConfirmation als nicht reentrant (Non Reentrant) klassifiziert ([SWS_Dcm_91016]). Dies erfordert vom Aufrufer, dass konkurrierende oder überlappende Ausführungen strikt vermieden werden. Interpretation: Die Funktion dürfte vom DCM aufgerufen werden, um die anwendungsseitige Routine-Implementierung über den Abschluss des Sendevorgangs zu benachrichtigen. Frage Q-be2dafd63bf2a9a5 (offen)

Dieser Text wurde von einer KI erstellt und basiert auf dem AUTOSAR-Standard Release R20-11.

Implementer's Guide folgt (Komplexität I2)

function Xxx_Stop [SWS_Dcm_01204] 📄 PDF

Std_ReturnType Xxx_Stop ([ DcmDspRoutineSignalType dataIn_1, ... DcmDspRoutineSignalType dataIn_n ], [ const uint8* dataInVar ], [ DcmDspRoutineSignalType dataOut_1, ... DcmDspRoutineSignalType dataOut_n ], [ uint8* dataOutVar ], [ uint16* currentDataLength ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to stop the execution of a routine

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

Verwendung

Die Funktion [SWS_Dcm_01204] wird vom DCM aufgerufen, um die Ausführung einer laufenden Diagnose-Routine in der Applikation zu beenden. Der Aufruf erfolgt im Rahmen des UDS-Dienstes RoutineControl (0x31) mit der Subfunktion stopRoutine, sobald die erforderlichen Vorprüfungen erfolgreich abgeschlossen sind [SWS_Dcm_00402]. Die Schnittstelle besitzt die Service-ID 0x5c und ist über die Header-Datei Dcm_Externals.h deklariert [SWS_Dcm_01204].

Parameter und Rückgabewerte

Abhängig von der Konfiguration der Routine übergibt das DCM feste oder variable Eingabedaten (dataIn_1 bis dataIn_n bzw. dataInVar) und Pufferreferenzen für Ausgabedaten (dataOut_1 bis dataOut_n bzw. dataOutVar) [SWS_Dcm_01204], [SWS_Dcm_00402]. Bei variabler Datenlänge enthält currentDataLength die Byteanzahl der Ein- bzw. Ausgabedaten [SWS_Dcm_01204]. Als Rückgabewerte von Std_ReturnType sind festgelegt:

  • E_OK: Routine erfolgreich beendet; das DCM übermittelt eine positive UDS-Antwort mit den erzeugten Ausgabedaten als routineStatusRecord [SWS_Dcm_01204], [SWS_Dcm_00403].
  • E_NOT_OK: Abbruch der Routine fehlgeschlagen; das DCM sendet eine negative UDS-Antwort mit dem in ErrorCode hinterlegten NRC [SWS_Dcm_01204].
  • DCM_E_PENDING: Operation ist noch in Bearbeitung; das DCM ruft die Funktion zur Fertigstellung erneut auf [SWS_Dcm_01204].
  • DCM_E_FORCE_RCRRP: Die Applikation fordert das DCM zur Übertragung einer Pending-Antwort (NRC 0x78) auf [SWS_Dcm_01204].

Nebenläufigkeit und Einschränkungen

Die Operation ist als asynchron und nicht reentrant (Non Reentrant) spezifiziert [SWS_Dcm_01204]. Tritt bei der Ausführung ein Fehler auf, muss die Applikation den Parameter ErrorCode mit dem passenden Dcm_NegativeResponseCodeType beschreiben und E_NOT_OK zurückgeben [SWS_Dcm_01204].

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

Implementer's Guide folgt (Komplexität I1)

function Xxx_StopConfirmation [SWS_Dcm_91017] 📄 PDF

Std_ReturnType Xxx_StopConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);

This function indicates the transmission of a response to a StopRoutine request

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

Die synchrone Funktion Xxx_StopConfirmation dient dazu, die Übertragung einer Antwort auf eine vorherige StopRoutine-Anforderung anzuzeigen [SWS_Dcm_91017]. Beim Aufruf übergibt das System über den Eingabeparameter ConfirmationStatus vom Typ Dcm_ConfirmationStatusType den konkreten Bestätigungsstatus der Routine-Beendigung [SWS_Dcm_91017]. Als Rückgabewert liefert die Schnittstelle einen Wert vom Typ Std_ReturnType: Hierbei zeigt E_OK an, dass die Anforderung erfolgreich bearbeitet wurde, während E_NOT_OK eine nicht erfolgreiche Anforderung signalisiert [SWS_Dcm_91017].

In Bezug auf Nebenläufigkeit und Aufrufbedingungen ist die Schnittstelle als nicht reentrant (Non Reentrant) spezifiziert und besitzt die Service-ID 0x69 [SWS_Dcm_91017]. Die Deklaration wird über die Header-Datei Dcm_Externals.h zur Verfügung gestellt [SWS_Dcm_91017]. Interpretation: Aufgrund der Bereitstellung über Dcm_Externals.h und des anpassbaren Präfixes Xxx_ dürfte die Funktion vom DCM-Modul aufgerufen und durch eine anwendungsspezifische Software-Komponente bzw. den zuständigen Routinen-Handler implementiert werden. Frage Q-743e69ff8cf92321 (offen)

Spezifische Fehlercodes oder Benachrichtigungen an das Entwicklungsfehler-Management (DET) oder Diagnostic Event Manager (DEM) sind in den Anforderungen nicht ausgewiesen. Das Verhalten im Fehlerfall beschränkt sich auf dieser Schnittstellenebene formal auf die Rückgabe des Fehlerwerts E_NOT_OK, wenn die Verarbeitung nicht erfolgreich abgeschlossen werden konnte [SWS_Dcm_91017].

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

Implementer's Guide folgt (Komplexität I2)

function Xxx_RequestResults [SWS_Dcm_91013] 📄 PDF

Std_ReturnType Xxx_RequestResults (Dcm_OpStatusType OpStatus, [ DcmDspRoutineSignalType* dataIn_1, ... DcmDspRoutineSignalType* dataIn_n ], [ const uint8* dataInVar ], [ DcmDspRoutineSignalType* dataOut_1, ... DcmDspRoutineSignalType* dataOut_n ], [ uint8* dataOutVar ], [ uint16* variableDataLength ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application the result of a routine execution

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

Die Funktion [SWS_Dcm_91013] wird vom DCM-Modul aufgerufen, um von der Applikation das Ergebnis einer Routineausführung abzufragen. Dies geschieht im Rahmen des UDS-Dienstes RoutineControl (0x31) mit der Subfunktion requestRoutineResults, sobald alle eingangsseitigen Prüfungen erfolgreich durchlaufen wurden [SWS_Dcm_00404]. Die Schnittstelle ist über Dcm_Externals.h verfügbar, arbeitet asynchron und ist als nicht reentrant spezifiziert [SWS_Dcm_91013].

Über den Parameter OpStatus steuert das DCM-Modul den Ablauf der Operation. Die Funktion nimmt feste Eingabedaten (dataIn_1 bis dataIn_n) oder variable Daten (dataInVar) entgegen, die aus dem routineControlOptionRecord abgeleitet werden [SWS_Dcm_00404]. Über feste Ausgabeparameter (dataOut_1 bis dataOut_n) oder variable Ausgabepuffer (dataOutVar und variableDataLength) übergibt die Applikation die Ergebnisdaten an den DCM [SWS_Dcm_91013].

Wird die Abfrage erfolgreich mit E_OK abgeschlossen, führt das DCM-Modul die Ausgabedaten anhand des Konfigurationsparameters DcmDspRequestRoutineResultsOut zu einem routineStatusRecord zusammen und versendet eine positive Antwort [SWS_Dcm_00405]. Falls die Operation noch andauert, kann die Applikation DCM_E_PENDING für Folgeaufrufe oder DCM_E_FORCE_RCRRP zum Senden einer vorläufigen Antwort (NRC 0x78) zurückgeben [SWS_Dcm_91013].

Im Fehlerfall liefert die Funktion E_NOT_OK zurück und setzt ErrorCode auf den zutreffenden NRC-Wert, woraufhin das DCM-Modul eine entsprechende negative Antwort übermittelt [SWS_Dcm_91013]. Da die Funktion nicht reentrant ist, darf sie für dieselbe Routine nicht parallel aufgerufen werden [SWS_Dcm_91013].

Automatisch generierter Nutzungshinweis auf Basis von AUTOSAR R20-11.

Implementer's Guide folgt (Komplexität I2)

function Xxx_RequestResultsConfirmation [SWS_Dcm_91018] 📄 PDF

Std_ReturnType Xxx_RequestResultsConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);

This function indicates the transmission of a response to a RequestRoutineResults request

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

Verwendung und Semantik

Die Funktion Xxx_RequestResultsConfirmation dient der Bestätigung einer übertragenen Diagnoseantwort auf eine RequestRoutineResults-Anforderung [SWS_Dcm_91018]. Sie ist in der Header-Datei Dcm_Externals.h deklariert und besitzt die Service-ID 0x70 [SWS_Dcm_91018]. Über den Eingangsparameter ConfirmationStatus vom Typ Dcm_ConfirmationStatusType erhält die Implementierung Information darüber, mit welchem Status die Übertragung der Routine-Ergebnisse abgeschlossen wurde [SWS_Dcm_91018]. Der Aufruf wird synchron ausgeführt und gibt einen Std_ReturnType zurück, wobei E_OK eine erfolgreiche Bearbeitung anzeigt und E_NOT_OK ein Fehlschlagen signalisiert [SWS_Dcm_91018].

Nebenläufigkeit und Einschränkungen

Gemäß Spezifikation ist die Funktion als nicht reentrant (Non Reentrant) eingestuft [SWS_Dcm_91018]. Daher dürfen gleichzeitige Aufrufe für dieselbe Instanz nicht stattfinden. Interpretation: Der Aufruf durch das DCM-Modul erfolgt sequenziell im Kontext der Antwortbestätigung, weshalb die Funktion ohne blockierende Operationen ausgeführt werden sollte. Frage Q-935a06744e7b9af7 (offen)

Fehlerbehandlung und Zusammenspiel

Die Fehlerbehandlung beschränkt sich auf den Rückgabewert E_NOT_OK, da gesonderte Entwicklungsfehler (DET) oder Produktionsfehler (DEM) für diesen Aufruf nicht spezifiziert sind [SWS_Dcm_91018]. Interpretation: Die Funktion dient als anwendungsspezifischer Bestätigungsendpunkt (Callback) für das DCM, um nach dem Versand der Routinenergebnisse den Abschluss des Diagnoseauftrags auf Anwenderebene zu synchronisieren. Frage Q-d3dd0142a30e1363 (offen)

Dieser Text wurde von einer KI erstellt. Angaben basieren auf AUTOSAR CP R20-11.

Implementer's Guide folgt (Komplexität I2)

function Xxx_RequestControl [SWS_Dcm_01338] 📄 PDF

Std_ReturnType Xxx_RequestControl (uint8* OutBuffer, const uint8* InBuffer);

Invokes a TID-specific function taking a configured number of bytes as input and returing a fixed number of bytes as output. This is typically used to implement OBD Service $08

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

Die Funktion Xxx_RequestControl dient der Ausführung einer TID-spezifischen Steuerfunktion und wird typischerweise zur Implementierung von OBD Service $08 eingesetzt ([SWS_Dcm_01338]). Das DCM-Modul ruft die konfigurierte Funktion synchron auf, sobald eine OBD-Service-$08-Anfrage empfangen wird, deren Test-ID (TID) keine Verfügbarkeits-TID („availability TID“) darstellt ([SWS_Dcm_00419]). Die Deklaration der Schnittstelle wird über die Header-Datei Dcm_Externals.h bereitgestellt ([SWS_Dcm_01338]).

Parameter und Pufferhandhabung

  • InBuffer: Zeiger auf die Nutzdaten der empfangenen OBD-Anforderung. Die Bytezahl dieser Eingabedaten muss exakt der im DCM-Modul konfigurierten Größe entsprechen ([SWS_Dcm_00419], [SWS_Dcm_01338]).
  • OutBuffer: Zeiger auf den Ausgabepuffer, in dem die aufgerufene Steuerfunktion ihre Ergebnisse ablegt. Die Puffergröße ist fest vorgegeben und wird der Konfiguration des DCM-Moduls entnommen ([SWS_Dcm_00419], [SWS_Dcm_01338]).

Rückgabewerte und Fehlerbehandlung

Die Funktion liefert als Statuswert Std_ReturnType zurück: Der Wert E_OK signalisiert eine erfolgreiche Abarbeitung, während E_NOT_OK einen Fehlerzustand anzeigt ([SWS_Dcm_01338]). Liefert Xxx_RequestControl ein anderes Ergebnis als E_OK zurück, reagiert das DCM-Modul mit dem negativen Antwortcode NRC 0x22 (Conditions Not Correct) gegenüber dem Diagnose-Tester ([SWS_Dcm_01192]).

Nebenläufigkeit und Einschränkungen

Die Funktion ist als nicht reentrant (Non Reentrant) spezifiziert und besitzt die Service-ID 0x63 ([SWS_Dcm_01338]).

KI-Hinweis: Dieser Text wurde automatisch auf Basis der Spezifikation AUTOSAR Classic R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

function Xxx_StartProtocol [SWS_Dcm_01339] 📄 PDF

Std_ReturnType Xxx_StartProtocol (Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress, uint16 ConnectionId);

This function allows the application to examine the environment conditions and enable/disable further processing of the protocol.

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

Die Callback-Funktion Xxx_StartProtocol wird über den Header Dcm_Externals.h bereitgestellt und ermöglicht der Applikation, bei der ersten Anfrage eines Diagnoseprotokolls aktuelle Umgebungsbedingungen zu prüfen und die weitere Protokollverarbeitung freizugeben oder abzulehnen [SWS_Dcm_01339].

Aufrufkontext und Parameter

Der Aufruf erfolgt durch das DSL-Submodul des DCM synchron und nicht-reentrant für alle konfigurierten Funktionen [SWS_Dcm_00036], [SWS_Dcm_01339]. An die Funktion werden folgende Eingangsparameter übergeben [SWS_Dcm_01339]:

  • ProtocolType: Typ des zu startenden Diagnoseprotokolls,
  • TesterSourceAddress: Quelladresse des anfragenden Testers,
  • ConnectionId: Eindeutige Kennung der Verbindung.

Rückgabewerte und Fehlerbehandlung

Als Rückgabewert liefert die Funktion Std_ReturnType mit E_OK bei erfolgreicher Freigabe, E_NOT_OK bei nicht erfolgreicher Prüfung oder E_PROTOCOL_NOT_ALLOWED, falls das Protokoll unzulässig ist [SWS_Dcm_01339]. Gibt mindestens eine konfigurierte Xxx_StartProtocol-Funktion nicht E_OK zurück, bricht das DCM den Protokollstart ab und antwortet mit NRC 0x22 [SWS_Dcm_00674].

Initialisierung nach erfolgreicher Freigabe

Erst wenn alle konfigurierten Xxx_StartProtocol-Callbacks E_OK zurückgegeben haben, führt das DCM die weiteren Initialisierungsschritte aus:

  • Laden der Standard-Timing-Parameter aus der Default-Session-Konfiguration [SWS_Dcm_00144],
  • Aktivieren der Diensttabelle [SWS_Dcm_00145],
  • Zurücksetzen des Sicherheitsstatus (Security State) [SWS_Dcm_00146],
  • Rücksetzen des Sitzungsstatus auf die Standard-Diagnosesitzung sowie Ausführen des Moduswechsels über SchM_Switch_<bsnp>_DcmDiagnosticSessionControl auf RTE_MODE_DcmDiagnosticSessionControl_DEFAULT_SESSION [SWS_Dcm_00147].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikationsanforderungen von AUTOSAR R20-11 erstellt.

Implementer's Guide folgt (Komplexität I2)

function Xxx_StopProtocol [SWS_Dcm_01340] 📄 PDF

Std_ReturnType Xxx_StopProtocol (Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress, uint16 ConnectionId);

This function informs the application of the protocol stop.

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

Die synchrone Callback-Funktion Xxx_StopProtocol informiert die Anwendung über das Beenden eines Diagnoseprotokolls ([SWS_Dcm_01340]). Sie wird über die Header-Datei Dcm_Externals.h deklariert und ist als nicht reentrant (Non Reentrant) spezifiziert ([SWS_Dcm_01340]).

Der Aufruf aller konfigurierten Xxx_StopProtocol-Funktionen (konfiguriert über den Parameter DcmDslCallbackDCMRequestService) wird vom DSL-Submodul in folgenden Preemption-Szenarien ausgelöst:

  • Eine laufende Diagnoseanforderung wird durch eine höher priorisierte Anforderung eines anderen Protokolls verdrängt ([SWS_Dcm_00459]).
  • Eine Anforderung mit niedrigerer oder gleicher Priorität verdrängt ein höher priorisiertes Protokoll, sofern sich dieses in der Default Session befindet und keine aktive Anforderung in der Ausführungsphase ist ([SWS_Dcm_00625]).

Beim Aufruf werden der Protokolltyp (ProtocolType), die Tester-Quelladresse (TesterSourceAddress) sowie die Verbindungskennung (ConnectionId) übergeben ([SWS_Dcm_01340]). Als Rückgabewert liefert die Funktion E_OK bei erfolgreicher Durchführung oder E_NOT_OK ([SWS_Dcm_01340]). Liefert die Funktion nicht E_OK zurück, antwortet das DCM mit dem negativen Antwortcode NRC 0x22 ([SWS_Dcm_01190]).

Dieser Text wurde automatisiert generiert und basiert ausschließlich auf den Spezifikationsvorgaben zu AUTOSAR Classic R20-11.

Implementer's Guide folgt (Komplexität I1)

function Xxx_Indication [SWS_Dcm_01341] 📄 PDF

Std_ReturnType Xxx_Indication (uint8 SID, const uint8* RequestData, uint32 DataSize, uint8 ReqType, uint16 ConnectionId, Dcm_NegativeResponseCodeType* ErrorCode, Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress);

This function indicates to the application that a service is about to be executed and allows the application to reject the execution of the service request

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

Die synchrone, nicht-reentrante Funktion Xxx_Indication wird über den Header Dcm_Externals.h deklariert [SWS_Dcm_01341]. Sie zeigt der Applikation die bevorstehende Ausführung eines Diagnosedienstes an und ermöglicht es ihr, die Ausführung der Service-Anforderung abzulehnen [SWS_Dcm_01341]. Der Aufruf erfolgt synchron durch das DSD-Submodul an allen konfigurierten ServiceRequestIndication-Ports, wenn die Konfigurationscontainer DcmDsdServiceRequestManufacturerNotification [SWS_Dcm_00218] oder DcmDsdServiceRequestSupplierNotification [SWS_Dcm_00516] vorhanden sind.

Als Eingabeparameter werden die Service-ID (SID), die Anforderungsdaten ohne SID (RequestData, DataSize), der Adressierungstyp (ReqType), die Verbindungs-ID (ConnectionId), der Protokolltyp (ProtocolType) und die Quelladresse des Testers (TesterSourceAddress) übergeben [SWS_Dcm_01341].

Über den Rückgabewert vom Typ Std_ReturnType steuert die Applikation die Reaktion des DSD-Submoduls [SWS_Dcm_01341]:

  • E_OK: Die Anforderung war erfolgreich und wird regulär weiterverarbeitet [SWS_Dcm_01341].
  • E_REQUEST_NOT_ACCEPTED: Die Anforderung wird nicht akzeptiert. Gibt mindestens eine aufgerufene Indication-Funktion E_REQUEST_NOT_ACCEPTED zurück, unterdrückt das DSD-Submodul jegliche Antwort an den Tester [SWS_Dcm_00462], [SWS_Dcm_00517].
  • E_NOT_OK: Die Anforderung war nicht erfolgreich. Die Applikation schreibt in diesem Fall einen negativen Antwortcode in den Ausgabeparameter ErrorCode [SWS_Dcm_01341]. Sofern kein Aufruf E_REQUEST_NOT_ACCEPTED zurückgibt, sendet das DSD-Submodul eine negative Antwort mit diesem NRC [SWS_Dcm_00463], [SWS_Dcm_00518].

Geben bei mehreren konfigurierten Benachrichtigungen mehrere Funktionen E_NOT_OK zurück und keine Funktion E_REQUEST_NOT_ACCEPTED, so verwendet das DSD-Submodul für die negative Antwort verbindlich den ErrorCode der ersten mit E_NOT_OK antwortenden Funktion [SWS_Dcm_01321], [SWS_Dcm_01322].

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

Implementer's Guide folgt (Komplexität I2)

function Xxx_Confirmation [SWS_Dcm_01342] 📄 PDF

Std_ReturnType Xxx_Confirmation (uint8 SID, uint8 ReqType, uint16 ConnectionId, Dcm_ConfirmationStatusType ConfirmationStatus, Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress);

This function confirms to the application the successful transmission or a transmission error of a diagnostic service.

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

Die Callback-Funktion Xxx_Confirmation dient dazu, der Applikation den Abschluss einer Diagnoseübertragung – entweder die erfolgreiche Aussendung oder einen Übertragungsfehler – synchron mitzuteilen ([SWS_Dcm_01342]). Die Deklaration wird über den Header Dcm_Externals.h bereitgestellt ([SWS_Dcm_01342]).

Beim Aufruf durch das DCM-Submodul DSD (Diagnostic Service Dispatcher) werden wesentliche Kontextdaten des Diagnoseauftrags übergeben ([SWS_Dcm_01342], [SWS_Dcm_00741]):

  • SID: Identifikator des Diagnosedienstes ([SWS_Dcm_01342]).
  • ReqType: Adressierungsart (0 für physikalisch, 1 für funktional) ([SWS_Dcm_01342]).
  • ConnectionId, ProtocolType und TesterSourceAddress: Eindeutige Verbindungs- und Protokollattribute sowie die Quelladresse des Testers ([SWS_Dcm_01342]).
  • ConfirmationStatus: Statusinformation über Erfolg oder Fehler der Übertragung ([SWS_Dcm_01342]).

Als Rückgabewert liefert die Operation Std_ReturnType (E_OK bei erfolgreicher Bestätigungsverarbeitung, andernfalls E_NOT_OK) ([SWS_Dcm_01342]). Das DSD ruft die Funktion auf allen Ports auf, die das Interface ServiceRequestNotification nutzen (konfiguriert über DcmDsdServiceRequestManufacturerNotification bzw. DcmDsdServiceRequestSupplierNotification) ([SWS_Dcm_00741]).

Bezüglich der Aufrufreihenfolge wird Xxx_Confirmation regulär direkt im Anschluss an DspInternal_DcmConfirmation() ausgeführt ([SWS_Dcm_00742]). Liegt jedoch der Sonderfall nach [SWS_Dcm_01172] vor, ruft das DSD ausschließlich Xxx_Confirmation auf, während der interne Aufruf entfällt.

Da Xxx_Confirmation als nicht reentrant (Non Reentrant) und synchron spezifiziert ist ([SWS_Dcm_01342]), dürfte die anwendungsseitige Implementierung keine blockierenden Abläufe enthalten und keine reentranten Rückaufrufe in das DCM auslösen (Interpretation). Frage Q-58ce3e44dc61540b (offen)

Dieser Text wurde von einer KI erstellt. Alle Angaben basieren ausschließlich auf dem AUTOSAR-Spezifikationsumfang des Releases R20-11.

Implementer's Guide folgt (Komplexität I2)

function Xxx_ClearDTCCheckFnc [SWS_Dcm_01270] 📄 PDF

Std_ReturnType Xxx_ClearDTCCheckFnc (uint32 GoDTC, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function for condition check, manufacturer / supplier specific checks on the groupOf DTC, which is requested to clear.

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

Verwendung

Die synchrone Callout-Funktion Xxx_ClearDTCCheckFnc wird über die Header-Datei Dcm_Externals.h für die Applikation bereitgestellt [SWS_Dcm_01270]. Sie dient zur hersteller- und lieferantenspezifischen Überprüfung von Bedingungen vor dem Löschen einer angeforderten Gruppe von Diagnose-Fehlercodes (Group of DTC). Als Eingabeparameter wird ihr der Bezeichner GoDTC vom Typ uint32 übergeben, der die zu löschende Fehlercodegruppe spezifiziert [SWS_Dcm_01270].

Fehlerbehandlung und Rückgabewerte

Die Freigabe der Löschanforderung erfolgt über den Rückgabewert vom Typ Std_ReturnType im Zusammenspiel mit dem Ausgabeparameter ErrorCode [SWS_Dcm_01270]:

  • E_OK: Die Applikation gestattet das Löschen der angeforderten Fehlercodegruppe GoDTC [SWS_Dcm_01270].
  • E_NOT_OK: Die Applikation untersagt das Löschen der Gruppe. In diesem Fehlerfall muss über den Ausgabeparameter ErrorCode vom Typ Dcm_NegativeResponseCodeType* ein negativer Antwortcode gesetzt werden. Das Modul DCM versendet daraufhin eine negative Antwort mit dem in ErrorCode angegebenen NRC-Wert [SWS_Dcm_01270].

Nebenläufigkeit und Einschränkungen

Die Funktion ist mit der Service-ID 0x5f versehen, arbeitet synchron und ist als nicht reentrant (Non Reentrant) definiert [SWS_Dcm_01270]. Der Aufrufkontext muss daher gewährleisten, dass Aufrufe sequenziell und ohne nebenläufige Überlappungen erfolgen.

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

function Xxx_ProcessRequestDownload [SWS_Dcm_00754] 📄 PDF

Std_ReturnType Xxx_ProcessRequestDownload (Dcm_OpStatusType OpStatus, uint8 DataFormatIdentifier, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint32* BlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this callout function to start a download process. This service is needed for the implementation of UDS service RequestDownload.

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

Die Callout-Funktion Xxx_ProcessRequestDownload ([SWS_Dcm_00754]) wird vom Modul Dcm aufgerufen, um bei der Verarbeitung des UDS-Dienstes RequestDownload einen Download-Vorgang zu initiieren. Sie ist als asynchron und nicht reentrant definiert und wird über den Header Dcm_Externals.h bereitgestellt ([SWS_Dcm_00754]).

Verwendung und Parameter

Der Aufruf erfolgt schrittweise über den Parameter OpStatus mit den Werten DCM_INITIAL, DCM_PENDING oder DCM_CANCEL ([SWS_Dcm_00754]). Als Eingabeparameter werden Kompressions- und Verschlüsselungsverfahren (DataFormatIdentifier), der Speicherblock (MemoryIdentifier), die Startadresse (MemoryAddress) und die unkomprimierte Speichergröße in Bytes (MemorySize) übergeben ([SWS_Dcm_00754]). Vor dem Aufruf beschreibt das Dcm den Inout-Parameter BlockLength mit der maximal möglichen Puffergröße ([SWS_Dcm_01417]). Die Funktion passt diesen Wert auf die maximal zulässige Blocklänge für spätere Schreiboperationen an ([SWS_Dcm_00754]).

Rückgabewerte und Zusammenspiel

Die Funktion liefert E_OK bei erfolgreicher Ausführung, DCM_E_PENDING, falls die Bearbeitung noch andauert, oder E_NOT_OK bei einem Fehler ([SWS_Dcm_00754]):

  • Liefert der Aufruf E_OK und ist der verhandelte Wert BlockLength kleiner oder gleich der unterstützten Pufferlänge der aktuellen Protokollverbindung, sendet das Dcm eine positive Antwort mit diesem Wert als maxNumberOfBlockLength ([SWS_Dcm_01419]).
  • Übersteigt die zurückgegebene Pufferlänge die unterstützte Puffergröße der Protokollverbindung, meldet das Dcm den DET-Fehler DCM_E_INTERFACE_BUFFER_OVERFLOW ([SWS_Dcm_01418]).
  • Bei Rückgabe von E_NOT_OK versendet das Dcm eine negative UDS-Antwort (NRC) mit dem im Ausgabeparameter ErrorCode gesetzten Wert ([SWS_Dcm_00754], [SWS_Dcm_00757]).

Dieser Nutzungshinweis wurde automatisch erstellt und dient als Hilfestellung zur AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I2)

function Xxx_ProcessRequestTransferExit [SWS_Dcm_00755] 📄 PDF

Std_ReturnType Xxx_ProcessRequestTransferExit (Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this callout function to terminate a download or upload process. This callout is needed for the implementation of UDS service RequestTransferExit.

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

Die Callout-Funktion Xxx_ProcessRequestTransferExit wird vom DCM-Modul aufgerufen, um einen laufenden Download- oder Upload-Prozess im Rahmen des UDS-Dienstes RequestTransferExit zu beenden [SWS_Dcm_00755]. Die Deklaration der Schnittstelle wird über den Header Dcm_Externals.h bereitgestellt [SWS_Dcm_00755].

Verwendung und Semantik

Die Funktion wird asynchron betrieben und ist als nicht reentrant definiert [SWS_Dcm_00755]. Der Aufruf erfolgt unter Übergabe des aktuellen Ausführungsstatus OpStatus (mögliche Werte: DCM_INITIAL, DCM_PENDING oder DCM_CANCEL) [SWS_Dcm_00755]. Als Rückgabewerte vom Typ Std_ReturnType sind spezifiziert:

  • E_OK: Der Transfer wurde erfolgreich beendet [SWS_Dcm_00755].
  • DCM_E_PENDING: Die Übertragungsbeendigung ist noch nicht abgeschlossen und erfordert Folgeaufrufe [SWS_Dcm_00755].
  • E_NOT_OK: Die Beendigung schlug fehl oder der Antwortpuffer ist zu klein [SWS_Dcm_00755].

Fehlerbehandlung und Zusammenspiel

Gibt die Operation Xxx_ProcessRequestTransferExit den Fehlerwert E_NOT_OK zurück, muss über den Ausgabeparameter ErrorCode ein negativer Antwortcode übergeben werden. Das DCM-Modul sendet daraufhin eine negative UDS-Antwort (NRC) mit genau diesem Fehlercode an das Diagnoseprüfgerät [SWS_Dcm_00759]. Bei einem Abbruchaufruf übergibt das DCM-Modul den Status DCM_CANCEL an die Funktion [SWS_Dcm_00755].

Dieser Text wurde automatisch erstellt. Alle Angaben basieren ausschließlich auf der AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I2)

function Xxx_ProcessRequestUpload [SWS_Dcm_00756] 📄 PDF

Std_ReturnType Xxx_ProcessRequestUpload (Dcm_OpStatusType OpStatus, uint8 DataFormatIdentifier, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint32* BlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this callout function to start an upload process. This service is needed for the implementation of UDS service RequestUpload.

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

Die Callout-Funktion Xxx_ProcessRequestUpload wird vom DCM-Modul aufgerufen, um den UDS-Dienst RequestUpload zu initiieren ([SWS_Dcm_00756]). Sie wird über Dcm_Externals.h bereitgestellt und ist als nicht reentrant sowie asynchron spezifiziert ([SWS_Dcm_00756]). Über den Parameter OpStatus (mit den Zuständen DCM_INITIAL, DCM_PENDING, DCM_CANCEL oder DCM_FORCE_RCRRP_OK) steuert der DCM den Ablauf der Operation ([SWS_Dcm_00756]).

Beim Aufruf übergibt der DCM unter anderem die Kompressions- und Verschlüsselungsmethode (DataFormatIdentifier), den Speicherblock (MemoryIdentifier), die Startadresse (MemoryAddress) sowie die unkomprimierte Speichergröße in Bytes (MemorySize) ([SWS_Dcm_00756]). Der In/Out-Parameter BlockLength definiert die maximale Anzahl an Bytes für einen nachfolgenden Dcm_ReadMemory-Aufruf; vor dem Aufruf schreibt der DCM die maximal mögliche Puffergröße in diesen Parameter ([SWS_Dcm_00756], [SWS_Dcm_01420]).

Als Rückgabewerte von Xxx_ProcessRequestUpload sind E_OK bei erfolgreicher Anfrage, E_NOT_OK bei Fehlern und DCM_E_PENDING bei noch nicht abgeschlossener Verarbeitung definiert ([SWS_Dcm_00756]):

  • Gibt die Funktion E_NOT_OK zurück, sendet das DCM-Modul eine negative UDS-Antwort mit dem im Ausgabeparameter ErrorCode gesetzten NRC-Wert ([SWS_Dcm_00756], [SWS_Dcm_00758]).
  • Liefert die Funktion einen angeforderten Pufferwert in BlockLength zurück, der kleiner oder gleich der unterstützten Pufferlänge der aktuellen Protokollverbindung ist, verwendet der DCM diesen Wert als maxNumberOfBlockLength in der positiven Antwort ([SWS_Dcm_01422]).
  • Fällt die zurückgegebene Pufferlänge hingegen größer aus als die von der Protokollverbindung unterstützte Pufferlänge, meldet der DCM den DET-Fehler DCM_E_INTERFACE_BUFFER_OVERFLOW ([SWS_Dcm_01421]).

Dieser Text wurde von einer KI erstellt. Er basiert ausschließlich auf den Spezifikationen des übergebenen AUTOSAR-Payloads.

Implementer's Guide folgt (Komplexität I2)

function Xxx_ProcessTransferDataRead [SWS_Dcm_91070] 📄 PDF

Dcm_ReturnReadMemoryType Xxx_ProcessTransferDataRead (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, Dcm_RequestDataArrayType MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);

The ProcessTransferDataRead callout is used to request memory data identified by the parameter memoryAddress and memorySize from the UDS request message. This service is needed for the implementation of UDS services: • ReadMemoryByAddress • RequestUpload • ReadDataByIdentifier (in case of Dynamical DID defined by memory address) • TransferData

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

Die Callout-Funktion Xxx_ProcessTransferDataRead dient dem asynchronen Auslesen von Speicherdaten aus dem Steuergerät anhand von Startadresse (MemoryAddress) und Länge (MemorySize) gemäß [SWS_Dcm_91070]. Sie wird über den Header Dcm_Externals.h bereitgestellt und unterstützt die UDS-Dienste ReadMemoryByAddress, RequestUpload, TransferData sowie ReadDataByIdentifier bei dynamisch über Speicheradressen definierten DIDs [SWS_Dcm_91070].

Der Aufruf erfolgt nicht reentrant (Non Reentrant) und wird über den Parameter OpStatus gesteuert ([SWS_Dcm_91070]):

  • DCM_INITIAL: Startet die Leseoperation.
  • DCM_PENDING: Setzt einen noch nicht abgeschlossenen Lesevorgang fort.
  • DCM_CANCEL: Bricht die laufende Operation ab.
  • DCM_FORCE_RCRRP_OK: Bestätigt die Übertragung einer ausstehenden Antwort.

Zur Adressierung kann über MemoryIdentifier ein Speicherblock bzw. -bereich ausgewählt werden; wird dieser Parameter nicht genutzt, ist er zwingend auf 0 zu setzen [SWS_Dcm_91070]. Die ausgelesenen Daten werden über den Ausgabeparameter MemoryData zurückgegeben, der direkt auf den Diagnosepuffer des DCM verweist [SWS_Dcm_91070].

Als Rückgabewerte sind DCM_READ_OK bei Erfolg, DCM_READ_PENDING bei noch andauerndem Auslesen sowie DCM_READ_FORCE_RCRRP definiert, wenn der Vorgang aussteht und unmittelbar eine Response-Pending-Nachricht gesendet werden soll [SWS_Dcm_91070]. Schlägt das Lesen fehl, liefert die Funktion DCM_READ_FAILED; in diesem Fall muss über den Zeiger ErrorCode ein negativer Antwortcode (NRC) übergeben werden, den das DCM in einer negativen Antwort übermittelt [SWS_Dcm_91070]. (Interpretation: Die Spezifikationsnotiz zu ErrorCode erwähnt zwar Dcm_ReadMemory, dürfte sich hier jedoch sinngemäß auf das Scheitern dieses Callouts beziehen.) Frage Q-fe76e2599624baf7 (offen)

Dieser Nutzungshinweis basiert auf der Spezifikation AUTOSAR CP R20-11 und wurde automatisiert erstellt.

Implementer's Guide folgt (Komplexität I2)

function Xxx_ProcessTransferDataWrite [SWS_Dcm_91071] 📄 PDF

Dcm_ReturnWriteMemoryType Xxx_ProcessTransferDataWrite (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, const Dcm_RequestDataArrayType MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);

The ProcessTransferDataWrite callout is used to write memory data identified by the parameter memoryAddress and memorySize. This service is needed for the implementation of UDS services : • WriteMemoryByAddress • RequestDownload • TransferData

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

Verwendung und Semantik

Der asynchrone Callout Xxx_ProcessTransferDataWrite (Service-ID 0x27) ist über Dcm_Externals.h verfügbar und wird vom DCM-Modul aufgerufen, um Speicherdaten für die UDS-Dienste WriteMemoryByAddress, RequestDownload und TransferData zu schreiben [SWS_Dcm_91071]. Der Ablauf des Schreibvorgangs wird über den Parameter OpStatus mit den Werten DCM_INITIAL, DCM_PENDING, DCM_CANCEL oder DCM_FORCE_RCRRP_OK gesteuert [SWS_Dcm_91071].

Parameter und Rückgabewerte

Die Funktion verarbeitet folgende Parameter [SWS_Dcm_91071]:

  • MemoryIdentifier: Kennung des Speicherblocks; wird dieser Parameter nicht genutzt, ist er auf 0 zu setzen [SWS_Dcm_91071].
  • MemoryAddress: Startadresse des Server-Speichers, in den die Daten kopiert werden; bei Nichtverwendung (beispielsweise bei komprimierten Daten) ist der Wert 0 zu übergeben [SWS_Dcm_91071].
  • MemorySize: Anzahl der zu schreibenden Bytes in MemoryData [SWS_Dcm_91071].
  • MemoryData: Zeiger auf die zu schreibenden Daten im Diagnosepuffer des DCM [SWS_Dcm_91071].
  • ErrorCode: Ausgabeparameter für den negativen Antwortcode (NRC) im Fehlerfall [SWS_Dcm_91071].

Der Rückgabewert vom Typ Dcm_ReturnWriteMemoryType signalisiert das Ergebnis der Operation [SWS_Dcm_91071]:

  • DCM_WRITE_OK: Schreiboperation erfolgreich beendet [SWS_Dcm_91071].
  • DCM_WRITE_PENDING: Schreibvorgang ist noch nicht abgeschlossen [SWS_Dcm_91071].
  • DCM_WRITE_FORCE_RCRRP: Schreibvorgang steht noch aus; die Übertragung der ausstehenden Antwort (Response Pending) startet unverzüglich [SWS_Dcm_91071].
  • DCM_WRITE_FAILED: Schreiboperation ist fehlgeschlagen [SWS_Dcm_91071].

Fehlerbehandlung und Nebenläufigkeit

Gibt der Callout den Wert DCM_WRITE_FAILED zurück, versendet das DCM-Modul eine negative Antwort mit dem im Parameter ErrorCode übergebenen NRC-Wert [SWS_Dcm_91071]. Der Callout ist als nicht reentrant (Non Reentrant) spezifiziert und darf daher nicht nebenläufig ausgeführt werden [SWS_Dcm_91071].

Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Spezifikation erstellt.

Implementer's Guide folgt (Komplexität I2)

type Dcm_StatusType [SWS_Dcm_00976] 📄 PDF

Base item type to transport status information.

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

Der Typ Dcm_StatusType dient als grundlegender Status- und Rückgabetyp zur Übertragung von Statusinformationen innerhalb des Moduls Dcm und wird über die Header-Datei Dcm.h bereitgestellt [SWS_Dcm_00976]. Er basiert auf dem Standardtyp uint8 und definiert standardisierte Statuswerte für Rückmeldungen spezifischer DCM-Schnittstellen [SWS_Dcm_00976].

Definierte Statuswerte und Fehlerbehandlung

Die Spezifikation definiert für Dcm_StatusType folgende Status- und Fehlercodes [SWS_Dcm_00976]:

  • DCM_E_OK (0x00): Zeigt an, dass die angeforderte Operation erfolgreich ausgeführt bzw. angenommen wurde [SWS_Dcm_00976].
  • DCM_E_ROE_NOT_ACCEPTED (0x06): Gibt an, dass eine ResponseOnOneEvent-Anfrage vom DCM abgewiesen wurde, beispielsweise weil ein vorheriger ResponseOnOneEvent-Vorgang noch nicht abgeschlossen ist; der Wert kommt an der Schnittstelle Dcm_ResponseOnOneEvent() zum Einsatz [SWS_Dcm_00976].
  • DCM_E_PERIODICID_NOT_ACCEPTED (0x07): Signalisiert, dass eine periodische Übertragungsanforderung vom DCM nicht akzeptiert wurde, etwa weil eine laufende periodische Übertragung noch nicht beendet ist; dieser Status wird an der Schnittstelle Dcm_ResponseOnOneDataByPeriodicId() verwendet [SWS_Dcm_00976].

Einschränkungen und Aufrufbedingungen

Aufrufer der genannten Schnittstellen müssen den Rückgabewert vom Typ Dcm_StatusType auswerten, um festzustellen, ob neue Anforderungen unmittelbar akzeptiert werden können oder aufgrund noch laufender Übertragungen verworfen wurden [SWS_Dcm_00976]. Eine wiederholte Anforderung dürfte erst dann Aussicht auf Erfolg haben, sobald vorherige Ereignis- oder Sendevorgänge vollständig abgeschlossen sind [SWS_Dcm_00976]. Frage Q-901ec7e3aac8901c (offen)

Dieser Text wurde von einer KI erstellt und basiert auf der AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I1)

type Dcm_CommunicationModeType [SWS_Dcm_00981] 📄 PDF

– Manager

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

Der Datentyp Dcm_CommunicationModeType ist ein in Dcm.h deklarierter Aufzählungstyp auf Basis von uint8 ([SWS_Dcm_00981]). Er definiert die Kommunikationsmodi zur selektiven Steuerung der Sende- (Tx) und Empfangspfade (Rx). Der Wertebereich umfasst die Werte 0x00 bis 0x0B für normale Anwendungsdaten (NORM), das Netzwerkmanagement (NM) sowie beide Kommunikationszweige kombiniert (NORM_NM) ([SWS_Dcm_00981]).

Der Typ wird als Parameter bei Aufrufen der BSW-Schnittstelle BswM_Dcm_CommunicationMode_CurrentState verwendet. Über diese meldet der DCM nach der Bestätigung (Sent Confirmation) einer UDS-Dienstanforderung CommunicationControl (Service 0x28) den aktuellen Modus an den BSW Mode Manager weiter ([SWS_Dcm_00512], [SWS_Dcm_00785]). Der konkrete Moduswert entspricht dabei den Parametern communicationType und controlType der empfangenen Diagnoseanfrage ([SWS_Dcm_00512]).

Das Zusammenspiel und die betroffenen Netzwerke richten sich nach dem Subnetz-Parameter der UDS-Anforderung:

  • Bei Subnetz 0x00 erfolgt die Aktualisierung für alle in DcmDspComControlAllChannel konfigurierten Netzwerkkanäle ([SWS_Dcm_00512]).
  • Bei Subnetz 0x0F wird der Kommunikationsmodus des aktuellen Diagnose-Empfangskanals gemeldet ([SWS_Dcm_00785]).
  • Bei Subnetzen von 0x01 bis 0x0E wird die Unterstützung geprüft; nicht unterstützte Subnetze werden mit dem negativen Antwortcode 0x31 abgewiesen ([SWS_Dcm_00786]).
  • Bei Unterfunktionen mit erweiterter Adressierung (wie enableRxAndDisableTxWithEnhancedAddressInformation oder enableRxAndTxWithEnhancedAddressInformation) erfolgt der Aufruf für den über die Sub-Node-ID referenzierten Kanal ([SWS_Dcm_01077], [SWS_Dcm_01079]).

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

Implementer's Guide folgt (Komplexität I2)

type Dcm_ConfigType [SWS_Dcm_00982] 📄 PDF

This type defines a data structure for the post build parameters of the DCM . At initialization the DCM gets a pointer to a structure of this type to get access to its configuration data, which is necessary for initialization.

type Dcm_EcuStartModeType [SWS_Dcm_00987] 📄 PDF

Allows the DCM to know if a diagnostic response shall be sent in the case of a jump from bootloader

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

Der Datentyp Dcm_EcuStartModeType ist von uint8 abgeleitet und wird über den Header Dcm.h bereitgestellt [SWS_Dcm_00987]. Er dient dem Diagnostic Communication Manager (DCM) zur Feststellung des Startmodus und signalisiert, ob nach einem Wechsel aus dem Bootloader eine Diagnoseantwort übertragen werden soll [SWS_Dcm_00987].

Der Wertebereich umfasst zwei definierte Zustände [SWS_Dcm_00987]:

  • DCM_COLD_START (0x00): Das Steuergerät startet regulär im Normalbetrieb [SWS_Dcm_00987].
  • DCM_WARM_START (0x01): Das Steuergerät startet infolge eines Sprungs aus dem Bootloader [SWS_Dcm_00987].

Im Zusammenspiel der Schnittstellen fungiert Dcm_EcuStartModeType als synchroner Rückgabewert des Callouts Dcm_GetProgConditions, welches über Dcm_Externals.h verfügbar ist [SWS_Dcm_00544]. Diese Funktion wird während der DCM-Initialisierung aufgerufen, um zu ermitteln, ob eine positive Antwort ($50 oder $51) gesendet werden muss [SWS_Dcm_00544]. Die detaillierten Randbedingungen des Bootloader-Sprungs werden dem DCM dabei über den Ausgabeparameter ProgConditions übergeben [SWS_Dcm_00544].

Hinsichtlich Ausführung und Fehlerbehandlung ist das abrufende Callout als synchron und nicht reentrant definiert [SWS_Dcm_00544]. Spezifische Fehlercodes oder direkte Benachrichtigungen an DET oder DEM sind für diesen Datentyp nicht festgelegt.

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

Implementer's Guide folgt (Komplexität I1)

type Dcm_ProgConditionsType [SWS_Dcm_00988] 📄 PDF

Used in Dcm_SetProgConditions() to allow the integrator to store relevant information prior to jumping to bootloader / jump due to ECUReset request.

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

Die Struktur Dcm_ProgConditionsType dient dem Austausch von Zustands- und Kontextdaten zwischen Applikation und Bootloader bei Programmierabläufen oder einem Steuergeräte-Reset [SWS_Dcm_00988]. Sie bündelt Verbindungsinformationen wie ConnectionId und TesterAddress, Diagnoseidentifikatoren wie Sid und SubFncId sowie Steuerflags wie ReprogramingRequest, ApplUpdated und ResponseRequired [SWS_Dcm_00988].

Die Verwendung erfolgt über zwei zentrale Schnittstellen:

  • Vor dem Sprung in den Bootloader oder bei einem Reset übergibt der DCM die Struktur an die asynchrone, nicht reentrante Funktion Dcm_SetProgConditions() [SWS_Dcm_00543]. Mögliche Rückgabewerte sind E_OK, E_NOT_OK, DCM_E_PENDING sowie DCM_E_FORCE_RCRRP bei Anforderung einer Response-Pending-Nachricht (NRC 0x78) [SWS_Dcm_00543].
  • Nach dem Neustart ruft der DCM während seiner Initialisierung den synchronen, nicht reentranten Callout Dcm_GetProgConditions() auf, um die gespeicherten Bedingungen auszulesen und den Dcm_EcuStartModeType zu ermitteln [SWS_Dcm_00544]. Die Ablage dieser Daten durch den Integrator dürfte typischerweise über resetfesten RAM oder nichtflüchtigen Speicher erfolgen (Interpretation). Frage Q-026bc7bc93f5502c (offen)

Im weiteren Systemzusammenspiel wertet der DCM die Struktur aus: Sobald das ComM die volle Kommunikationsfähigkeit meldet, versendet der DCM die ausstehende Diagnoseantwort für die in Sid hinterlegte Dienstkennung [SWS_Dcm_00767]. Signalisiert ApplUpdated == True nach einem Bootloader-Sprung eine erfolgte Aktualisierung per Flash-Download, benachrichtigt der DCM über BswM_Dcm_ApplicationUpdated() das BswM [SWS_Dcm_00768].

Dieser Nutzungshinweis wurde automatisiert generiert und basiert ausschließlich auf den Spezifikationen der AUTOSAR-Version R20-11.

Implementer's Guide folgt (Komplexität I1)

type Dcm_MsgType [SWS_Dcm_00990] 📄 PDF

Base type for diagnostic message (request, positive or negative response)

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

Verwendung und Typdefinition

Der Datentyp Dcm_MsgType ist der zentrale Zeigertyp für diagnostische Nachrichten im Diagnostic Communication Manager und steht über den Header Dcm.h zur Verfügung [SWS_Dcm_00990]. Er ist als Zeiger auf Dcm_MsgItemType* deklariert und dient als gemeinsame Basis zur Referenzierung von Anfragen sowie positiven und negativen Antwortnachrichten [SWS_Dcm_00990]. Interpretation: Da der Basistyp Dcm_MsgItemType in der Spezifikation nicht näher ausgeführt ist, dürfte er typischerweise ein einzelnes Datenbyte (wie uint8) darstellen, über das sequenziell auf den linearen Nachrichtenpuffer zugegriffen wird. Frage Q-2b6f46b51d3cb8e0 (offen)

Zusammenspiel und Strukturkontext

Die primäre Verwendung von Dcm_MsgType erfolgt innerhalb der Kontextstruktur Dcm_MsgContextType [SWS_Dcm_00994]. Dort referenziert der Typ zwei getrennte Datenbereiche:

  • reqData: Verweist auf die Nutzdaten der Diagnoseanfrage, beginnend unmittelbar nach dem Service Identifier (SID), welcher selbst nicht Teil dieser Daten ist [SWS_Dcm_00994].
  • resData: Verweist auf die Daten einer positiven Antwort und setzt ebenfalls unmittelbar hinter dem Service Identifier an [SWS_Dcm_00994].

Puffergrenzen und Einschränkungen

Beim Verarbeiten und Befüllen der über Dcm_MsgType adressierten Antwortpuffer müssen Anwender strikt die zugehörigen Pufferbegrenzungen einhalten [SWS_Dcm_00994]. Die tatsächliche Antwortlänge resDataLen darf die durch resMaxDataLen definierte Pufferkapazität keinesfalls überschreiten, da die maximale Antwortgröße strikt durch die Allokation des zugewiesenen Puffers beschränkt ist [SWS_Dcm_00994].

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

type Dcm_MsgLenType [SWS_Dcm_00991] 📄 PDF

Length of diagnostic message (request, positive or negative response). The maximum length is dependent of the underlying transport protocol/media.

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

Der Datentyp Dcm_MsgLenType ist über den Header Dcm.h verfügbar und vom Basistyp uint32 abgeleitet [SWS_Dcm_00991]. Er wird im Diagnostic Communication Manager (DCM) verwendet, um die Länge diagnostischer Botschaften zu beschreiben. Dies umfasst sowohl Diagnoseanfragen (Requests) als auch positive und negative Antwortnachrichten (Responses) [SWS_Dcm_00991].

Hinsichtlich der Wertebereichsgrenzen legt die Spezifikation fest, dass die maximal übertragbare Länge einer Diagnosenachricht vom jeweils zugrunde liegenden Transportprotokoll bzw. Übertragungsmedium abhängt [SWS_Dcm_00991]. Interpretation: Obwohl der zugrunde liegende Datentyp uint32 softwareseitig Nachrichtenlängen von bis zu 4 GiB darstellen kann, dürfte die tatsächliche Maximallänge in der Praxis stets durch das Kommunikationsmedium sowie die Puffergrößen limitiert sein. Frage Q-ac43639ecb32605d (offen)

Eine zentrale Rolle spielt Dcm_MsgLenType in der Struktur Dcm_MsgContextType, welche den Kontext eines Diagnoseauftrags kapselt [SWS_Dcm_00994]. Innerhalb dieser Struktur typisiert er mehrere fundamentale Längenangaben:

  • reqDataLen: Repräsentiert die Länge der Anfragedaten (Request Data). Die Zählung beginnt unmittelbar nach dem Service-Identifier, sodass dieser nicht in der Längenangabe enthalten ist [SWS_Dcm_00994].
  • resDataLen: Gibt die Länge der positiven Antwortdaten an, ebenfalls exklusive des Service-Identifiers [SWS_Dcm_00994].
  • resMaxDataLen: Spezifiziert die maximal mögliche Länge einer Antwort, welche durch die Größe des allokierten Puffers beschränkt wird [SWS_Dcm_00994].

Bei der Implementierung von Service-Handlern ist daher strikt darauf zu achten, dass Längenberechnungen für reqDataLen und resDataLen stets ohne den Service-Identifier erfolgen und Antwortdaten die durch resMaxDataLen vorgegebene Puffergrenze nicht überschreiten [SWS_Dcm_00994].

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

type Dcm_MsgAddInfoType [SWS_Dcm_00992] 📄 PDF

Additional information on message request. Datastructure: Bitfield

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

Der Datentyp Dcm_MsgAddInfoType ist gemäß [SWS_Dcm_00992] als Bitfeld-Struktur definiert und dient der Bereitstellung ergänzender Status- und Steuerinformationen zu einer Diagnosenachricht. Der Typ wird im klassischen AUTOSAR über die Header-Datei Dcm.h zur Verfügung gestellt und kommt als Element msgAddInfo innerhalb der übergeordneten Kontextstruktur Dcm_MsgContextType ([SWS_Dcm_00994]) zum Einsatz, um Zusatzinformationen zu Service-Anfragen sowie zugehörigen Antworten konsistent zu bündeln.

Die Bitfeld-Struktur spezifiziert nach [SWS_Dcm_00992] einzelne Steuerflags mit genau definierter Bitposition:

  • reqType (Position LSB+0): Kennzeichnet die Adressierungsart der Diagnoseanfrage. Ein Wert von 0 signalisiert einen physikalischen Request (physical request), während ein Wert von 1 einen funktionalen Request (functional request) anzeigt.
  • suppressPosResponse (Position LSB+1): Bestimmt das Verhalten bezüglich positiver Antworten. Bei 0 wird die positive Antwort nicht unterdrückt (do not suppress), wohingegen ein Wert von 1 vorgibt, dass keine positive Antwort gesendet werden darf (no positive response will be sent).

Da Dcm_MsgAddInfoType eine reine Datenstruktur zur Parameter- und Kontextübergabe darstellt, existieren für diesen Typen selbst keine synchronen oder asynchronen Aufrufsemantiken, Rückgabewerte, Reentranzvorschriften oder eigene Fehlermeldungen für DET oder DEM. Die konkrete Auswertung und Berücksichtigung der gesetzten Bits im weiteren Ablauf obliegt vermutlich den internen Verarbeitungsroutinen des Diagnostic Communication Managers, wenn diese auf den Nachrichtenkontext aus [SWS_Dcm_00994] zugreifen. Frage Q-b27248cc452ba1b1 (offen)

Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe im AUTOSAR-Umfeld.

type Dcm_IdContextType [SWS_Dcm_00993] 📄 PDF

This message context identifier can be used to determine the relation between request and response confirmation.

type Dcm_MsgContextType [SWS_Dcm_00994] 📄 PDF

This data structure contains all information which is necessary to process a diagnostic message from request to response and response confirmation.

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

Die Datenstruktur Dcm_MsgContextType stellt alle notwendigen Informationen bereit, um eine Diagnoseanfrage von der Verarbeitung über die Antwort bis zur Bestätigung zu steuern [SWS_Dcm_00994]. Sie wird als Ein-/Ausgangsparameter pMsgContext an asynchrone und reentrante Serviceroutinen übergeben [SWS_Dcm_00763], [SWS_Dcm_00764]. Dabei zeigen die Nutzdaten-Zeiger reqData und resData stets unmittelbar hinter den Service-Identifier (SID), und die Längenangaben reqDataLen sowie resDataLen schließen den SID nicht ein [SWS_Dcm_00994]. Das DSD-Submodul fügt die Response-SID beim Kopieren in den Sendepuffer an erster Position wieder ein [SWS_Dcm_00223], [SWS_Dcm_00224].

Bei der Verwendung sind folgende Aspekte zu beachten:

  • Antwortlänge und Fehlerfall: Überschreitet die erzeugte Antwortlänge die über das protokollabhängige Feld resMaxDataLen definierte Puffergrenze und ist DcmPagedBufferEnabled == FALSE, antwortet das DCM mit dem negativen Response-Code 0x14 (DCM_E_RESPONSETOOLONG) [SWS_Dcm_01059]. Schlägt die Verarbeitung im Servicehandler fehl, meldet die Applikation E_NOT_OK mit einem Fehlercode zurück [SWS_Dcm_00763].
  • Zusatzinformationen und Antwortunterdrückung: Über msgAddInfo wird unter anderem das suppressPosRspMsgIndicationBit transportiert; ist dieses gesetzt, unterdrückt das DSD positive Antworten [SWS_Dcm_00202], [SWS_Dcm_00231].
  • Lebensdauer und Kontextzuordnung: Mit Erreichen der Bestätigung verliert die Struktur ihre Gültigkeit und alle Nachrichtendaten gehen verloren [SWS_Dcm_00994]. Applikationen müssen den Identifikator idContext bereits beim Anfragestart sichern, um eine spätere Bestätigung der ursprünglichen Anfrage zuzuordnen [SWS_Dcm_00994].
  • Protokollbezug: Das Feld dcmRxPduId identifiziert die Empfangs-PDU und erlaubt eine differenzierte Behandlung je nach Diagnoseprotokoll, beispielsweise zwischen OBD und erweiterter Diagnose [SWS_Dcm_00994].

Interpretation: Da der Kontext zur Bestätigung ungültig wird, dürfte der zugrundeliegende Speicherpuffer nach dem Versand der Antwort unmittelbar von der DSL für nachfolgende Kommunikationen freigegeben oder überschrieben werden. Frage Q-88e3cf2f3d8f6076 (offen)

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

Implementer's Guide folgt (Komplexität I2)

type Dcm_ExtendedOpStatusType [SWS_Dcm_91015] 📄 PDF

–

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

Der Typ Dcm_ExtendedOpStatusType basiert auf uint8 und wird über die Header-Datei Dcm.h bereitgestellt [SWS_Dcm_91015]. Er steuert als Eingabeparameter OpStatus die Ausführungsphasen und Bestätigungen bei asynchronen Diagnose- und Sub-Service-Funktionen wie <Module>_<DiagnosticService> [SWS_Dcm_00763] sowie <Module>_<DiagnosticService>_<SubService> [SWS_Dcm_00764].

Die definierten Zustandswerte signalisieren den Operationsfortschritt und Rückmeldungen des DCM [SWS_Dcm_91015]:

  • DCM_INITIAL (0x00): Erstmaliger Aufruf der Operation.
  • DCM_PENDING (0x01): Folgeaufruf nach einem im vorherigen Aufruf gemeldeten Zwischenzustand (Pending).
  • DCM_CANCEL (0x02): Anforderung durch das DCM, die laufende Operation abzubrechen.
  • DCM_FORCE_RCRRP_OK (0x03): Bestätigung der Übertragung einer ausstehenden Antwort (Response Pending).
  • DCM_POS_RESPONSE_SENT (0x04) und DCM_POS_RESPONSE_FAILED (0x05): Quittierung über den erfolgreichen bzw. fehlgeschlagenen Versand einer positiven Antwort.
  • DCM_NEG_RESPONSE_SENT (0x06) und DCM_NEG_RESPONSE_FAILED (0x07): Quittierung über den erfolgreichen bzw. fehlgeschlagenen Versand einer negativen Antwort.

Hinsichtlich Nebenläufigkeit sind die aufgerufenen Diagnose-Schnittstellen als reentrant und asynchron spezifiziert [SWS_Dcm_00763] [SWS_Dcm_00764]. Bei Fehlern liefert die Service-Funktion den Rückgabewert E_NOT_OK und weist dem Ausgabeparameter ErrorCode einen negativen Response-Code (NRC) zu, woraufhin das DCM-Modul eine negative Antwort mit diesem Code versendet [SWS_Dcm_00763] [SWS_Dcm_00764].

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

Implementer's Guide folgt (Komplexität I2)

type Dcm_OpStatusType [SWS_Dcm_00984] 📄 PDF

–

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

Der Typ Dcm_OpStatusType basiert auf uint8 und wird über die Header-Datei Rte_Dcm_Type.h bereitgestellt [SWS_Dcm_00984]. Er steuert den Ausführungs- und Lebenszykluszustand asynchroner Diagnoseoperationen des Diagnostic Communication Managers (DCM), wie etwa Dcm_ReadMemory [SWS_Dcm_00539], Dcm_WriteMemory [SWS_Dcm_00540] oder Dcm_SetProgConditions [SWS_Dcm_00543].

Für die Steuerung des Operationsablaufs sind vier Statuswerte definiert [SWS_Dcm_00984]:

  • DCM_INITIAL (0x00): Kennzeichnet den ersten Aufruf einer Operation durch das DCM [SWS_Dcm_00527].
  • DCM_PENDING (0x01): Signalisiert einen Folgeaufruf nach vorheriger Rückgabe eines schwebenden Zustands [SWS_Dcm_00984]. Liefert eine Operation den Fehlerwert DCM_E_PENDING zurück, ruft das DCM diese Operation in jedem nachfolgenden Zyklus von Dcm_MainFunction erneut mit OpStatus = DCM_PENDING auf, bis die Verarbeitung abgeschlossen ist [SWS_Dcm_00530].
  • DCM_CANCEL (0x02): Fordert die aufgerufene Stelle explizit auf, eine noch ausstehende asynchrone Operation abzubrechen [SWS_Dcm_00984].
  • DCM_FORCE_RCRRP_OK (0x03): Bestätigt die erfolgte Übertragung einer Response-Pending-Nachricht (NRC 0x78) [SWS_Dcm_00984]. Antwortet die Operation mit DCM_E_FORCE_RCRRP, initiiert das DCM das Senden von RCR-RP und unterbricht weitere Aufrufe der Operation, bis das Senden abgeschlossen ist [SWS_Dcm_00528].

Hinsichtlich Nebenläufigkeit und Randbedingungen sind Operationen, die Dcm_OpStatusType als Übergabeparameter entgegennehmen, asynchron ausgelegt und als nicht reentrant spezifiziert [SWS_Dcm_00539] [SWS_Dcm_00754].

Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe zur Spezifikation.

Implementer's Guide folgt (Komplexität I2)

type Dcm_ConfirmationStatusType [SWS_Dcm_00983] 📄 PDF

–

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

Verwendung und Wertebereich

Der Datentyp Dcm_ConfirmationStatusType ist ein von uint8 abgeleiteter Aufzählungstyp, der über die Header-Datei Rte_Dcm_Type.h zur Verfügung gestellt wird [SWS_Dcm_00983]. Er wird eingesetzt, um den Status einer versendeten Diagnoseantwort – sowohl bei erfolgreicher Aussendung als auch bei Übertragungsfehlern – an die Anwendung oder interne Service-Handler zu melden [SWS_Dcm_01342]. Der Wertebereich umfasst vier diskrete Zustände [SWS_Dcm_00983]:

  • DCM_RES_POS_OK (0x00): Interpretation: Die positive Diagnoseantwort wurde erfolgreich übertragen. Frage (offen)
  • DCM_RES_POS_NOT_OK (0x01): Interpretation: Bei der Übertragung der positiven Diagnoseantwort ist ein Fehler aufgetreten. Frage (offen)
  • DCM_RES_NEG_OK (0x02): Interpretation: Die negative Diagnoseantwort (NRC) wurde erfolgreich übertragen. Frage (offen)
  • DCM_RES_NEG_NOT_OK (0x03): Interpretation: Bei der Übertragung der negativen Diagnoseantwort ist ein Fehler aufgetreten. Frage (offen)

Zusammenspiel und Schnittstellen

Der Bestätigungsstatus wird als Eingangsparameter (IN) in synchronen Callback-Funktionen übergeben. In der generischen Bestätigungsschnittstelle Xxx_Confirmation wird der Parameter zusammen mit Dienstkennung (SID), Adressierungsart (ReqType), Verbindungs-ID (ConnectionId), Protokolltyp und Tester-Quelladresse übermittelt [SWS_Dcm_01342]. Ebenso bindet die Schnittstelle ServiceRequestNotification über die Operation Confirmation diesen Status ein [SWS_Dcm_00694].

Bei der Ausführung von Routinediensten wird der Typ spezifisch genutzt, um den Übertragungsstatus nach Abschluss einzelner Routine-Operationen zurückzumelden. Hierzu dienen die in Dcm_Externals.h deklarierten Callbacks Xxx_StartConfirmation [SWS_Dcm_91016], Xxx_StopConfirmation [SWS_Dcm_91017] und Xxx_RequestResultsConfirmation [SWS_Dcm_91018].

Nebenläufigkeit und Ausführung

Die Funktionen zur Bestätigung geben einen Std_ReturnType zurück (z. B. E_OK oder E_NOT_OK) [SWS_Dcm_01342], [SWS_Dcm_91016]. Alle genannten Schnittstellenaufrufe werden synchron ausgeführt und sind als nicht reentrant (Non Reentrant) deklariert [SWS_Dcm_01342], [SWS_Dcm_91016], [SWS_Dcm_91017], [SWS_Dcm_91018].

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

Implementer's Guide folgt (Komplexität I2)

type Dcm_SesCtrlType [SWS_Dcm_00978] 📄 PDF

Session type definition. 0, 127 and all values above 127 are reserved by ISO.

type Dcm_AuthenticationRoleType [SWS_Dcm_91068] 📄 PDF

–

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

Der Datentyp Dcm_AuthenticationRoleType ist als Byte-Array (uint8) spezifiziert, dessen Größe durch den Konfigurationsparameter DcmDspAuthenticationRoleSize bestimmt wird [SWS_Dcm_91068]. Er wird über die Header-Datei Rte_Dcm_Type.h bereitgestellt und dient im DCM-Modul zur formalen Repräsentation von Authentifizierungsrollen [SWS_Dcm_91068].

In der praktischen Anwendung dient der Typ als Eingabeparameter zur Festlegung von Rollen für nicht-authentifizierte Diagnoseverbindungen:

  • Verwendung und Semantik: Der Typ wird als Eingabeparameter deauthenticatedRole in der C-Funktion Dcm_SetDeauthenticatedRole (verfügbar über Dcm.h) [SWS_Dcm_91069] sowie der Operation SetDeauthenticatedRole des Service-Interface Authentication [SWS_Dcm_91072] übergeben. Damit wird einer Verbindung, identifiziert über die connectionId, eine deauthentifizierte Rolle synchron zugewiesen [SWS_Dcm_91069].
  • Nebenläufigkeit und Gültigkeit: Die C-API Dcm_SetDeauthenticatedRole ist als reentrant spezifiziert [SWS_Dcm_91069]. Eine zugewiesene Rolle bleibt für die jeweilige Verbindung so lange aktiv, bis diese in den authentifizierten Zustand wechselt oder das Steuergerät zurückgesetzt wird [SWS_Dcm_91069], [SWS_Dcm_91072].
  • Fehlerbehandlung: Für den Typ und die zugehörigen Operationen existieren keine spezifischen Fehlercodes; die Funktion gibt standardmäßig stets E_OK zurück [SWS_Dcm_91069], [SWS_Dcm_91072].

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

Implementer's Guide folgt (Komplexität I1)

type DiagnosticSessionControlModeSwitchInterface [SWS_Dcm_91033] 📄 PDF

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the current Diagnostic Session

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

Verwendung

Das Schnittstellenelement DiagnosticSessionControlModeSwitchInterface ist gemäß [SWS_Dcm_91033] als bereitgestellter Port (PPortPrototype bzw. ProvidedPort) des Moduls DCM deklariert und nutzt das Interface Dcm_DiagnosticSessionControlModeSwitchInterface. Gemäß der Spezifikation in [SWS_Dcm_91033] dient dieser Port dazu, Software-Komponenten (SW-Cs) über den Wechsel und den aktuellen Zustand der aktiven Diagnosesitzung (Diagnostic Session) zu benachrichtigen.

Interpretation: Das Modul DCM übernimmt hierbei vermutlich die Rolle des Senders, welcher Statusänderungen der Diagnosesitzung über die RTE an interessierte Software-Komponenten weiterleitet. Frage Q-6af0e97b6910087d (offen) Angeschlossene SW-Cs dürften diese Moduswechsel über konfigurierte Mode-Switch-Ereignisse empfangen und verarbeiten, um interne Abläufe, Freigaben oder ihr funktionales Verhalten an die jeweils aktive Diagnosesitzung anzupassen.

Fehlerbehandlung und Randbedingungen

Für diesen Port sind in [SWS_Dcm_91033] keine spezifischen Fehlercodes, Rückgabewerte oder Benachrichtigungen an DET oder DEM definiert. Interpretation: Etwaige Fehlerzustände bei der Übertragung dürften daher vollständig durch die allgemeinen Mechanismen der AUTOSAR-RTE und des Basismoduls DCM überwacht und behandelt werden. Frage Q-a8055458432174f6 (offen) Besondere Einschränkungen bezüglich Reentranz oder Aufrufkontext sind in den Spezifikationsdaten nicht enthalten und werden daher nicht weiter betrachtet.

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

Implementer's Guide folgt (Komplexität I1)

type EcuResetModeSwitchInterface [SWS_Dcm_91034] 📄 PDF

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about an upcoming ECU Reset and its type

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

Das Port-Element EcuResetModeSwitchInterface ist gemäß [SWS_Dcm_91034] als bereitgestellter Port (ProvidedPort bzw. PPortPrototype) des Moduls DCM spezifiziert. Es verwendet die Schnittstelle Dcm_EcuResetModeSwitchInterface und dient dazu, Software-Komponenten (SW-Cs) über einen bevorstehenden Reset des Steuergeräts sowie über die genaue Reset-Art zu informieren [SWS_Dcm_91034].

Für den Einsatz und das Zusammenspiel im System gelten folgende Aspekte:

  • Kommunikationsrolle: Das DCM fungiert als Sender des Moduswechsels. Interessierte SW-Cs binden sich über korrespondierende Empfänger-Ports (R-Ports) an, um auf die Benachrichtigung zu reagieren [SWS_Dcm_91034].
  • Moduswechsel-Semantik: Als ModeSwitchInterface werden hierbei keine Client-Server-Rückgabewerte oder Datenparameter übermittelt, sondern Zustandswechsel über die RTE signalisiert [SWS_Dcm_91034]. Die Benachrichtigung erfolgt somit über Mode-Deklarationen des Interfaces.
  • Reaktion der Komponenten: Über den mitgeteilten Reset-Typ erhalten die SW-Cs Kenntnis über die Art des bevorstehenden Neustarts [SWS_Dcm_91034]. Dies dürfte den Applikationen ermöglichen, flüchtige Laufzeitdaten geordnet im nichtflüchtigen Speicher abzulegen oder periphere Hardware vor dem Neustart in einen sicheren Zustand zu versetzen (Interpretation). Frage Q-4dcf9314d84b53a0 (offen)
  • Fehlerbehandlung: Die Schnittstellendefinition selbst beinhaltet keine Fehlermeldungen oder Rückgabekanäle für Fehlerzustände der SW-Cs [SWS_Dcm_91034].

Dieser Text wurde durch eine KI generiert und basiert auf AUTOSAR Release R20-11.

Implementer's Guide folgt (Komplexität I1)

type ModeRapidPowerShutDownModeSwitchInterface [SWS_Dcm_91035] 📄 PDF

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the rapid power shut down mode

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

Die Schnittstelle ModeRapidPowerShutDownModeSwitchInterface ist laut [SWS_Dcm_91035] als PPortPrototype (ProvidedPort) für das Interface Dcm_ModeRapidPowerShutDownModeSwitchInterface im Modul Dcm spezifiziert. Sie dient dazu, Software-Komponenten (SW-Cs) über den Modus des schnellen Herunterfahrens (Rapid Power Shut Down Mode) zu benachrichtigen.

Hinsichtlich Verwendung, Verhalten und Zusammenspiel sind folgende Aspekte relevant:

  • Verwendung und Semantik: Über das ModeSwitchInterface signalisiert das DCM Moduswechsel an verbundene SW-Cs. Der Aufrufkontext liegt innerhalb des DCM-Moduls, das die Modusänderung veranlasst; die Übertragung an die Empfänger erfolgt asynchron über die RTE [SWS_Dcm_91035].
  • Fehlerbehandlung: Die Port-Definition enthält keine spezifischen Fehlercodes, Rückgabewerte oder DET-/DEM-Ereignisse. Fehler bei der Modusübertragung dürften daher vollständig durch die Standardmechanismen der AUTOSAR-RTE für Mode-Switch-Ports abgefangen werden. Frage Q-16537a6a4e19e40b (offen)
  • Nebenläufigkeit und Einschränkungen: Die Benachrichtigung erfolgt im Ausführungskontext des DCM. Empfangende SW-Cs werden vermutlich über mode-getriggerte Runnables aktiviert und müssen so ausgelegt sein, dass sie die Aktionen für das schnelle Herunterfahren ohne blockierende Verzögerungen ausführen. Frage Q-20f196c7af208288 (offen)

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

Implementer's Guide folgt (Komplexität I1)

type ControlDTCSettingModeSwitchInterface [SWS_Dcm_91037] 📄 PDF

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the DTC Setting mode

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

Verwendung und Zweck

Das Element ControlDTCSettingModeSwitchInterface ist gemäß [SWS_Dcm_91037] ein als Provided-Port (PPortPrototype) bereitgestelltes ModeSwitchInterface des Diagnose-Kommunikationsmanagers (DCM). Seine primäre Aufgabe besteht darin, verbundene Software-Komponenten (SW-Cs) über den aktuellen Zustand des DTC-Einstellmodus (DTC Setting mode) zu benachrichtigen.

Als Port-Schnittstelle wird hierbei Dcm_ControlDTCSettingModeSwitchInterface eingesetzt [SWS_Dcm_91037]. Da der DCM diesen Port als Provided-Port deklariert, übernimmt das Diagnose-Modul die Rolle des Modus-Managers bzw. Senders. Anwendungskomponenten können sich über korrespondierende Required-Ports anbinden, um Statuswechsel zu empfangen und ihr internes Verhalten anzupassen.

Zusammenspiel und Systemintegration

Das Zusammenspiel im Systemverbund konzentriert sich auf die Entkopplung von Diagnosebefehlen und Anwendungslogik:

  • Modus-Propagierung: Über den bereitgestellten Port teilt der DCM den SW-Cs mit, ob die Speicherung und Aktualisierung von Diagnose-Fehlercodes aktiv oder gesperrt ist [SWS_Dcm_91037]. Die Benachrichtigung der SW-Cs dürfte in der AUTOSAR-Laufzeitumgebung über standardmäßige Mode-Switch-Events der RTE erfolgen. Frage Q-8c0918099f2aa797 (offen)
  • Diagnostischer Ursprung: Die Umschaltung des DTC-Setting-Modus steht vermutlich im direkten Kontext von UDS-Diagnosediensten wie ControlDTCSetting (Service 0x85), über welche ein externer Tester das Fehler-Logging vorübergehend unterbinden kann. Frage Q-f2555e0641476955 (offen)

Fehlerbehandlung und Randbedingungen

Da die Spezifikation in [SWS_Dcm_91037] weder spezifische Fehlercodes noch DET-Meldungen oder Rückgabewerte definiert, erfolgt die Modusübertragung rein deklarativ über die Mechanismen der RTE. Besondere Aufrufkontexte oder Reentranz-Vorgaben sind für die Port-Deklaration selbst nicht ausgewiesen.

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

Implementer's Guide folgt (Komplexität I1)

type SecurityAccessModeSwitchInterface [SWS_Dcm_91039] 📄 PDF

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the current Security Level

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

Das Port-Element SecurityAccessModeSwitchInterface stellt im Modul DCM einen Provided-Port (PPortPrototype) auf Basis des Interfaces Dcm_SecurityAccessModeSwitchInterface bereit [SWS_Dcm_91039]. Zweck dieses Interfaces ist es, Software-Komponenten (SW-Cs) über das aktuell aktive Sicherheitsniveau (Security Level) zu benachrichtigen [SWS_Dcm_91039].

Verwendung und Zusammenspiel

Die Benachrichtigung erfolgt über den Port des DCM an angeschlossene Komponenten [SWS_Dcm_91039]. Die Bereitstellung dürfte als Mode-Switch-Kommunikation über das AUTOSAR-RTE realisiert sein, sodass angebundene SW-Cs auf Zustandswechsel des Security Levels über Mode-Switch-Events reagieren können (Interpretation). Frage Q-d86dacdb91979b87 (offen) Parameter, Rückgabewerte oder spezifische synchrone Funktionsaufrufe sind in der Port-Beschreibung nicht definiert [SWS_Dcm_91039]; die Übertragung dürfte somit der asynchronen Broadcast-Semantik eines Mode-Managers entsprechen (Interpretation). Frage Q-9d750df4f73b1634 (offen)

Fehlerbehandlung und Einschränkungen

Da es sich um eine reine Modus-Umschaltung handelt, nennt die Spezifikation keine spezifischen Fehlercodes, Parameterprüfungen oder Meldungen an DET oder DEM [SWS_Dcm_91039]. Eine direkte Fehlerbehandlung bei der Benachrichtigung dürfte im Interface selbst nicht vorgesehen sein (Interpretation). Frage (offen) Einschränkungen bezüglich Reentranz oder abweichender Varianten sind für das Port-Element nicht spezifiziert [SWS_Dcm_91039].

Dieser Nutzungshinweis wurde automatisiert generiert und basiert auf den Vorgaben des AUTOSAR-Releases R20-11.

Implementer's Guide folgt (Komplexität I1)

type DcmDiagnosticSessionControl [SWS_Dcm_91019] 📄 PDF

ModeDeclarationGroup representing the different diagnostic sessions Further modes to be added: {ecuc(Dcm/DcmConfigSet/DcmDsp/DcmDspSession/ DcmDspSessionRow.SHORT-NAME)}

type DcmModeRapidPowerShutDown [SWS_Dcm_91023] 📄 PDF

ModeDeclarationGroup representing the enable/disable state of rapid power shutdown

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

Die ModeDeclarationGroup DcmModeRapidPowerShutDown dient der Repräsentation des Aktivierungszustands für das schnelle Herunterfahren (Rapid Power Shutdown) im Steuergerät [SWS_Dcm_91023]. Das Element ist der Kategorie EXPLICIT_ORDER zugeordnet und definiert zwei konkrete Modi: den Ausgangsmodus DCM_ENABLE_RAPIDPOWERSHUTDOWN mit dem numerischen Wert 0 sowie DCM_DISABLE_RAPIDPOWERSHUTDOWN mit dem Wert 1 [SWS_Dcm_91023]. Für Modusübergänge ist der Übergangswert 255 (On transition value) spezifiziert [SWS_Dcm_91023].

Zusammenspiel und Modusverwaltung

Im Gesamtsystem agiert das Modul DCM als Mode Manager für eine Reihe diagnostischer Modi, wozu auch DcmModeRapidPowerShutDown im Kontext des Diagnosedienstes 0x11 (ECU Reset) gehört [SWS_Dcm_00775]. Innerhalb der Basessoftware definiert der DCM hierfür den ModeDeclarationGroupPrototype DcmModeRapidPowerShutDown als provided-ModeGroup in seiner BSW-Modulinstanz auf Basis dieser ModeDeclarationGroup [SWS_Dcm_00807].

Anwendungskomponenten (SW-Cs), die über den aktuellen Aktivierungszustand des schnellen Herunterfahrens informiert werden müssen, binden das standardisierte Service-Interface Dcm_ModeRapidPowerShutDownModeSwitchInterface an [SWS_Dcm_91024]. Über dessen Modusgruppe modeRapidPowerShutDown empfangen sie entsprechende Moduswechsel des DCM zur Laufzeit [SWS_Dcm_91024].

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

Implementer's Guide folgt (Komplexität I1)

type DcmCommunicationControl [SWS_Dcm_91025] 📄 PDF

ModeDeclarationGroup representing the different communication control states

type DcmControlDTCSetting [SWS_Dcm_91027] 📄 PDF

ModeDeclarationGroup representing the enable/disable state for DTC storage

type DcmResponseOnEvent [SWS_Dcm_91029] 📄 PDF

ModeDeclarationGroup representing the state of a Response On Event

type DcmSecurityAccess [SWS_Dcm_91031] 📄 PDF

ModeDeclarationGroup representing the different diagnostic security levels Further modes to be added: {ecuc(Dcm/DcmConfigSet/DcmDsp/DcmDsp Security/DcmDspSecurityRow.SHORT-NAME)}

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

Die ModeDeclarationGroup DcmSecurityAccess der Kategorie EXPLICIT_ORDER repräsentiert die unterschiedlichen diagnostischen Sicherheitsstufen eines Steuergeräts für den UDS-Dienst 0x27 (SecurityAccess) [SWS_Dcm_91031], [SWS_Dcm_00775]. Als initialer Modus ist standardmäßig DCM_SEC_LEV_LOCKED mit dem festen Wert 0 vorgegeben [SWS_Dcm_91031], [SWS_Dcm_01327]. Zusätzliche Sicherheitsstufen von DCM_SEC_LEV_1 bis DCM_SEC_LEV_63 werden projekt- und anwendungsspezifisch über die Konfiguration der Sicherheitszeilen unter DcmDspSecurityRow ergänzt [SWS_Dcm_91031], [SWS_Dcm_01327].

Das DCM-Modul übernimmt die zentrale Rolle als Mode Manager für diesen diagnostischen Modus [SWS_Dcm_00775]. Bei jeder Veränderung der Sicherheitsstufe aktualisiert der DCM die Modegruppe DcmSecurityAccess mit dem neu eingenommenen Sicherheitsstatus [SWS_Dcm_01329]. Während eines laufenden Zustandswechsels zwischen einzelnen Modi signalisiert das System den definierten Übergangswert 255 (On transition value) [SWS_Dcm_91031].

Die Weitergabe des aktuellen Sicherheitsstatus an Software-Komponenten erfolgt über die Serviceschnittstelle Dcm_SecurityAccessModeSwitchInterface [SWS_Dcm_91032]:

  • Der DCM stellt hierzu den ModeDeclarationGroupPrototype DcmSecurityAccess als bereitgestellte Modegruppe (provided-ModeGroup) über das Interface zur Verfügung [SWS_Dcm_01327], [SWS_Dcm_91032].
  • Jede Software-Komponente (SW-C), die über den aktuellen Security Level informiert werden muss, deklariert eine Abhängigkeit auf die ModeSwitch-Schnittstelle Dcm_SecurityAccessModeSwitchInterface und bindet diese als Required-Port ein [SWS_Dcm_91032].
  • Die Verfügbarkeit der einzelnen Modi in der Schnittstelle unterliegt dabei denselben Konfigurationsvarianten wie die zugrundeliegenden Sicherheitszeilen [SWS_Dcm_91032].

Dieser Text wurde von einer KI generiert.

Implementer's Guide folgt (Komplexität I2)

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

Record
AUTOSAR/AP/record/CP_MOD_Dcm
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Dcm@rel:R20-11#44e6636f
Content hash
44e6636f
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DiagnosticCommunicationManager.pdf#nameddest=SWS_Dcm_00037

Themenkarte

Initialisierung und Status

2

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Initialisierung und Status

Returns the version information of this module

void Dcm_GetVersionInfo (Std_VersionInfoType* versionInfo);
Dcm_Init function

Service for basic initialization of DCM module.

void Dcm_Init (const Dcm_ConfigType* ConfigPtr);

Dienste · Get…

This function returns the active UDS protocol details

Std_ReturnType Dcm_GetActiveProtocol (Dcm_ProtocolType* ActiveProtocolType, uint16* ConnectionId, uint16* TesterSourceAddress);

The Dcm_GetProgConditions callout is called upon Dcm initialization and allows to determine if a response ($50 or $51) has to be sent. The context parameters are defined in Dcm_Prog ConditionsType.

Dcm_EcuStartModeType Dcm_GetProgConditions (Dcm_ProgConditionsType* ProgConditions);

This function provides the active security level value.

Std_ReturnType Dcm_GetSecurityLevel (Dcm_SecLevelType* SecLevel);

This function provides the active session control type value.

Std_ReturnType Dcm_GetSesCtrlType (Dcm_SesCtrlType* SesCtrlType);
Dcm_GetVin function

Function to get the VIN (as defined in SAE J1979-DA)

Std_ReturnType Dcm_GetVin (uint8* Data);

The function provides the data related to the requested Infotype.

Std_ReturnType Xxx_GetInfotypeValueData (Dcm_OpStatusType OpStatus, uint8* DataValueBuffer, uint8* DataValueBufferSize);

This function requests to the application for the scaling information of a Data.

Std_ReturnType Xxx_GetScalingInformation (uint8* ScalingInfo, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application for the scaling information of a Data.

Std_ReturnType Xxx_GetScalingInformation (Dcm_OpStatusType OpStatus, uint8* ScalingInfo, Dcm_NegativeResponseCodeType* ErrorCode);

Read the attempt counter for a specific security level from the application

Std_ReturnType Xxx_GetSecurityAttemptCounter (Dcm_OpStatusType OpStatus, uint8* AttemptCounter);
Xxx_GetSeed function

Request to application for asynchronous provision of seed value

Std_ReturnType Xxx_GetSeed (const uint8* SecurityAccessDataRecord, Dcm_OpStatusType OpStatus, uint8* Seed, Dcm_NegativeResponseCodeType* ErrorCode);
Xxx_GetSeed#2 function

Request to application for asynchronous provision of seed value

Std_ReturnType Xxx_GetSeed (Dcm_OpStatusType OpStatus, uint8* Seed, Dcm_NegativeResponseCodeType* ErrorCode);

Dienste · Process…

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x01 (AddFile).

Std_ReturnType Dcm_ProcessRequestAddFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint8 dataFormatIdentifier, uint64 fileSizeUncompressed, uint64 fileSizeCompressed, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x02 (DeleteFile). Manager

Std_ReturnType Dcm_ProcessRequestDeleteFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x05 (ReadDir).

Std_ReturnType Dcm_ProcessRequestReadDir (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint64* dirInfoLength, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x04 (ReadFile).

Std_ReturnType Dcm_ProcessRequestReadFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint8 dataFormatIdentifier, uint64 fileSizeUncompressed, uint64 fileSizeCompressed, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x03 (ReplaceFile).

Std_ReturnType Dcm_ProcessRequestReplaceFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint8 dataFormatIdentifier, uint64 fileSizeUncompressed, uint64 fileSizeCompressed, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this callout function to start a download process. This service is needed for the implementation of UDS service RequestDownload.

Std_ReturnType Xxx_ProcessRequestDownload (Dcm_OpStatusType OpStatus, uint8 DataFormatIdentifier, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint32* BlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this callout function to terminate a download or upload process. This callout is needed for the implementation of UDS service RequestTransferExit.

Std_ReturnType Xxx_ProcessRequestTransferExit (Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

Callout function. DCM shall call this callout function to start an upload process. This service is needed for the implementation of UDS service RequestUpload.

Std_ReturnType Xxx_ProcessRequestUpload (Dcm_OpStatusType OpStatus, uint8 DataFormatIdentifier, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint32* BlockLength, Dcm_NegativeResponseCodeType* ErrorCode);

The ProcessTransferDataRead callout is used to request memory data identified by the parameter memoryAddress and memorySize from the UDS request message. This service is needed for the implementation of UDS services: • ReadMemoryByAddress • RequestUpload • ReadDataByIdentifier (in case of Dynamical DID defined by memory address) • TransferData

Dcm_ReturnReadMemoryType Xxx_ProcessTransferDataRead (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, Dcm_RequestDataArrayType MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);

The ProcessTransferDataWrite callout is used to write memory data identified by the parameter memoryAddress and memorySize. This service is needed for the implementation of UDS services : • WriteMemoryByAddress • RequestDownload • TransferData

Dcm_ReturnWriteMemoryType Xxx_ProcessTransferDataWrite (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, const Dcm_RequestDataArrayType MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);

Dienste · Read…

Callout function. DCM shall call this function when data shall be sent as a response to UDS service TransferData if there's an ongoing RequestFileTransfer process started with 0x04 (ReadFile) or 0x05 (ReadDir).

Std_ReturnType Dcm_ReadFileOrDir (Dcm_OpStatusType OpStatus, uint64* DataLength, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);

The Dcm_ReadMemory callout is used to request memory data identified by the parameter memoryAddress and memorySize from the UDS request message. This service is needed for the implementation of UDS services: • ReadMemoryByAddress • RequestUpload • ReadDataByIdentifier (in case of Dynamical DID defined by memory address) • TransferData

Dcm_ReturnReadMemoryType Dcm_ReadMemory (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint8* MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);
Xxx_ReadData function

This function requests to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_SYNCH_CLIENT_SERVER.

Std_ReturnType Xxx_ReadData (uint8* Data);

This function requests to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_ASYNCH_CLIENT_SERVER.

Std_ReturnType Xxx_ReadData (Dcm_OpStatusType OpStatus, uint8* Data);

This function requests to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_ASYNCH_CLIENT_SERVER.

Std_ReturnType Xxx_ReadData (Dcm_OpStatusType OpStatus, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to return the data length in byte of a Data.

Std_ReturnType Xxx_ReadDataLength (uint16* DataLength);

This function requests the application to return the data length in byte of a Data.

Std_ReturnType Xxx_ReadDataLength (Dcm_OpStatusType OpStatus, uint16* DataLength);

This function requests to the application a data value of a DID

Std_ReturnType Xxx_ReadDidData (uint16 DID, uint8* Data, Dcm_OpStatusType OpStatus, uint16 DataLength, Dcm_NegativeResponseCodeType ErrorCode);

This function requests the application to return the data length of a DID Range.

Std_ReturnType Xxx_ReadDidRangeDataLength (uint16 DID, Dcm_OpStatusType OpStatus, uint16* DataLength);

Dienste · Write…

Dcm_WriteFile function

Callout function. DCM shall call this function when data is received using UDS service Transfer Data if there's an ongoing RequestFileTransfer process started with 0x01 (AddFile) or 0x03 (ReplaceFile).

Std_ReturnType Dcm_WriteFile (Dcm_OpStatusType OpStatus, uint64 DataLength, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);

The Dcm_WriteMemory callout is used to write memory data identified by the parameter memoryAddress and memorySize. This service is needed for the implementation of UDS services : • WriteMemoryByAddress • RequestDownload • TransferData

Dcm_ReturnWriteMemoryType Dcm_WriteMemory (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, const uint8* MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);
Xxx_WriteData function

This function requests the application to write a data value of a DID.

Std_ReturnType Xxx_WriteData (const uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to write a data value of a DID.

Std_ReturnType Xxx_WriteData (const uint8* Data, uint16 DataLength, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to write a data value of a DID.

Std_ReturnType Xxx_WriteData (const uint8* Data, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to write a data value of a DID.

Std_ReturnType Xxx_WriteData (const uint8* Data, uint16 DataLength, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests the application to write a data value of a DID.

Std_ReturnType Xxx_WriteDidData (uint16 DID, const uint8* Data, Dcm_OpStatusType OpStatus, uint16 DataLength, Dcm_NegativeResponseCodeType ErrorCode);

Dienste · Set…

Allows to activate and deactivate the call of ComM_DCM_ActiveDiagnostic() function.

Std_ReturnType Dcm_SetActiveDiagnostic (boolean active);

Sets a new role used in deauthenticated state for that connection. The set role is valid until the connection switches into authenticated state or the ECU is reset.

Std_ReturnType Dcm_SetDeauthenticatedRole (uint16 connectionId, Dcm_AuthenticationRoleType deauthenticatedRole);

The Dcm_SetProgConditions callout allows the integrator to store relevant information prior to jumping to bootloader / jump due to ECUReset request. The context parameter are defined in Dcm_ProgConditionsType.

Std_ReturnType Dcm_SetProgConditions (Dcm_OpStatusType OpStatus, const Dcm_ProgConditionsType* ProgConditions);

Set the attempt counter for a specific security level in the application

Std_ReturnType Xxx_SetSecurityAttemptCounter (Dcm_OpStatusType OpStatus, uint8 AttemptCounter);

Dienste · Com…

This call informs the Dcm module about a ComM mode change to COMM_FULL_ COMMUNICATION.

void Dcm_ComM_FullComModeEntered (uint8 NetworkId);

This call informs the Dcm module about a ComM mode change to COMM_NO_ COMMUNICATION.

void Dcm_ComM_NoComModeEntered (uint8 NetworkId);

This call informs the Dcm module about a ComM mode change to COMM_SILENT_ COMMUNICATION.

void Dcm_ComM_SilentComModeEntered (uint8 NetworkId);

Dienste · Request…

Invokes a TID-specific function taking a configured number of bytes as input and returing a fixed number of bytes as output. This is typically used to implement OBD Service $08

Std_ReturnType Xxx_RequestControl (uint8* OutBuffer, const uint8* InBuffer);

This function requests to the application the result of a routine execution

Std_ReturnType Xxx_RequestResults (Dcm_OpStatusType OpStatus, [ DcmDspRoutineSignalType* dataIn_1, ... DcmDspRoutineSignalType* dataIn_n ], [ const uint8* dataInVar ], [ DcmDspRoutineSignalType* dataOut_1, ... DcmDspRoutineSignalType* dataOut_n ], [ uint8* dataOutVar ], [ uint16* variableDataLength ], Dcm_NegativeResponseCodeType* ErrorCode);

This function indicates the transmission of a response to a RequestRoutineResults request

Std_ReturnType Xxx_RequestResultsConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);

Dienste · Reset…

The call to this function allows the application to reset the current session to Default session. Example: Automatic termination of an extended diagnostic session upon exceeding of a speed limit.

Std_ReturnType Dcm_ResetToDefaultSession (void);

This function requests to the application to reset an IOControl to default value.

Std_ReturnType Xxx_ResetToDefault ([ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to reset an IOControl to default value.

Std_ReturnType Xxx_ResetToDefault (Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

Dienste · Start…

Xxx_Start function

This function requests to the application to start the execution of a routine.

Std_ReturnType Xxx_Start ([ DcmDspRoutineSignalType dataIn_1, ... DcmDspRoutineSignalType dataIn_n ], [ const uint8* dataInVar ], Manager Dcm_OpStatusType OpStatus, [ DcmDspRoutineSignalType dataOut_1, ... DcmDspRoutineSignalType dataOut_n ], [ uint8* dataOutVar ], [ uint16* currentDataLength ], Dcm_NegativeResponseCodeType ErrorCode); ⚠️

This function indicates the transmission of a response to a StartRoutine request

Std_ReturnType Xxx_StartConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);

This function allows the application to examine the environment conditions and enable/disable further processing of the protocol.

Std_ReturnType Xxx_StartProtocol (Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress, uint16 ConnectionId);

Dienste · Stop…

Xxx_Stop function

This function requests to the application to stop the execution of a routine

Std_ReturnType Xxx_Stop ([ DcmDspRoutineSignalType dataIn_1, ... DcmDspRoutineSignalType dataIn_n ], [ const uint8* dataInVar ], [ DcmDspRoutineSignalType dataOut_1, ... DcmDspRoutineSignalType dataOut_n ], [ uint8* dataOutVar ], [ uint16* currentDataLength ], Dcm_NegativeResponseCodeType* ErrorCode);

This function indicates the transmission of a response to a StopRoutine request

Std_ReturnType Xxx_StopConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);

This function informs the application of the protocol stop.

Std_ReturnType Xxx_StopProtocol (Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress, uint16 ConnectionId);

Dienste · Weitere

Called by BndM to indicate that a block write operation has finished.

void Dcm_BndMWriteBlockFinish (BndM_BlockIdType BlockId, BndM_ResultType result);

Can be called from Csm upon finishing an asynchronous job processing. The integrator will configure this name as callback function within the Csm ECUC configuration for asynchronous jobs. Only one such callback is available, the Dcm detects the job that has finished by evaluating the job parameter. API availability: This API will be available only if ({ecuc(Dcm/Dcm Dsp/DcmDspAuthentication/DcmDspAuthenticationConnection} != null).

Std_ReturnType Dcm_CsmAsyncJobFinished (Csm_ResultType result);

Triggers on changes of the UDS status byte. Allows to trigger on ROE Event for subservice On DTCStatusChanged.

Std_ReturnType Dcm_DemTriggerOnDTCStatus (uint32 DTC, Dem_UdsStatusByteType DTCStatusOld, Dem_UdsStatusByteType DTCStatusNew);

Can be called from Key upon finishing an asynchronous certificate verification. The integrator will configure this name as callback function within the KeyM ECUC configuration for asynchronous jobs. Only one such callback is available, the Dcm detects the certificate that has finished by evaluating the certId parameter. API availability: This API will be available only if ({ecuc(Dcm/DcmDsp/DcmDspAuthentication/DcmDspAuthenticationConnection} != null).

Std_ReturnType Dcm_KeyMAsyncCertificateVerifyFinished (KeyM_CertificateIdType CertID, KeyM_CertificateStatusType Result);

The call to this function allows to trigger an event linked to a ResponseOnEvent request. On the function call, the DCM will execute the associated service if the corresponding Mode of the Roe EventId is 'ROE started'.

Std_ReturnType Dcm_TriggerOnEvent (uint8 RoeEventId);

Callout function for condition check, manufacturer / supplier specific checks on the groupOf DTC, which is requested to clear.

Std_ReturnType Xxx_ClearDTCCheckFnc (uint32 GoDTC, Dcm_NegativeResponseCodeType* ErrorCode);

Request to application for asynchronous comparing key (DcmDspSecurityUsePort = USE_ ASYNCH_CLIENT_SERVER)

Std_ReturnType Xxx_CompareKey (const uint8* Key, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application if the conditions to read the Data are correct.

Std_ReturnType Xxx_ConditionCheckRead (Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application if the conditions to read the Data are correct.

Std_ReturnType Xxx_ConditionCheckRead (Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function confirms to the application the successful transmission or a transmission error of a diagnostic service.

Std_ReturnType Xxx_Confirmation (uint8 SID, uint8 ReqType, uint16 ConnectionId, Dcm_ConfirmationStatusType ConfirmationStatus, Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress);

This function requests to the application to freeze the current state of an IOControl.

Std_ReturnType Xxx_FreezeCurrentState ([ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to freeze the current state of an IOControl.

Std_ReturnType Xxx_FreezeCurrentState (Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function indicates to the application that a service is about to be executed and allows the application to reject the execution of the service request

Std_ReturnType Xxx_Indication (uint8 SID, const uint8* RequestData, uint32 DataSize, uint8 ReqType, uint16 ConnectionId, Dcm_NegativeResponseCodeType* ErrorCode, Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress);

This function requests if a specific DID is available within the range or not.

Std_ReturnType Xxx_IsDidAvailable (uint16 DID, Dcm_OpStatusType OpStatus, Dcm_DidSupportedType* supported);

This function requests to the application to return control to ECU of an IOControl.

Std_ReturnType Xxx_ReturnControlToECU ([ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to adjust the IO signal.

Std_ReturnType Xxx_ShortTermAdjustment (const uint8* ControlStateInfo, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

This function requests to the application to adjust the IO signal.

Std_ReturnType Xxx_ShortTermAdjustment (const uint8* ControlStateInfo, uint16 DataLength, Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);

Callbacks

This function is called to provide the received data of an I-PDU segment (N-PDU) to the upper layer. Each call to this function provides the next part of the I-PDU data. The size of the remaining buffer is written to the position indicated by bufferSizePtr. This function might be called in interrupt context.

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

This function is called to acquire the transmit data of an I-PDU segment (N-PDU). Each call to this function provides the next part of the I-PDU data unless retry->TpDataState is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry->TxTpDataCnt. The size of the remaining data is written to the position indicated by availableDataPtr. This function might be called in interrupt context.

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

This function is called at the start of receiving an N-SDU. The N-SDU might be fragmented into multiple N-PDUs (FF with one or more following CFs) or might consist of a single N-PDU (SF). The service shall provide the currently available maximum buffer size when invoked with TpSdu Length equal to 0. This function might be called in interrupt context.

BufReq_ReturnType Dcm_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. This function might be called in interrupt context.

void Dcm_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 successful or not. This function might be called in interrupt context.

void Dcm_TpTxConfirmation (PduIdType id, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU. This function might be called in interrupt context.

void Dcm_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

Zyklisch

This service is used for processing the tasks of the main loop.

void Dcm_MainFunction (void);

Typen

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the DTC Setting mode

This type defines a data structure for the post build parameters of the DCM . At initialization the DCM gets a pointer to a structure of this type to get access to its configuration data, which is necessary for initialization.

Allows the DCM to know if a diagnostic response shall be sent in the case of a jump from bootloader

This message context identifier can be used to determine the relation between request and response confirmation.

Additional information on message request. Datastructure: Bitfield

This data structure contains all information which is necessary to process a diagnostic message from request to response and response confirmation.

Base type for diagnostic message item

Length of diagnostic message (request, positive or negative response). The maximum length is dependent of the underlying transport protocol/media.

Base type for diagnostic message (request, positive or negative response)

Type Dcm_NegativeResponseCodeType.

Used in Dcm_SetProgConditions() to allow the integrator to store relevant information prior to jumping to bootloader / jump due to ECUReset request.

Type Dcm_ProtocolType.

Return values of Callout Dcm_ReadMemory

Return type of callout Dcm_WriteMemory

Security Level type definition

Session type definition. 0, 127 and all values above 127 are reserved by ISO.

Base item type to transport status information.

ModeDeclarationGroup representing the different communication control states

ModeDeclarationGroup representing the enable/disable state for DTC storage

ModeDeclarationGroup representing the different diagnostic sessions Further modes to be added: {ecuc(Dcm/DcmConfigSet/DcmDsp/DcmDspSession/ DcmDspSessionRow.SHORT-NAME)}

ModeDeclarationGroup representing the different ECU reset types

ModeDeclarationGroup representing the enable/disable state of rapid power shutdown

ModeDeclarationGroup representing the state of a Response On Event

ModeDeclarationGroup representing the different diagnostic security levels Further modes to be added: {ecuc(Dcm/DcmConfigSet/DcmDsp/DcmDsp Security/DcmDspSecurityRow.SHORT-NAME)}

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the current Diagnostic Session

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about an upcoming ECU Reset and its type

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the rapid power shut down mode

A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the current Security Level