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
función 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 función síncrona y no reentrante Dlt_Init (Service-ID 0x01, disponible a través del archivo de encabezado Dlt.h) inicializa el módulo Diagnostic Log and Trace (DLT) en la plataforma Classic [SWS_Dlt_00239]. Acepta a través del parámetro config un puntero a la estructura de configuración específica del módulo de tipo Dlt_ConfigType y no devuelve ningún valor de retorno [SWS_Dlt_00239].
Para el contexto de llamada y la interacción temporal con otros módulos BSW se aplican condiciones límite específicas:
- Orden de inicialización: El módulo DLT utiliza el NVRam Manager y debe inicializarse muy tarde en la fase de inicio de la unidad de control [SWS_Dlt_00239]. La llamada a la función
Dlt_Initdebe realizarse obligatoriamente solo después de la inicialización completa del NVRam Manager [SWS_Dlt_00239]. - Datos persistentes: Si el parámetro de configuración
DltGeneralNvRAMSupportestá establecido enTRUE, el módulo DLT utiliza enDlt_Initla interfazNvM_ReadBlockdel NVRAM-Manager para restaurar valores persistentes para las variables requeridas [SWS_Dlt_00453]. - Procesamiento del búfer: Tan pronto como el módulo se haya inicializado mediante
Dlt_Inity haya expirado el temporizador opcionalDltGeneralStartUpDelayTimer, se procesan todos los datos de Log and Trace almacenados en búfer en el ínterin y se envían de acuerdo con la especificación [SWS_Dlt_00005].
Dado que la función está especificada como no reentrante, el contexto llamante debe asegurarse de que no se vuelva a ingresar a Dlt_Init de forma paralela o con interrupciones durante la ejecución [SWS_Dlt_00239].
Este texto fue generado por un sistema de IA sobre la base de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función Dlt_GetVersionInfo [SWS_Dlt_00271] 📄 PDF
void Dlt_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
función 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 función síncrona y reentrante Dlt_SendTraceMessage sirve a módulos de software básico (BSW), así como a componentes de software (SW-C), para transferir parámetros de traza al módulo Dlt [SWS_Dlt_00243].
Parámetros y contexto de llamada
Al realizar la llamada se transmiten el identificador de módulo o de puerto mediante sessionId, metadatos para el filtrado de mensajes mediante traceInfo, así como el búfer de datos útiles mediante traceData junto con la indicación de longitud traceDataLength [SWS_Dlt_00243]. El módulo puede almacenar en búfer mensajes de traza incluso antes de que Dlt haya sido inicializado [SWS_Dlt_00003].
Valores de retorno y tratamiento de errores
El servicio notifica el estado a través de valores de retorno específicos [SWS_Dlt_00243]:
E_OK: La operación se ejecutó con éxito.DLT_E_MSG_TOO_LARGE: el mensaje supera el tamaño permitido de todos los canales de log asignados.DLT_E_NO_BUFFER: memoria de búfer insuficiente; el mensaje no se puede almacenar en búfer para al menos un canal de log.DLT_E_UNKNOWN_SESSION_ID: elsessionIdtransmitido es desconocido para el módulo.
Interacción con funciones hook
Dado que Dlt_SendTraceMessage está especificada como interfaz para SW-Cs, existe una implementación interna equivalente para funciones hook generadas [SWS_Dlt_00285], la cual emite mensajes de traza en modo no detallado (non-verbose) [SWS_Dlt_00277].
Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función 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 función síncrona y reentrante Dlt_SendLogMessage (ID de servicio 0x03) sirve a módulos de software básico (BSW), así como a componentes de software (SW-C), como interfaz estandarizada para enviar mensajes de log [SWS_Dlt_00241]. La llamada se efectúa a través del archivo de cabecera Dlt.h y, debido a la reentrancia, la función está diseñada para su uso concurrente [SWS_Dlt_00241].
Al llamar a la función se requieren cuatro parámetros de entrada, mientras que no se utiliza ningún parámetro de salida [SWS_Dlt_00241]:
sessionId: representa el identificador de sesión. Para SW-Cs, este parámetro es invisible como valor de argumento vinculado al puerto, mientras que los módulos BSW transfieren directamente su número de módulo.logInfo: puntero a una estructura constante que contiene los metadatos relevantes para filtrar el mensaje de log.logData: puntero al array de bytes con los datos que se van a registrar, el cual constituye la carga útil real (payload) del mensaje.logDataLength: longitud numérica del búfer de datoslogData.
El tratamiento de errores se realiza de manera inmediata a través del valor de retorno de tipo Std_ReturnType, que indica el éxito de la operación o estados de error específicos [SWS_Dlt_00241]:
DLT_OK: el mensaje de log se ha aceptado y procesado con éxito.DLT_E_MSG_TOO_LARGE: el mensaje supera el tamaño de búfer máximo permitido para todos los canales de log asignados.DLT_E_NO_BUFFER: el mensaje no se ha podido almacenar en búfer en ninguno de los canales de log asignados.DLT_E_UNKNOWN_SESSION_ID: el ID de sesión transmitido no es válido o no es conocido por el módulo.
Esta nota de uso ha sido generada por una IA a partir de la especificación de AUTOSAR.
función 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
usar
La función síncrona Dlt_UnregisterContext (Service-ID 0x16) se proporciona a través del archivo de cabecera Dlt.h y debe llamarse cuando se detiene un módulo de software [SWS_Dlt_00769]. Sirve para dar de baja un contexto previamente registrado de una aplicación.
La función espera tres parámetros de entrada [SWS_Dlt_00769]:
sessionId: Número de módulo; corresponde al ID de módulo dentro del BSW o al valor del argumento definido específicamente para el puerto dentro de un componente de software (SW-C) [SWS_Dlt_00769].appId: El identificador de la aplicación de nivel superior (Application ID) [SWS_Dlt_00769].contextId: El identificador del contexto que se va a dar de baja (Context ID) [SWS_Dlt_00769].
Valores de retorno y tratamiento de errores
El valor de retorno de tipo Std_ReturnType informa sobre el resultado de la ejecución [SWS_Dlt_00769]:
E_OK: La operación solicitada se completó con éxito [SWS_Dlt_00769].DLT_E_CONTEXT_NOT_YET_REG: El contexto del módulo de software no se había registrado previamente [SWS_Dlt_00769].DLT_E_UNKNOWN_SESSION_ID: El Session-ID transferido es desconocido [SWS_Dlt_00769].
Concurrencia y restricciones
La función está especificada como reentrante y se comporta de forma síncrona [SWS_Dlt_00769]. Los módulos que realizan la llamada deben asegurarse de que el Session-ID transferido sea válido y de que el contexto estuviera efectivamente registrado antes de finalizar, a fin de evitar errores durante la cancelación del registro [SWS_Dlt_00769].
Esta nota de uso ha sido generada de forma automatizada sobre la base de la especificación AUTOSAR CP R20-11.
función 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.
Uso y contexto de llamada
La interfaz síncrona Dlt_DetForwardErrorTrace con el ID de servicio 0x07 sirve para reenviar errores de desarrollo notificados desde el Default Error Tracer (DET) al módulo Dlt [SWS_Dlt_00432]. El módulo Dlt proporciona este servicio para garantizar la capacidad requerida de Fan-Out del DET para mensajes de error [SWS_Dlt_00430]. La declaración de esta función de C se incluye a través del archivo de cabecera Dlt_Det.h [SWS_Dlt_00432].
Parámetros y especificación de interfaz
La función recibe cuatro parámetros obligatorios de entrada y no define valores de retorno ni parámetros de salida [SWS_Dlt_00432]:
moduleId: ID de módulo del módulo de software llamador en el que se produjo el error.instanceId: identificador de la instancia de módulo basada en índice (el recuento comienza en 0; los módulos de instancia única pasan 0).apiId: identificador del servicio de API afectado (definido en la especificación del módulo llamador).errorId: identificador del error de desarrollo detectado (definido en la especificación del módulo llamador).
Concurrencia y tratamiento de errores
La ejecución se realiza de forma síncrona con el registro de errores llamador. Al ser una función no reentrante (Non Reentrant), la interfaz exige de forma vinculante que se eviten ejecuciones concurrentes por parte del llamador [SWS_Dlt_00432]. En la especificación no se contemplan códigos de error específicos, retroalimentaciones de error ni mensajes independientes de DET o DEM para este servicio [SWS_Dlt_00432].
Esta nota de uso ha sido generada de forma automatizada sobre la base de la especificación AUTOSAR CP R20-11.
Guía del implementador pendiente (complejidad I1)
función 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.
función 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 función síncrona Dlt_SetTraceStatus sirve para configurar el estado de trace para una tupla determinada formada por Application-ID y Context-ID [SWS_Dlt_00254]. Está definida a través del archivo de cabecera Dlt.h y posee el Service-ID 0x09 [SWS_Dlt_00254].
usar
Para la llamada se requieren tres parámetros de entrada [SWS_Dlt_00254]:
appId: el ID del componente de software (tipoDlt_ApplicationIDType).contextId: el ID del contexto (tipoDlt_ContextIDType).newTraceStatus: el nuevo estado de trace que se va a establecer como valor booleano (tipoboolean).
Tratamiento de errores y valores de retorno
La función devuelve de forma síncrona un estado de tipo Std_ReturnType [SWS_Dlt_00254]:
E_OK: no se ha producido ningún error y el estado se ha aplicado correctamente.E_NOT_OK: no se pudo modificar el estado de trace. En la especificación de la función no se mencionan mensajes de error específicos de DET (interpretación: es de suponer que existe un error en caso de identificadores no válidos o de un estado erróneo del módulo). Pregunta Q-77e190707462c8f1 (abierta)
Concurrencia y restricciones
La interfaz está especificada como no reentrante (Non Reentrant) [SWS_Dlt_00254]. Por lo tanto, no debe ejecutarse de forma concurrente o con interrupciones sin una sincronización adecuada por parte del llamador.
Esta nota de uso se ha generado automáticamente a partir del release R20-11 de AUTOSAR.
Guía del implementador pendiente (complejidad I1)
función 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.
función 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.
función 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().
usar
La función Dlt_StoreConfiguration ([SWS_Dlt_00736]) sirve para guardar la configuración actual de Dlt en la memoria no volátil (NVRAM). El almacenamiento se realiza internamente a través de una llamada síncrona a la interfaz NvM_WriteBlock() del NVRAM Manager ([SWS_Dlt_00736]). La API se proporciona mediante la cabecera Dlt.h con el Service-ID 0x1a.
La función tiene la firma Std_ReturnType Dlt_StoreConfiguration(void) y no procesa parámetros de entrada, salida ni de entrada/salida ([SWS_Dlt_00736]).
Tratamiento de errores y valores de retorno
Como servicio síncrono, la función devuelve inmediatamente un código de estado de tipo Std_ReturnType al llamador ([SWS_Dlt_00736]):
E_OK: la configuración se transfirió correctamente a la NVRAM ([SWS_Dlt_00736]).E_NOT_OK: se ha producido un error al guardar la configuración de Dlt ([SWS_Dlt_00736]).DLT_E_NOT_SUPPORTED: el servicio para guardar la configuración no es compatible con el módulo ([SWS_Dlt_00736]).
Concurrencia y restricciones
Según [SWS_Dlt_00736], Dlt_StoreConfiguration está especificado como no reentrante (Non Reentrant). Por lo tanto, la función no debe ejecutarse de forma concurrente desde diferentes tareas o contextos, de modo que en el lado del llamador se debe garantizar una ejecución secuencial.
Esta nota de uso fue generada automáticamente a partir de especificaciones de AUTOSAR.
función 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.
usar
La función síncrona Dlt_ResetToFactoryDefault se proporciona a través de la cabecera Dlt.h y no recibe parámetros de transferencia [SWS_Dlt_00739]. Su propósito principal es restablecer la configuración en tiempo de ejecución de Dlt: restablece el nivel de log y el estado de trace a los valores predeterminados almacenados de forma persistente [SWS_Dlt_00739]. Si además el soporte de NVRAM está activado en el módulo Dlt, la llamada provoca el borrado completo de todos los valores de Dlt guardados en la NvM [SWS_Dlt_00739].
Valores de retorno y tratamiento de errores
El resultado de la operación se señaliza de forma síncrona mediante el valor de retorno de tipo Std_ReturnType [SWS_Dlt_00739]:
E_OK: la configuración se ha restablecido correctamente a los valores predeterminados [SWS_Dlt_00739].E_NOT_OK: ha fallado el restablecimiento de la configuración [SWS_Dlt_00739].
Para este servicio no se han definido mensajes de error específicos de DET o DEM en el alcance de la presente especificación.
Concurrencia y restricciones
La función está especificada como no reentrante (Non Reentrant) (Service-ID 0x06) [SWS_Dlt_00739]. Por tanto, una llamada concurrente o con interrupciones desde diferentes tareas o contextos no está permitida y debe ser evitada por el llamador.
Esta nota de uso se basa exclusivamente en los datos de especificación de AUTOSAR Classic Release R20-11.
Guía del implementador pendiente (complejidad I1)
función Dlt_SetMessageFiltering [SWS_Dlt_00770] 📄 PDF
Std_ReturnType Dlt_SetMessageFiltering (boolean status);
Switches on/ off the mes sage filtering functionality of the Dlt module.
función 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.
función 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.
función 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 función Dlt_RxIndication sirve para indicar una PDU recibida desde un módulo de interfaz de comunicación subordinado al módulo DLT [SWS_Dlt_00272]. Está disponible a través de la cabecera Dlt.h y tiene el ID de servicio 0x42 [SWS_Dlt_00272].
La llamada se realiza con semántica síncrona y no proporciona ningún valor de retorno (void) [SWS_Dlt_00272]. A la función se le pasan dos parámetros de entrada:
RxPduId: identificador de la PDU recibida (de tipoPduIdType) [SWS_Dlt_00272].PduInfoPtr: puntero a una estructura de tipoPduInfoType. Esta contiene la longitud de la PDU recibida (SduLength), un puntero al búfer con los datos útiles de la PDU (SduDataPtr), así como los metadatos correspondientes de la PDU [SWS_Dlt_00272].
En cuanto a la concurrencia y al contexto de ejecución, la función es reentrante para diferentes ID de PDU, pero no es reentrante para el mismo ID de PDU [SWS_Dlt_00272]. Por consiguiente, el módulo subordinado llamador no debe permitir que la misma RxPduId se procese de forma concurrente, mientras que las llamadas paralelas con diferentes ID de PDU están permitidas [SWS_Dlt_00272].
Este texto fue generado por una IA a partir de la especificación.
función 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.
Según [SWS_Dlt_00754], la función síncrona Dlt_TriggerTransmit sirve para copiar datos de SDU a un búfer proporcionado a petición de una capa subyacente. Está declarada en Dlt.h y tiene el Service-ID 0x41.
Al realizar la llamada se transfieren los siguientes parámetros:
TxPduId: Identificador de la SDU cuya transmisión se solicita.PduInfoPtr: Puntero a una estructura del tipoPduInfoType. La entidad que realiza la llamada pasa el búfer de destino medianteSduDataPtry el tamaño de búfer máximo disponible medianteSduLength.
Dentro de la función, según [SWS_Dlt_00754], el módulo comprueba si los datos disponibles caben en el tamaño de búfer transferido:
- Si los datos caben, la función copia los datos útiles en
SduDataPtr, actualizaSduLengthcon el número de bytes realmente copiados y devuelveE_OK. - Si el búfer no es suficiente, la función devuelve
E_NOT_OKsin modificarPduInfoPtr.
Si se devuelve E_NOT_OK, no se ha copiado ningún dato de SDU. En este caso, la entidad que realiza la llamada no debe seguir utilizando PduInfoPtr, ya que puede apuntar a datos no válidos o ser un puntero NULL [SWS_Dlt_00754].
En cuanto a la concurrencia, Dlt_TriggerTransmit es reentrante para diferentes PDU-IDs, pero no es reentrante para la misma TxPduId [SWS_Dlt_00754].
Este texto ha sido generado automáticamente. Toda la información se basa en las especificaciones AUTOSAR referenciadas.
Guía del implementador pendiente (complejidad I1)
función 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.
Uso y contexto de llamada
La función Dlt_TxConfirmation sirve como interfaz de confirmación de la capa de comunicación inferior (lower layer communication interface module) frente al módulo Diagnostic Log and Trace (DLT) [SWS_Dlt_00273]. Informa de manera síncrona al módulo DLT sobre si una PDU solicitada previamente pudo transmitirse con éxito o si la transmisión ha fallado [SWS_Dlt_00273]. La función posee el Service-ID 0x40 y se proporciona a través del archivo de cabecera Dlt.h [SWS_Dlt_00273].
La interfaz no tiene valor de retorno (void) y espera dos parámetros de transferencia [SWS_Dlt_00273]:
TxPduId: el identificador de la PDU transmitida de tipoPduIdType.result: el estado de transmisión de tipoStd_ReturnType; en este caso,E_OKseñala la transmisión correcta yE_NOT_OKun fallo en la transmisión de la PDU.
Tratamiento de errores y concurrencia
Para esta llamada no se ha especificado un tratamiento de errores explícito con valores de retorno de error o mensajes DET o DEM específicos; el fallo de un proceso de envío se comunica al módulo DLT exclusivamente a través del valor de parámetro result = E_NOT_OK [SWS_Dlt_00273].
Para la ejecución se aplica una condición de reentrancia diferenciada: Dlt_TxConfirmation es reentrante para diferentes PDU-IDs, pero no reentrante para el mismo PDU-ID [SWS_Dlt_00273]. Por tanto, los controladores o interfaces llamantes deben garantizar que se excluyan llamadas simultáneas con idéntico TxPduId, mientras que las confirmaciones para diferentes PDUs pueden llegar de forma concurrente.
Esta nota de uso ha sido generada de forma automatizada sobre la base de la especificación AUTOSAR CP R20-11.
Guía del implementador pendiente (complejidad I1)
función 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 función Dlt_TpTxConfirmation sirve como función de confirmación síncrona del módulo Dlt tras el envío de una I-PDU de transporte [SWS_Dlt_00756]. Está disponible a través del archivo de cabecera Dlt.h con el Service-ID 0x48 [SWS_Dlt_00756].
Uso y semántica
La llamada se produce después de que se haya transmitido una I-PDU en la red correspondiente [SWS_Dlt_00756]. La función tiene la signatura void Dlt_TpTxConfirmation (PduIdType id, Std_ReturnType result) y no devuelve ningún valor de retorno [SWS_Dlt_00756]:
id(parámetro de entrada, tipoPduIdType): Identificación unívoca de la I-PDU transmitida [SWS_Dlt_00756].result(parámetro de entrada, tipoStd_ReturnType): Indica el estado de transmisión y señala si el envío de la I-PDU fue exitoso o falló [SWS_Dlt_00756].
Concurrencia y tratamiento de errores
La especificación define Dlt_TpTxConfirmation como síncrona y reentrante (Reentrant) [SWS_Dlt_00756]. No se han definido códigos de error de DET o DEM específicos para este servicio; el tratamiento de errores relativo al proceso de envío se basa en la evaluación del parámetro result [SWS_Dlt_00756]. En el contexto del sistema, es de suponer que la llamada la inicie típicamente una capa de transporte subyacente tras finalizar la transmisión de la PDU. Pregunta Q-0e5ab7c285316701 (abierta)
Este texto fue generado por un sistema de IA sobre la base de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función Dlt_CopyTxData [SWS_Dlt_00516] 📄 PDF
BufReq_ReturnType Dlt_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);
Service Dlt_CopyTxData.
Uso y semántica
La función síncrona y reentrante Dlt_CopyTxData sirve para recuperar datos de transmisión de un segmento de I-PDU (N-PDU) desde el módulo Dlt [SWS_Dlt_00516]. A través de id se especifica la I-PDU que se va a transmitir, mientras que info proporciona el búfer de destino (SduDataPtr) así como la longitud deseada en bytes (SduLength) [SWS_Dlt_00516]. Una transferencia de SduLength = 0 (en la que SduDataPtr puede pasarse como NULL_PTR) permite transmitir meros cambios de estado a través de retry o consultar la cantidad de datos restante en el búfer de transmisión [SWS_Dlt_00516]. Mediante el parámetro de salida availableDataPtr, la función devuelve la cantidad de datos aún disponible en el búfer Tx, lo que, por ejemplo, permite dimensionar los segmentos subsiguientes a módulos TP con longitud dinámica de datos útiles (como FrIsoTp) [SWS_Dlt_00516].
Confirmación y subsanación de errores
A través del puntero retry se controla la confirmación o la retransmisión [SWS_Dlt_00516]:
- Si
retryes unNULL_PTR, los datos copiados pueden descartarse del búfer inmediatamente después del proceso de copia [SWS_Dlt_00516]. - Si
TpDataStateapunta al valorTP_CONFPENDING, los datos copiados previamente deben permanecer en el búfer para una posible subsanación de errores [SWS_Dlt_00516]. - Con
TP_DATACONF, todos los datos transmitidos antes de la llamada se consideran confirmados y pueden liberarse [SWS_Dlt_00516]. - Con
TP_DATARETRY, el módulo reanuda la copia a partir del desplazamiento de bytes indicado enTxTpDataCnt[SWS_Dlt_00516].
Valores de retorno y condiciones de contorno
El resultado de la solicitud se notifica como BufReq_ReturnType [SWS_Dlt_00516]:
BUFREQ_OK: los datos se han copiado completamente en el búfer de destino según lo solicitado [SWS_Dlt_00516].BUFREQ_E_BUSY: la cantidad de datos solicitada no está disponible; no se ha copiado ningún dato, se permite un nuevo intento posterior [SWS_Dlt_00516].BUFREQ_E_NOT_OK: solicitud fallida; no se ha copiado ningún dato [SWS_Dlt_00516].
La interfaz está disponible a través de Dlt.h y está diseñada como reentrante [SWS_Dlt_00516]. Es probable que el contexto de llamada se encuentre típicamente en un módulo de protocolo de transporte subyacente durante la transmisión segmentada. Pregunta Q-a81c439e73e0acc0 (abierta)
Esta nota de uso ha sido generada de forma automatizada sobre la base de la especificación de AUTOSAR Classic R20-11.
Guía del implementador pendiente (complejidad I1)
función 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 función síncrona y reentrante Dlt_StartReception se llama al inicio de la recepción de una N-SDU, la cual se puede recibir como trama individual (SF) o fragmentada a través de varias N-PDUs [SWS_Dlt_91006]. Sirve para iniciar la conexión de transporte en el módulo Dlt y proporcionar el búfer de recepción disponible [SWS_Dlt_91006].
Mediante el parámetro id se identifica la I-PDU recibida, mientras que info transmite datos útiles y metadatos de la primera trama o se establece en NULL_PTR si no hay datos ni metadatos presentes [SWS_Dlt_91006]. A través de TpSduLength se transfiere la longitud total de la N-SDU; si se llama a la función con una longitud de 0, devuelve el tamaño de búfer máximo actualmente disponible mediante bufferSizePtr [SWS_Dlt_91006]. El protocolo de transporte utiliza el valor de bufferSizePtr para calcular el Block Size (BS) [SWS_Dlt_91006].
Si se acepta la conexión, la función devuelve BUFREQ_OK; si no hay suficiente búfer disponible para el tamaño solicitado, bufferSizePtr señaliza un tamaño de búfer de 0 para continuar con la recepción [SWS_Dlt_91006]. En caso de rechazo de la conexión, BUFREQ_E_NOT_OK cancela la recepción y, en caso de memoria total insuficiente, se notifica BUFREQ_E_OVFL; en ambos casos de error, bufferSizePtr permanece sin cambios [SWS_Dlt_91006].
Esta nota de uso se basa en la especificación AUTOSAR Classic R20-11.
Guía del implementador pendiente (complejidad I1)
función 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 función Dlt_TpRxIndication sirve como indicación de recepción síncrona después de que se haya recibido una I-PDU a través de la TP-API [SWS_Dlt_91007]. Está declarada en el archivo de cabecera Dlt.h y tiene el Service-ID 0x45 [SWS_Dlt_91007].
Uso y parámetros
La transferencia al módulo DLT se realiza mediante dos parámetros de entrada, no proporcionando la función ningún valor de retorno [SWS_Dlt_91007]:
id(tipoPduIdType): Designa la identificación de la I-PDU recibida [SWS_Dlt_91007].result(tipoStd_ReturnType): Indica el resultado de la recepción y señala si la transmisión fue exitosa [SWS_Dlt_91007].
Concurrencia y restricciones
La interfaz está definida como síncrona y reentrante [SWS_Dlt_91007]. No existen parámetros de entrada/salida ni exclusivamente de salida [SWS_Dlt_91007].
Tratamiento de errores e interacción
El resultado del transporte se señaliza al módulo DLT exclusivamente a través del argumento result; no se han especificado códigos de error, mensajes de DET ni de DEM específicos [SWS_Dlt_91007].
Interpretación: Es de suponer que la llamada la realice un componente del protocolo de transporte subyacente tan pronto como un mensaje DLT haya llegado por completo o la transmisión se interrumpa [SWS_Dlt_91007]. Pregunta Q-7d9c8564a2404acf (abierta)
Esta nota de uso fue generada por una IA a partir de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función Dlt_CopyRxData [SWS_Dlt_91008] 📄 PDF
BufReq_ReturnType Dlt_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);
Service Dlt_CopyRxData.
Uso y semántica
La función síncrona Dlt_CopyRxData se llama para transferir a la capa superior los datos recibidos de un segmento de I-PDU (N-PDU) [SWS_Dlt_91008]. Cada llamada proporciona la siguiente parte de los datos de la I-PDU, escribiéndose el tamaño de búfer restante en la posición de memoria referenciada mediante bufferSizePtr [SWS_Dlt_91008]. La declaración está disponible a través de la cabecera Dlt.h [SWS_Dlt_91008].
Parámetros y consulta de búfer
A través del parámetro de entrada id se identifica la I-PDU recibida [SWS_Dlt_91008]. El puntero info proporciona el búfer de origen mediante SduDataPtr, así como el número de bytes que se van a copiar mediante SduLength [SWS_Dlt_91008]. Si SduLength se pasa con el valor 0, la llamada sirve exclusivamente para consultar el búfer disponible actualmente en el módulo superior; en este caso, SduDataPtr puede ser un NULL_PTR [SWS_Dlt_91008]. El parámetro de salida bufferSizePtr devuelve el tamaño de búfer de recepción que aún queda libre tras la operación de copia [SWS_Dlt_91008].
Concurrencia y valores de retorno
La función está diseñada como reentrante y tiene el Service-ID 0x44 [SWS_Dlt_91008]. El valor de retorno de tipo BufReq_ReturnType señaliza el resultado de la operación de copia: en caso de aceptación correcta de los datos, el servicio devuelve BUFREQ_OK, mientras que en caso de error se notifica BUFREQ_E_NOT_OK [SWS_Dlt_91008].
Nota: Esta nota de uso ha sido generada por una IA sobre la base de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función Dlt_TxFunction [SWS_Dlt_91005] 📄 PDF
void Dlt_TxFunction (void);
-
Uso y contexto de llamada
Según la especificación [SWS_Dlt_91005], la función Dlt_TxFunction está definida como un servicio con el Service-ID 0x80 y se encuentra disponible a través de la cabecera SchM_Dlt.h. La signatura de su interfaz es void Dlt_TxFunction (void) [SWS_Dlt_91005]. Como interpretación, la declaración en SchM_Dlt.h apunta a que la llamada la realiza el BSW-Scheduler en el contexto de una tarea cíclica y no debería llamarse directamente por Software-Components de aplicación.
Parámetros y valores de retorno
Según [SWS_Dlt_91005], la función no acepta ningún parámetro de transferencia y no devuelve ningún valor de retorno (void). A juzgar por su nombre, es de suponer que la función se encarga del procesamiento y la transmisión cíclica de los mensajes de envío Dlt pendientes. Pregunta (abierta) Dado que no se han especificado valores de retorno, el tratamiento de errores probablemente se realice de forma puramente interna al módulo o al estado.
restricciones
Dado que el payload no contiene datos sobre reentrancia o errores de desarrollo específicos, los intervalos de llamada y las asignaciones de tareas deben coordinarse a través de la configuración del Schedule Manager. En [SWS_Dlt_91005] no se indican otros códigos de error ni entradas de DET.
Este texto ha sido generado por una IA; no sustituye el estudio de la especificación oficial de AUTOSAR.
tipo Dlt_ConfigType [SWS_Dlt_00437] 📄 PDF
This is the type of the data structure containing the initialization data for Dlt.
tipo Dlt_MessageType [SWS_Dlt_00224] 📄 PDF
This type describes the type of the message.
tipo Dlt_MessageIDType [SWS_Dlt_00228] 📄 PDF
Contains the unique Message Id for a message. This is only relevant in non - verbose mode.
tipo Dlt_MessageNetworkTraceInfoType [SWS_Dlt_00233] 📄 PDF
This type describes transported type of a Dlt BUSMESSAGE.
tipo Dlt_ApplicationIDType [SWS_Dlt_00226] 📄 PDF
This type describes the Application Id. 0x00000000 means the so - called wildcard.
tipo Dlt_ContextIDType [SWS_Dlt_00227] 📄 PDF
This type describes the Context Id. 0x00000000 means the so - called wildcard.
tipo Dlt_SessionIDType [SWS_Dlt_00225] 📄 PDF
This type identifies the session.
tipo Dlt_LogInfoType [SWS_Dlt_91002] 📄 PDF
-
tipo Dlt_ContextIdInfoType [SWS_Dlt_91003] 📄 PDF
Context Information
tipo Dlt_ApplicationIdInfoType [SWS_Dlt_91004] 📄 PDF
Information about Applications
tipo Dlt_MessageOptionsType [SWS_Dlt_00229] 📄 PDF
Bitfield
tipo Dlt_MessageLogInfoType [SWS_Dlt_00236] 📄 PDF
-
tipo Dlt_MessageLogLevelType [SWS_Dlt_00230] 📄 PDF
This type describes the log lev el for each log message.
tipo Dlt_MessageTraceType [SWS_Dlt_00231] 📄 PDF
This type describes labels for trace messages.
tipo Dlt_MessageArgumentCount [SWS_Dlt_00235] 📄 PDF
This type describes the count of arguments provided to a message.
tipo Dlt_MessageTraceInfoType [SWS_Dlt_00237] 📄 PDF
-
tipo Type [SWS_Dlt_00232] 📄 PDF
This type describes the Log Channel name.
tipo 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#b3c96fdb- Content hash
b3c96fdb- 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 en alemán