Diagnostic Log and Trace (DLT)
The DLT module collects log messages and trace points and formats them into standardized DLT frames for external tooling.
Funktionen — Übersicht
void Dlt_Init (const Dlt_ConfigType* config);Dlt is using the NVRam Manager and is to be initialized very late in the ECU startup phase.void Dlt_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType Dlt_SendTraceMessage (Dlt_SessionIDType sessionId, const Dlt_MessageTraceInfoType* traceInfo, const uint8* traceData, uint16 traceDataLength);The service represents the interface to be used by basic software modules or by software components to trace parameters.Std_ReturnType Dlt_SendLogMessage (Dlt_SessionIDType sessionId, const Dlt_MessageLogInfoType* logInfo, const uint8* logData, uint16 logDataLength);The service represents the interface to be used by basic software modules or by software component to send Log Messages.Std_ReturnType Dlt_UnregisterContext (Dlt_SessionIDType sessionId, Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId);The service has to be called when a software module is going to be stopped.void Dlt_DetForwardErrorTrace (uint16 moduleId, uint8 instanceId, uint8 apiId, uint8 errorId);Service to fo rward error reports from Det to Dlt.Std_ReturnType Dlt_SetLogLevel (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, Dlt_MessageLogLevelType newLogLevel);This service is used to change the Log Level for the given tuple of Application ID/ Context ID.Std_ReturnType Dlt_SetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean newTraceStatus);The service Dlt_ Set Trace Status sets the trace status for a specific tuple of Application ID and Context ID.Std_ReturnType Dlt_GetLogInfo (uint8 options, Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, uint8* status, Dlt_LogInfoType* logInfo);Called to request information about registered Application Ids, their Context Ids and the corresponding log level.Std_ReturnType Dlt_GetDefaultLogLevel (Dlt_MessageLogLevelType* defaultLogLevel);Returns the Default Log Level currently used by the Dlt module.Std_ReturnType Dlt_StoreConfiguration (void);Copies the current Dlt configuration to Nv RAM by calling Nv M_ Write Block().Std_ReturnType Dlt_ResetToFactoryDefault (void);The service Dlt_ Reset To Factory Default sets the Log Level and Trace Status back to the pers istently stored default values.Std_ReturnType Dlt_SetMessageFiltering (boolean status);Switches on/ off the mes sage filtering functionality of the Dlt module.Std_ReturnType Dlt_SetDefaultLogLevel (Dlt_MessageLogLevelType newLogLevel);Called to modify the pass through range for Log Messages for all not explicit set Context Ids.Std_ReturnType Dlt_GetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean* traceStatus);Returns the current Trace Status for a given tuple Application Id/ Context Id.void Dlt_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);Indication of a received PDU from a lower layer communication interface module.Std_ReturnType Dlt_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer size...void Dlt_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.void Dlt_TpTxConfirmation (PduIdType id, Std_ReturnType result);This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission...BufReq_ReturnType Dlt_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);Service Dlt_CopyTxData.BufReq_ReturnType Dlt_StartOf Dlt_StartReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr); ⚠️This function is called at the start of receiving an N -void Dlt_TpRxIndication (PduIdType id, Std_ReturnType result);Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not.BufReq_ReturnType Dlt_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);Service Dlt_CopyRxData.void Dlt_TxFunction (void);-
Typen — Übersicht
struct Dlt_ConfigTypeThis is the type of the data structure containing the initialization data for Dlt.Dlt_MessageTypeThis type describes the type of the message.Dlt_MessageIDTypeContains the unique Message Id for a message.Dlt_MessageNetworkTraceInfoTypeThis type describes transported type of a Dlt BUSMESSAGE.Dlt_ApplicationIDTypeThis type describes the Application Id.Dlt_ContextIDTypeThis type describes the Context Id.Dlt_SessionIDTypeThis type identifies the session.Dlt_LogInfoType-Dlt_ContextIdInfoTypeContext InformationDlt_ApplicationIdInfoTypeInformation about ApplicationsDlt_MessageOptionsTypeBitfieldDlt_MessageLogInfoType-Dlt_MessageLogLevelTypeThis type describes the log lev el for each log message.Dlt_MessageTraceTypeThis type describes labels for trace messages.Dlt_MessageArgumentCountThis type describes the count of arguments provided to a message.Dlt_MessageTraceInfoType-TypeThis type describes the Log Channel name.Dlt_AssignmentOperationAdding or removing a Log Channel assignment for the given tuple of Application Id/ Context Id.
Funktionen & Typen — Detailansicht
fonction Dlt_Init [SWS_Dlt_00239] 📄 PDF
void Dlt_Init (const Dlt_ConfigType* config);
Dlt is using the NVRam Manager and is to be initialized very late in the ECU startup phase. The Dlt_ Init() function should be called after the NVRam Manager is initialized.
La fonction synchrone et non réentrante Dlt_Init (Service-ID 0x01, disponible via le fichier d'en-tête Dlt.h) initialise le module Diagnostic Log and Trace (DLT) sur la Classic Platform [SWS_Dlt_00239]. Elle reçoit via le paramètre config un pointeur vers la structure de configuration spécifique au module de type Dlt_ConfigType et ne renvoie aucune valeur de retour [SWS_Dlt_00239].
Des conditions aux limites spécifiques s'appliquent au contexte d'appel et à l'interaction temporelle avec d'autres modules BSW :
- Ordre d'initialisation : le module DLT utilise le NVRam Manager et doit être initialisé très tard dans la phase de démarrage du calculateur [SWS_Dlt_00239]. L'appel de la fonction
Dlt_Initne doit impérativement intervenir qu'après l'initialisation complète du NVRam Manager [SWS_Dlt_00239]. - Données persistantes : lorsque le paramètre de configuration
DltGeneralNvRAMSupportest défini surTRUE, le module DLT utilise dansDlt_Initl'interfaceNvM_ReadBlockdu NVRAM Manager pour restaurer les valeurs persistantes des variables requises [SWS_Dlt_00453]. - Traitement de la mémoire tampon : dès que le module a été initialisé par
Dlt_Initet que le timer optionnelDltGeneralStartUpDelayTimera expiré, l'ensemble des données de journalisation et de trace mises en mémoire tampon entre-temps sont traitées et envoyées conformément à la spécification [SWS_Dlt_00005].
La fonction étant spécifiée comme non réentrante, le contexte appelant doit s'assurer que Dlt_Init ne subit pas de nouvel accès en parallèle ou par interruption pendant son exécution [SWS_Dlt_00239].
Ce texte a été généré par un système d'IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Dlt_GetVersionInfo [SWS_Dlt_00271] 📄 PDF
void Dlt_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
fonction Dlt_SendTraceMessage [SWS_Dlt_00243] 📄 PDF
Std_ReturnType Dlt_SendTraceMessage (Dlt_SessionIDType sessionId, const Dlt_MessageTraceInfoType* traceInfo, const uint8* traceData, uint16 traceDataLength);
The service represents the interface to be used by basic software modules or by software components to trace parameters.
La fonction synchrone et réentrante Dlt_SendTraceMessage permet aux modules de logiciel de base (BSW) ainsi qu'aux composants logiciels (SW-C) de transmettre des paramètres de trace au module Dlt [SWS_Dlt_00243].
Paramètres et contexte d'appel
Lors de l'appel, l'identifiant de module ou de port est transmis via sessionId, les métadonnées de filtrage des messages via traceInfo ainsi que le tampon de données utiles via traceData avec l'indication de longueur traceDataLength [SWS_Dlt_00243]. Le module peut déjà mettre en mémoire tampon les messages de trace, même si Dlt n'a pas encore été initialisé [SWS_Dlt_00003].
Valeurs de retour et gestion des erreurs
Le service signale l'état via des valeurs de retour spécifiques [SWS_Dlt_00243] :
E_OK: l'opération a été exécutée avec succès.DLT_E_MSG_TOO_LARGE: le message dépasse la taille autorisée de tous les canaux de journalisation assignés.DLT_E_NO_BUFFER: mémoire tampon insuffisante ; le message ne peut pas être mis en mémoire tampon pour au moins un canal de journalisation.DLT_E_UNKNOWN_SESSION_ID: lesessionIdtransmis est inconnu du module.
Interaction avec les fonctions de rappel (hook)
Puisque Dlt_SendTraceMessage est spécifiée comme interface pour les SW-C, il existe pour les fonctions hook générées une implémentation interne équivalente [SWS_Dlt_00285] qui émet des messages de trace en mode non verbeux [SWS_Dlt_00277].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Dlt_SendLogMessage [SWS_Dlt_00241] 📄 PDF
Std_ReturnType Dlt_SendLogMessage (Dlt_SessionIDType sessionId, const Dlt_MessageLogInfoType* logInfo, const uint8* logData, uint16 logDataLength);
The service represents the interface to be used by basic software modules or by software component to send Log Messages.
La fonction synchrone et réentrante Dlt_SendLogMessage (ID de service 0x03) sert d'interface standardisée pour les modules de logiciel de base (BSW) ainsi que pour les composants logiciels (SW-C) pour l'envoi de messages de journalisation [SWS_Dlt_00241]. L'appel s'effectue via le fichier d'en-tête Dlt.h, et en raison de sa réentrance, la fonction est conçue pour une utilisation concurrente [SWS_Dlt_00241].
Lors de l'appel de la fonction, quatre paramètres d'entrée sont requis, alors qu'aucun paramètre de sortie n'est utilisé [SWS_Dlt_00241] :
sessionId: représente l'identifiant de session. Pour les SW-C, ce paramètre est invisible sous la forme d'une valeur d'argument liée au port, tandis que les modules BSW transmettent directement leur numéro de module.logInfo: pointeur vers une structure constante contenant les métadonnées pertinentes pour le filtrage du message de journalisation.logData: pointeur vers le tableau d'octets contenant les données à consigner, qui constitue la charge utile (payload) effective du message.logDataLength: longueur numérique du tampon de donnéeslogData.
Le traitement des erreurs s'effectue directement via la valeur de retour de type Std_ReturnType, qui indique le succès de l'opération ou des états d'erreur spécifiques [SWS_Dlt_00241] :
DLT_OK: le message de journalisation a été accepté et traité avec succès.DLT_E_MSG_TOO_LARGE: le message dépasse la taille de tampon maximale autorisée pour tous les canaux de journalisation assignés.DLT_E_NO_BUFFER: le message n'a pu être mis en mémoire tampon sur aucun des canaux de journalisation assignés.DLT_E_UNKNOWN_SESSION_ID: l'ID de session transmis est invalide ou inconnu du module.
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR.
fonction Dlt_UnregisterContext [SWS_Dlt_00769] 📄 PDF
Std_ReturnType Dlt_UnregisterContext (Dlt_SessionIDType sessionId, Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId);
The service has to be called when a software module is going to be stopped. Available vi a Dlt.h
Utilisation
La fonction synchrone Dlt_UnregisterContext (ID de service 0x16) est mise à disposition via le fichier d'en-tête Dlt.h et doit être appelée lorsqu'un module logiciel est arrêté [SWS_Dlt_00769]. Elle sert au désenregistrement d'un contexte préalablement enregistré d'une application.
La fonction attend trois paramètres d'entrée [SWS_Dlt_00769] :
sessionId: numéro de module ; correspond à l'ID de module au sein du BSW ou à la valeur d'argument définie spécifiquement pour le port au sein d'un composant logiciel (SW-C) [SWS_Dlt_00769].appId: identifiant de l'application parente (Application ID) [SWS_Dlt_00769].contextId: identifiant du contexte à désenregistrer (Context ID) [SWS_Dlt_00769].
Valeurs de retour et gestion des erreurs
La valeur de retour de type Std_ReturnType renseigne sur le résultat de l'exécution [SWS_Dlt_00769] :
E_OK: l'opération demandée s'est achevée avec succès [SWS_Dlt_00769].DLT_E_CONTEXT_NOT_YET_REG: le contexte du module logiciel n'a pas été enregistré au préalable [SWS_Dlt_00769].DLT_E_UNKNOWN_SESSION_ID: l'ID de session transmis est inconnu [SWS_Dlt_00769].
Concurrence et restrictions
La fonction est spécifiée comme réentrante et se comporte de manière synchrone [SWS_Dlt_00769]. Les modules appelants doivent s'assurer que l'ID de session transmis est valide et que le contexte était effectivement enregistré avant l'arrêt, afin d'éviter les erreurs lors du désenregistrement [SWS_Dlt_00769].
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.
fonction Dlt_DetForwardErrorTrace [SWS_Dlt_00432] 📄 PDF
void Dlt_DetForwardErrorTrace (uint16 moduleId, uint8 instanceId, uint8 apiId, uint8 errorId);
Service to fo rward error reports from Det to Dlt.
Utilisation et contexte d'appel
L'interface synchrone Dlt_DetForwardErrorTrace avec l'ID de service 0x07 sert à transmettre les erreurs de développement signalées depuis le Default Error Tracer (DET) au module Dlt [SWS_Dlt_00432]. Le module Dlt fournit ce service afin de garantir la capacité de fan-out requise du DET pour les messages d'erreur [SWS_Dlt_00430]. La déclaration de cette fonction C est incluse via le fichier d'en-tête Dlt_Det.h [SWS_Dlt_00432].
Paramètres et spécification de l'interface
La fonction accepte quatre paramètres d'entrée obligatoires et ne définit ni valeur de retour ni paramètre de sortie [SWS_Dlt_00432] :
moduleId: ID de module du module logiciel appelant dans lequel l'erreur s'est produite.instanceId: identifiant de l'instance de module basée sur un index (le comptage commence à 0 ; les modules à instance unique transmettent 0).apiId: identifiant du service d'API concerné (défini dans la spécification du module appelant).errorId: identifiant de l'erreur de développement constatée (défini dans la spécification du module appelant).
Concurrence et traitement des erreurs
L'exécution s'effectue de manière synchrone avec la détection d'erreur appelante. En tant que fonction non réentrante (Non Reentrant), l'interface exige impérativement que les exécutions concurrentes soient évitées du côté appelant [SWS_Dlt_00432]. Des codes d'erreur spécifiques, des retours d'erreur ou des messages DET ou DEM distincts ne sont pas prévus pour ce service dans la spécification [SWS_Dlt_00432].
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Dlt_SetLogLevel [SWS_Dlt_00252] 📄 PDF
Std_ReturnType Dlt_SetLogLevel (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, Dlt_MessageLogLevelType newLogLevel);
This service is used to change the Log Level for the given tuple of Application ID/ Context ID.
fonction Dlt_SetTraceStatus [SWS_Dlt_00254] 📄 PDF
Std_ReturnType Dlt_SetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean newTraceStatus);
The service Dlt_ Set Trace Status sets the trace status for a specific tuple of Application ID and Context ID.
La fonction synchrone Dlt_SetTraceStatus sert à définir le statut de trace pour un n-uplet donné composé d'une Application-ID et d'une Context-ID [SWS_Dlt_00254]. Elle est définie via le fichier d'en-tête Dlt.h et possède le Service-ID 0x09 [SWS_Dlt_00254].
Utilisation
Trois paramètres d'entrée sont requis pour l'appel [SWS_Dlt_00254] :
appId: l'ID du composant logiciel (typeDlt_ApplicationIDType).contextId: l'ID du contexte (typeDlt_ContextIDType).newTraceStatus: le nouveau statut de trace à définir sous forme de valeur booléenne (typeboolean).
Gestion des erreurs et valeurs de retour
La fonction renvoie de manière synchrone un statut de type Std_ReturnType [SWS_Dlt_00254] :
E_OK: aucune erreur ne s'est produite et le statut a été appliqué avec succès.E_NOT_OK: le statut de trace n'a pas pu être modifié. Les messages d'erreur DET spécifiques ne sont pas mentionnés dans la spécification de la fonction (interprétation : une erreur devrait probablement survenir en cas d'identifiants non valides ou d'état de module défaillant). Question Q-77e190707462c8f1 (ouverte)
Concurrence et restrictions
L'interface est spécifiée comme non réentrante (Non Reentrant) [SWS_Dlt_00254]. Par conséquent, elle ne doit pas être exécutée de manière concurrente ou avec interruption sans synchronisation appropriée par l'appelant.
Cette note d'utilisation a été générée automatiquement sur la base de la version AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Dlt_GetLogInfo [SWS_Dlt_00732] 📄 PDF
Std_ReturnType Dlt_GetLogInfo (uint8 options, Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, uint8* status, Dlt_LogInfoType* logInfo);
Called to request information about registered Application Ids, their Context Ids and the corresponding log level.
fonction Dlt_GetDefaultLogLevel [SWS_Dlt_00733] 📄 PDF
Std_ReturnType Dlt_GetDefaultLogLevel (Dlt_MessageLogLevelType* defaultLogLevel);
Returns the Default Log Level currently used by the Dlt module. The returned Log Level might differ from the one which is stored no n volatile.
fonction Dlt_StoreConfiguration [SWS_Dlt_00736] 📄 PDF
Std_ReturnType Dlt_StoreConfiguration (void);
Copies the current Dlt configuration to Nv RAM by calling Nv M_ Write Block().
Utilisation
La fonction Dlt_StoreConfiguration ([SWS_Dlt_00736]) sert à sauvegarder la configuration Dlt actuelle dans la mémoire non volatile (NVRAM). L'enregistrement s'effectue en interne via un appel synchrone de l'interface NvM_WriteBlock() du NVRAM Manager ([SWS_Dlt_00736]). L'API est mise à disposition via l'en-tête Dlt.h avec le Service-ID 0x1a.
La fonction possède la signature Std_ReturnType Dlt_StoreConfiguration(void) et ne traite aucun paramètre d'entrée, de sortie ou d'entrée/sortie ([SWS_Dlt_00736]).
Gestion des erreurs et valeurs de retour
En tant que service synchrone, la fonction renvoie immédiatement un code d'état de type Std_ReturnType à l'appelant ([SWS_Dlt_00736]) :
E_OK: la configuration a été transférée sans erreur à la NVRAM ([SWS_Dlt_00736]).E_NOT_OK: une erreur est survenue lors de l'enregistrement de la configuration Dlt ([SWS_Dlt_00736]).DLT_E_NOT_SUPPORTED: le service de sauvegarde de configuration n'est pas pris en charge par le module ([SWS_Dlt_00736]).
Concurrence et restrictions
Conformément à [SWS_Dlt_00736], Dlt_StoreConfiguration est spécifié comme non réentrant (Non Reentrant). La fonction ne doit donc pas être exécutée de manière concurrente à partir de différentes tâches ou de différents contextes, de sorte qu'un déroulement séquentiel doit être assuré du côté appelant.
Cette note d'utilisation a été générée automatiquement sur la base des spécifications AUTOSAR.
fonction Dlt_ResetToFactoryDefault [SWS_Dlt_00739] 📄 PDF
Std_ReturnType Dlt_ResetToFactoryDefault (void);
The service Dlt_ Reset To Factory Default sets the Log Level and Trace Status back to the pers istently stored default values. If the feature Nv MRAM support is enabled, all stored Dlt values in the Nv M are deleted.
Utilisation
La fonction synchrone Dlt_ResetToFactoryDefault est mise à disposition via l'en-tête Dlt.h et n'accepte aucun paramètre de transmission [SWS_Dlt_00739]. Son but principal est la réinitialisation de la configuration d'exécution Dlt : elle réinitialise le niveau de journalisation ainsi que le statut de trace aux valeurs par défaut enregistrées de manière persistante [SWS_Dlt_00739]. Si, de plus, la prise en charge de la NVRAM est activée dans le module Dlt, l'appel entraîne la suppression complète de toutes les valeurs Dlt stockées dans le NvM [SWS_Dlt_00739].
Valeurs de retour et gestion des erreurs
Le résultat de l'opération est signalé de manière synchrone par la valeur de retour de type Std_ReturnType [SWS_Dlt_00739] :
E_OK: la configuration a été réinitialisée avec succès aux valeurs par défaut [SWS_Dlt_00739].E_NOT_OK: la réinitialisation de la configuration a échoué [SWS_Dlt_00739].
Aucun message d'erreur DET ou DEM spécifique n'est défini pour ce service dans le cadre de spécification actuel.
Concurrence et restrictions
La fonction est spécifiée comme non réentrante (Non Reentrant) (Service-ID 0x06) [SWS_Dlt_00739]. Un appel concurrent ou avec interruption issu de différentes tâches ou de différents contextes est par conséquent inadmissible et doit être empêché par l'appelant.
Cette note d'utilisation est exclusivement basée sur les données de spécification issues d'AUTOSAR Classic Release R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Dlt_SetMessageFiltering [SWS_Dlt_00770] 📄 PDF
Std_ReturnType Dlt_SetMessageFiltering (boolean status);
Switches on/ off the mes sage filtering functionality of the Dlt module.
fonction Dlt_SetDefaultLogLevel [SWS_Dlt_00740] 📄 PDF
Std_ReturnType Dlt_SetDefaultLogLevel (Dlt_MessageLogLevelType newLogLevel);
Called to modify the pass through range for Log Messages for all not explicit set Context Ids.
fonction Dlt_GetTraceStatus [SWS_Dlt_00750] 📄 PDF
Std_ReturnType Dlt_GetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean* traceStatus);
Returns the current Trace Status for a given tuple Application Id/ Context Id.
fonction Dlt_RxIndication [SWS_Dlt_00272] 📄 PDF
void Dlt_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);
Indication of a received PDU from a lower layer communication interface module.
La fonction Dlt_RxIndication sert à indiquer au module DLT une PDU reçue depuis un module d'interface de communication sous-jacent [SWS_Dlt_00272]. Elle est disponible via l'en-tête Dlt.h et possède l'ID de service 0x42 [SWS_Dlt_00272].
L'appel s'effectue avec une sémantique synchrone et ne renvoie aucune valeur de retour (void) [SWS_Dlt_00272]. Deux paramètres d'entrée sont transmis à la fonction :
RxPduId: identifiant de la PDU reçue (de typePduIdType) [SWS_Dlt_00272].PduInfoPtr: pointeur vers une structure de typePduInfoType. Celle-ci contient la longueur de la PDU reçue (SduLength), un pointeur vers le tampon contenant les données utiles de la PDU (SduDataPtr) ainsi que les métadonnées associées de la PDU [SWS_Dlt_00272].
En ce qui concerne la concurrence et le contexte d'exécution, la fonction est réentrante pour différents ID de PDU, mais non réentrante pour le même ID de PDU [SWS_Dlt_00272]. Le module sous-jacent appelant ne doit donc pas faire traiter la même RxPduId de manière concurrente, tandis que des appels parallèles avec des ID de PDU différents sont autorisés [SWS_Dlt_00272].
Ce texte a été généré par une IA sur la base de la spécification.
fonction Dlt_TriggerTransmit [SWS_Dlt_00754] 📄 PDF
Std_ReturnType Dlt_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);
Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.
Conformément à [SWS_Dlt_00754], la fonction synchrone Dlt_TriggerTransmit sert à copier les données de SDU dans un tampon fourni à la demande d'une couche sous-jacente. Elle est déclarée dans Dlt.h et possède l'ID de service 0x41.
Lors de l'appel, les paramètres suivants sont transmis\u00a0:
TxPduId: identifiant de la SDU dont la transmission est demandée.PduInfoPtr: pointeur vers une structure de typePduInfoType. L'appelant transmet viaSduDataPtrle tampon de destination et viaSduLengthla taille maximale disponible du tampon.
Au sein de la fonction, le module vérifie conformément à [SWS_Dlt_00754] si les données disponibles tiennent dans la taille de tampon transmise :
- Si les données tiennent, la fonction copie les données utiles dans
SduDataPtr, met à jourSduLengthavec le nombre d'octets réellement copiés et renvoieE_OK. - Si le tampon n'est pas suffisant, la fonction renvoie
E_NOT_OKsans modifierPduInfoPtr.
Si E_NOT_OK est renvoyé, aucune donnée de SDU n'a été copiée. Dans ce cas, l'appelant ne doit pas continuer à utiliser PduInfoPtr, car celui-ci peut pointer vers des données invalides ou être un pointeur NULL [SWS_Dlt_00754].
Concernant la concurrence, Dlt_TriggerTransmit est réentrante pour des ID de PDU différents, mais non réentrante pour le même TxPduId [SWS_Dlt_00754].
Ce texte a été généré automatiquement. Toutes les indications s'appuient sur les spécifications AUTOSAR référencées.
Guide de l'implémenteur à venir (complexité I1)
fonction Dlt_TxConfirmation [SWS_Dlt_00273] 📄 PDF
void Dlt_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);
The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.
Utilisation et contexte d'appel
La fonction Dlt_TxConfirmation sert d'interface de confirmation de la couche de communication sous-jacente (lower layer communication interface module) vis-à-vis du module Diagnostic Log and Trace (DLT) [SWS_Dlt_00273]. Elle informe le module DLT de manière synchrone si une PDU précédemment demandée a pu être transmise avec succès ou si la transmission a échoué [SWS_Dlt_00273]. La fonction possède le Service-ID 0x40 et est mise à disposition via le fichier d'en-tête Dlt.h [SWS_Dlt_00273].
L'interface ne possède aucune valeur de retour (void) et attend deux paramètres de transmission [SWS_Dlt_00273] :
TxPduId: l'identifiant de la PDU transmise, de typePduIdType.result: le statut de transmission de typeStd_ReturnType; ici,E_OKsignale la transmission réussie etE_NOT_OKun échec de la transmission de la PDU.
Gestion des erreurs et concurrence
Un traitement explicite des erreurs avec des valeurs de retour d'erreur ou des messages DET ou DEM spécifiques n'est pas spécifié pour cet appel ; l'échec d'une opération d'émission est communiqué au module DLT uniquement par la valeur du paramètre result = E_NOT_OK [SWS_Dlt_00273].
Une condition de réentrance différenciée s'applique à l'exécution : Dlt_TxConfirmation est réentrante pour différentes PDU-ID, mais non réentrante pour la même PDU-ID [SWS_Dlt_00273]. Les pilotes ou interfaces appelants doivent donc garantir que des appels simultanés avec une TxPduId identique sont exclus, tandis que les confirmations pour différentes PDU peuvent parvenir de manière concurrente.
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Dlt_TpTxConfirmation [SWS_Dlt_00756] 📄 PDF
void Dlt_TpTxConfirmation (PduIdType id, Std_ReturnType result);
This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission was succe ssful or not.
La fonction Dlt_TpTxConfirmation sert de fonction de confirmation synchrone du module Dlt après l'envoi d'une I-PDU de transport [SWS_Dlt_00756]. Elle est disponible via le fichier d'en-tête Dlt.h avec l'ID de service 0x48 [SWS_Dlt_00756].
Utilisation et sémantique
L'appel a lieu après qu'une I-PDU a été transmise sur le réseau respectif [SWS_Dlt_00756]. La fonction possède la signature void Dlt_TpTxConfirmation (PduIdType id, Std_ReturnType result) et ne renvoie aucune valeur de retour [SWS_Dlt_00756] :
id(paramètre d'entrée, typePduIdType) : identification univoque de l'I-PDU transmise [SWS_Dlt_00756].result(paramètre d'entrée, typeStd_ReturnType) : indique l'état de transmission et signale si l'envoi de l'I-PDU a réussi ou a échoué [SWS_Dlt_00756].
Concurrence et traitement des erreurs
La spécification indique que Dlt_TpTxConfirmation est synchrone et réentrante (Reentrant) [SWS_Dlt_00756]. Aucun code d'erreur DET ou DEM spécifique n'est défini pour ce service ; le traitement des erreurs relatif au processus d'envoi repose sur l'évaluation du paramètre result [SWS_Dlt_00756]. Dans le contexte système, l'appel devrait généralement être initié par une couche de transport sous-jacente après l'achèvement de la transmission de la PDU. Question Q-0e5ab7c285316701 (ouverte)
Ce texte a été généré par un système d'IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Dlt_CopyTxData [SWS_Dlt_00516] 📄 PDF
BufReq_ReturnType Dlt_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);
Service Dlt_CopyTxData.
Utilisation et sémantique
La fonction synchrone et réentrante Dlt_CopyTxData sert à récupérer les données d'émission d'un segment d'I-PDU (N-PDU) depuis le module Dlt [SWS_Dlt_00516]. id spécifie l'I-PDU à émettre, tandis que info fournit le tampon de destination (SduDataPtr) ainsi que la longueur en octets souhaitée (SduLength) [SWS_Dlt_00516]. La transmission de SduLength = 0 (où SduDataPtr peut être transmis comme NULL_PTR) permet de transmettre de simples changements d'état via retry ou d'interroger la quantité de données restante dans le tampon d'émission [SWS_Dlt_00516]. Via le paramètre de sortie availableDataPtr, la fonction renvoie la quantité de données encore disponible dans le tampon Tx, ce qui permet par exemple aux modules TP avec une longueur de données utiles dynamique (comme FrIsoTp) de dimensionner les segments suivants [SWS_Dlt_00516].
Confirmation et correction d'erreur
Le pointeur retry permet de contrôler l'acquittement ou la transmission répétée [SWS_Dlt_00516] :
- Si
retryest unNULL_PTR, les données copiées peuvent être supprimées du tampon immédiatement après l'opération de copie [SWS_Dlt_00516]. - Si
TpDataStateindique la valeurTP_CONFPENDING, les données préalablement copiées doivent rester dans le tampon en vue d'une éventuelle correction d'erreur [SWS_Dlt_00516]. - Avec
TP_DATACONF, toutes les données transmises avant l'appel sont considérées comme confirmées et peuvent être libérées [SWS_Dlt_00516]. - Avec
TP_DATARETRY, le module reprend la copie à partir du décalage en octets transmis dansTxTpDataCnt[SWS_Dlt_00516].
Valeurs de retour et conditions aux limites
Le résultat de la requête est signalé sous la forme BufReq_ReturnType [SWS_Dlt_00516] :
BUFREQ_OK: les données ont été entièrement copiées dans le tampon de destination comme demandé [SWS_Dlt_00516].BUFREQ_E_BUSY: la quantité de données demandée n'est pas disponible ; aucune donnée n'a été copiée, une nouvelle tentative ultérieure est autorisée [SWS_Dlt_00516].BUFREQ_E_NOT_OK: la requête a échoué ; aucune donnée n'a été copiée [SWS_Dlt_00516].
L'interface est disponible via Dlt.h et conçue pour être réentrante [SWS_Dlt_00516]. Le contexte d'appel se situe vraisemblablement de manière typique dans un module de protocole de transport sous-jacent pendant la transmission segmentée. Question Q-a81c439e73e0acc0 (ouverte)
Cette note d'utilisation a été générée automatiquement sur la base de la spécification d'AUTOSAR Classic R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Dlt_StartReception [SWS_Dlt_91006] 📄 PDF
BufReq_ReturnType Dlt_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);
This function is called at the start of receiving an N -
La fonction synchrone et réentrante Dlt_StartReception est appelée au début de la réception d'une N-SDU, qui peut être reçue sous la forme d'une trame unique (SF) ou fragmentée sur plusieurs N-PDU [SWS_Dlt_91006]. Elle sert à initier la connexion de transport dans le module Dlt et à mettre à disposition le tampon de réception disponible [SWS_Dlt_91006].
L'I-PDU reçue est identifiée via le paramètre id, tandis que info transmet les données utiles et les métadonnées de la première trame ou est défini sur NULL_PTR si ni données ni métadonnées ne sont présentes [SWS_Dlt_91006]. La longueur totale de la N-SDU est transmise via TpSduLength ; si la fonction est appelée avec une longueur de 0, elle renvoie via bufferSizePtr la taille de tampon maximale actuellement disponible [SWS_Dlt_91006]. Le protocole de transport utilise la valeur issue de bufferSizePtr pour calculer la Block Size (BS) [SWS_Dlt_91006].
Si la connexion est acceptée, la fonction renvoie BUFREQ_OK ; si l'espace tampon disponible n'est pas suffisant pour la taille demandée, bufferSizePtr signale une taille de tampon de 0 pour la poursuite de la réception [SWS_Dlt_91006]. En cas de refus de la connexion, BUFREQ_E_NOT_OK interrompt la réception, et en cas de mémoire totale insuffisante, BUFREQ_E_OVFL est signalé ; dans les deux cas d'erreur, bufferSizePtr reste inchangé [SWS_Dlt_91006].
Cette note d'utilisation est basée sur la spécification AUTOSAR Classic R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Dlt_TpRxIndication [SWS_Dlt_91007] 📄 PDF
void Dlt_TpRxIndication (PduIdType id, Std_ReturnType result);
Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not.
La fonction Dlt_TpRxIndication sert d'indication de réception synchrone après qu'une I-PDU a été reçue via l'API TP [SWS_Dlt_91007]. Elle est déclarée dans le fichier d'en-tête Dlt.h et possède l'ID de service 0x45 [SWS_Dlt_91007].
Utilisation et paramètres
La transmission au module DLT s'effectue via deux paramètres d'entrée, la fonction ne renvoyant aucune valeur de retour [SWS_Dlt_91007] :
id(typePduIdType) : caractérise l'identification de l'I-PDU reçue [SWS_Dlt_91007].result(typeStd_ReturnType) : indique le résultat de la réception et montre si la transmission a réussi [SWS_Dlt_91007].
Concurrence et restrictions
L'interface est définie comme synchrone et réentrante [SWS_Dlt_91007]. Il n'existe ni paramètres d'entrée/sortie ni paramètres purement de sortie [SWS_Dlt_91007].
Traitement des erreurs et interaction
Le résultat du transport est signalé au module DLT exclusivement via l'argument result ; aucun code d'erreur spécifique, message DET ou DEM n'est spécifié [SWS_Dlt_91007].
Interprétation : l'appel devrait être effectué par un composant de protocole de transport sous-jacent dès qu'un message DLT est entièrement arrivé ou que la transmission est interrompue [SWS_Dlt_91007]. Question Q-7d9c8564a2404acf (ouverte)
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Dlt_CopyRxData [SWS_Dlt_91008] 📄 PDF
BufReq_ReturnType Dlt_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);
Service Dlt_CopyRxData.
Utilisation et sémantique
La fonction synchrone Dlt_CopyRxData est appelée pour transmettre à la couche supérieure les données reçues d'un segment d'I-PDU (N-PDU) [SWS_Dlt_91008]. Chaque appel met à disposition la portion suivante des données d'I-PDU, la taille de tampon restante étant écrite à l'emplacement mémoire référencé via bufferSizePtr [SWS_Dlt_91008]. La déclaration est disponible via l'en-tête Dlt.h [SWS_Dlt_91008].
Paramètres et interrogation du tampon
L'I-PDU reçue est identifiée via le paramètre d'entrée id [SWS_Dlt_91008]. Le pointeur info met à disposition le tampon source via SduDataPtr ainsi que le nombre d'octets à copier via SduLength [SWS_Dlt_91008]. Si SduLength est transmis avec la valeur 0, l'appel sert uniquement à interroger le tampon actuellement disponible dans le module supérieur ; dans ce cas, SduDataPtr peut être un NULL_PTR [SWS_Dlt_91008]. Le paramètre de sortie bufferSizePtr renvoie la taille de tampon de réception encore libre après l'opération de copie [SWS_Dlt_91008].
Concurrence et valeurs de retour
La fonction est conçue pour être réentrante et possède l'ID de service 0x44 [SWS_Dlt_91008]. La valeur de retour de type BufReq_ReturnType signale le résultat de l'opération de copie : en cas de prise en charge réussie des données, le service renvoie BUFREQ_OK, tandis qu'en cas d'erreur, BUFREQ_E_NOT_OK est signalé [SWS_Dlt_91008].
Remarque : cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Dlt_TxFunction [SWS_Dlt_91005] 📄 PDF
void Dlt_TxFunction (void);
-
Utilisation et contexte d'appel
Conformément à la spécification [SWS_Dlt_91005], la fonction Dlt_TxFunction est définie comme un service avec l'ID de service 0x80 et est disponible via l'en-tête SchM_Dlt.h. Sa signature d'interface est void Dlt_TxFunction (void) [SWS_Dlt_91005]. Selon l'interprétation, la déclaration dans SchM_Dlt.h suggère que l'appel est effectué par le scheduler BSW dans le contexte d'une tâche cyclique et ne devrait pas être appelé directement par des Software Components applicatifs.
Paramètres et valeurs de retour
Conformément à [SWS_Dlt_91005], la fonction ne prend aucun paramètre de transmission et ne renvoie aucune valeur de retour (void). D'après son nom, la fonction devrait être responsable du traitement et de la transmission cycliques des messages d'envoi Dlt en attente. Question (ouverte) Aucune valeur de retour n'étant spécifiée, le traitement des erreurs s'effectue probablement de manière purement interne au module ou à l'état.
restrictions
Comme la charge utile ne contient aucune indication sur la réentrance ou sur des erreurs de développement spécifiques, les intervalles d'appel et les affectations de tâches doivent être coordonnés via la configuration du gestionnaire d'ordonnancement. Aucun autre code d'erreur ou entrée DET n'est mentionné dans [SWS_Dlt_91005].
Ce texte a été rédigé par une IA ; il ne remplace pas l'étude de la spécification officielle AUTOSAR.
type Dlt_ConfigType [SWS_Dlt_00437] 📄 PDF
This is the type of the data structure containing the initialization data for Dlt.
type Dlt_MessageType [SWS_Dlt_00224] 📄 PDF
This type describes the type of the message.
type Dlt_MessageIDType [SWS_Dlt_00228] 📄 PDF
Contains the unique Message Id for a message. This is only relevant in non - verbose mode.
type Dlt_MessageNetworkTraceInfoType [SWS_Dlt_00233] 📄 PDF
This type describes transported type of a Dlt BUSMESSAGE.
type Dlt_ApplicationIDType [SWS_Dlt_00226] 📄 PDF
This type describes the Application Id. 0x00000000 means the so - called wildcard.
type Dlt_ContextIDType [SWS_Dlt_00227] 📄 PDF
This type describes the Context Id. 0x00000000 means the so - called wildcard.
type Dlt_SessionIDType [SWS_Dlt_00225] 📄 PDF
This type identifies the session.
type Dlt_LogInfoType [SWS_Dlt_91002] 📄 PDF
-
type Dlt_ContextIdInfoType [SWS_Dlt_91003] 📄 PDF
Context Information
type Dlt_ApplicationIdInfoType [SWS_Dlt_91004] 📄 PDF
Information about Applications
type Dlt_MessageOptionsType [SWS_Dlt_00229] 📄 PDF
Bitfield
type Dlt_MessageLogInfoType [SWS_Dlt_00236] 📄 PDF
-
type Dlt_MessageLogLevelType [SWS_Dlt_00230] 📄 PDF
This type describes the log lev el for each log message.
type Dlt_MessageTraceType [SWS_Dlt_00231] 📄 PDF
This type describes labels for trace messages.
type Dlt_MessageArgumentCount [SWS_Dlt_00235] 📄 PDF
This type describes the count of arguments provided to a message.
type Dlt_MessageTraceInfoType [SWS_Dlt_00237] 📄 PDF
-
type Type [SWS_Dlt_00232] 📄 PDF
This type describes the Log Channel name.
type Dlt_AssignmentOperation [SWS_Dlt_00730] 📄 PDF
Adding or removing a Log Channel assignment for the given tuple of Application Id/ Context Id.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Dlt- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Dlt@rel:R20-11#5307d3fc- Content hash
5307d3fc- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DiagnosticLogAndTrace.pdf#nameddest=SWS_Dlt_00239
gemini-3.8-flash-low· 2026-10-13 · Original allemand