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
função 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.
A função síncrona e não reentrante Dlt_Init (service ID 0x01, disponível através do arquivo de cabeçalho Dlt.h) inicializa o módulo Diagnostic Log and Trace (DLT) na Classic Platform [SWS_Dlt_00239]. Ela recebe, por meio do parâmetro config, um ponteiro para a estrutura de configuração específica do módulo do tipo Dlt_ConfigType e não retorna valor de retorno [SWS_Dlt_00239].
Para o contexto de chamada e a interação temporal com outros módulos BSW, aplicam-se condições de contorno específicas:
- Ordem de inicialização: O módulo DLT utiliza o NVRam Manager e deve ser inicializado bem tardiamente na fase de inicialização da unidade de controle [SWS_Dlt_00239]. A chamada da função
Dlt_Initdeve obrigatoriamente ocorrer somente após a inicialização completa do NVRam Manager [SWS_Dlt_00239]. - Dados persistentes: Quando o parâmetro de configuração
DltGeneralNvRAMSupportestá definido comoTRUE, o módulo DLT utiliza emDlt_Inita interfaceNvM_ReadBlockdo NVRAM Manager para restaurar valores persistentes de variáveis necessárias [SWS_Dlt_00453]. - Processamento de buffer: Assim que o módulo é inicializado por
Dlt_Inite o timer opcionalDltGeneralStartUpDelayTimerexpira, todos os dados de Log and Trace armazenados em buffer provisoriamente são processados e enviados de acordo com a especificação [SWS_Dlt_00005].
Como a função é especificada como não reentrante, o contexto chamador deve garantir que Dlt_Init não seja reentrante em paralelo ou por interrupção durante a execução [SWS_Dlt_00239].
Este texto foi gerado por um sistema de IA com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função Dlt_GetVersionInfo [SWS_Dlt_00271] 📄 PDF
void Dlt_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
função 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.
A função síncrona e reentrante Dlt_SendTraceMessage serve a módulos de software básico (BSW) bem como a componentes de software (SW-C) para a transmissão de parâmetros de trace para o módulo Dlt [SWS_Dlt_00243].
Parâmetros e contexto de chamada
Na chamada, o identificador de módulo ou de porta é passado via sessionId, metadados para filtragem de mensagens via traceInfo, bem como o buffer de dados úteis via traceData juntamente com a indicação de comprimento traceDataLength [SWS_Dlt_00243]. O módulo já pode armazenar mensagens de trace em buffer, mesmo que o Dlt ainda não tenha sido inicializado [SWS_Dlt_00003].
Valores de retorno e tratamento de erros
O serviço sinaliza o status por meio de valores de retorno específicos [SWS_Dlt_00243]:
E_OK: A operação foi executada com sucesso.DLT_E_MSG_TOO_LARGE: a mensagem excede o tamanho permitido de todos os canais de log atribuídos.DLT_E_NO_BUFFER: memória de buffer insuficiente; a mensagem não pode ser armazenada em buffer intermediário para pelo menos um canal de log.DLT_E_UNKNOWN_SESSION_ID: osessionIdpassado é desconhecido para o módulo.
Interação com funções de hook
Como Dlt_SendTraceMessage está especificada como interface para SW-Cs, existe para funções de hook geradas uma implementação interna equivalente [SWS_Dlt_00285], a qual envia mensagens de trace em modo non-verbose [SWS_Dlt_00277].
Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função 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.
A função síncrona e reentrante Dlt_SendLogMessage (Service ID 0x03) serve a módulos de software básico (BSW) e componentes de software (SW-C) como interface padronizada para o envio de mensagens de log [SWS_Dlt_00241]. A chamada ocorre por meio do arquivo de cabeçalho Dlt.h e, devido à reentrância, a função foi projetada para uso concorrente [SWS_Dlt_00241].
Na chamada da função, quatro parâmetros de entrada são necessários, enquanto nenhum parâmetro de saída é utilizado [SWS_Dlt_00241]:
sessionId: representa o identificador de sessão. Para SW-Cs, este parâmetro é invisível como valor de argumento associado à porta, enquanto módulos BSW passam diretamente o número do seu módulo.logInfo: ponteiro para uma estrutura constante que contém os metadados relevantes para a filtragem da mensagem de log.logData: ponteiro para o array de bytes com os dados a serem registrados em log, que forma a carga útil (payload) propriamente dita da mensagem.logDataLength: comprimento numérico do buffer de dadoslogData.
O tratamento de erros ocorre diretamente por meio do valor de retorno do tipo Std_ReturnType, que indica o sucesso da operação ou estados de erro específicos [SWS_Dlt_00241]:
DLT_OK: a mensagem de log foi aceita e processada com sucesso.DLT_E_MSG_TOO_LARGE: a mensagem excede o tamanho máximo de buffer permitido para todos os canais de log atribuídos.DLT_E_NO_BUFFER: não foi possível armazenar a mensagem em buffer intermediário em nenhum dos canais de log atribuídos.DLT_E_UNKNOWN_SESSION_ID: o ID de sessão passado é inválido ou desconhecido para o módulo.
Esta nota de uso foi gerada por uma IA com base na especificação AUTOSAR.
função 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
A função síncrona Dlt_UnregisterContext (Service-ID 0x16) é disponibilizada por meio do arquivo de cabeçalho Dlt.h e deve ser chamada quando um módulo de software é parado [SWS_Dlt_00769]. Ela serve para cancelar o registro de um contexto de uma aplicação previamente registrado.
A função espera três parâmetros de entrada [SWS_Dlt_00769]:
sessionId: Número do módulo; corresponde ao ID do módulo dentro do BSW ou ao valor de argumento definido especificamente para a porta dentro de um componente de software (SW-C) [SWS_Dlt_00769].appId: O identificador da aplicação de nível superior (Application ID) [SWS_Dlt_00769].contextId: O identificador do contexto cujo registro deve ser cancelado (Context ID) [SWS_Dlt_00769].
Valores de retorno e tratamento de erros
O valor de retorno do tipo Std_ReturnType fornece informações sobre o resultado da execução [SWS_Dlt_00769]:
E_OK: A operação solicitada foi concluída com sucesso [SWS_Dlt_00769].DLT_E_CONTEXT_NOT_YET_REG: O contexto do módulo de software não foi registrado previamente [SWS_Dlt_00769].DLT_E_UNKNOWN_SESSION_ID: O ID de sessão passado é desconhecido [SWS_Dlt_00769].
Simultaneidade e restrições
A função é especificada como reentrante e se comporta de forma síncrona [SWS_Dlt_00769]. Os módulos chamadores devem garantir que o ID de sessão passado seja válido e que o contexto estivesse efetivamente registrado antes da finalização, a fim de evitar erros no cancelamento do registro [SWS_Dlt_00769].
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR CP R20-11.
função 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.
Utilização e contexto de chamada
A interface síncrona Dlt_DetForwardErrorTrace com o ID de serviço 0x07 serve para encaminhar erros de desenvolvimento notificados a partir do Default Error Tracer (DET) para o módulo Dlt [SWS_Dlt_00432]. O módulo Dlt disponibiliza esse serviço para garantir a capacidade requerida de fan-out do DET para notificações de erros [SWS_Dlt_00430]. A declaração dessa função C é integrada através do arquivo de cabeçalho Dlt_Det.h [SWS_Dlt_00432].
Parâmetros e especificação da interface
A função recebe quatro parâmetros de entrada obrigatórios e não define valores de retorno nem parâmetros de saída [SWS_Dlt_00432]:
moduleId: ID do módulo do módulo de software chamador no qual o erro ocorreu.instanceId: Identificador da instância do módulo baseada em índice (a contagem começa em 0; módulos de instância única passam 0).apiId: Identificador do serviço de API afetado (definido na especificação do módulo chamador).errorId: Identificador do erro de desenvolvimento detectado (definido na especificação do módulo chamador).
Simultaneidade e tratamento de erros
A execução ocorre de forma síncrona em relação ao registro de erros chamador. Como função não reentrante (Non Reentrant), a interface exige obrigatoriamente que execuções concorrentes sejam evitadas pelo chamador [SWS_Dlt_00432]. Códigos de erro específicos, retornos de erro ou mensagens separadas de DET ou DEM não estão previstos na especificação para este serviço [SWS_Dlt_00432].
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR CP R20-11.
Guia do implementador em breve (complexidade I1)
função 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.
função 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.
A função síncrona Dlt_SetTraceStatus destina-se ao ajuste do status de trace para uma tupla específica de Application-ID e Context-ID [SWS_Dlt_00254]. Ela é definida através do arquivo de cabeçalho Dlt.h e possui o service ID 0x09 [SWS_Dlt_00254].
usar
Para a chamada são necessários três parâmetros de entrada [SWS_Dlt_00254]:
appId: O ID do componente de software (tipoDlt_ApplicationIDType).contextId: O ID do contexto (tipoDlt_ContextIDType).newTraceStatus: O novo status de trace a ser definido como valor booleano (tipoboolean).
Tratamento de erros e valores de retorno
A função retorna sincronamente um status do tipo Std_ReturnType [SWS_Dlt_00254]:
E_OK: Nenhum erro ocorreu e o status foi assumido com sucesso.E_NOT_OK: Não foi possível alterar o status de trace. Mensagens de erro DET específicas não são mencionadas na especificação da função (interpretação: presume-se que ocorra um erro em caso de identificadores inválidos ou estado defeituoso do módulo). Pergunta Q-77e190707462c8f1 (aberta)
Simultaneidade e restrições
A interface é especificada como não reentrante (Non Reentrant) [SWS_Dlt_00254]. Portanto, não deve ser executada de forma concorrente ou por interrupção sem sincronização adequada por parte do chamador.
Esta nota de utilização foi gerada automaticamente com base no release R20-11 do AUTOSAR.
Guia do implementador em breve (complexidade I1)
função 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.
função 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.
função 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
A função Dlt_StoreConfiguration ([SWS_Dlt_00736]) serve para salvar a configuração atual do Dlt na memória não volátil (NVRAM). O armazenamento ocorre internamente por meio de uma chamada síncrona da interface NvM_WriteBlock() do NVRAM Manager ([SWS_Dlt_00736]). A API é disponibilizada por meio do cabeçalho Dlt.h com o ID de serviço 0x1a.
A função possui a assinatura Std_ReturnType Dlt_StoreConfiguration(void) e não processa parâmetros de entrada, de saída nem de entrada/saída ([SWS_Dlt_00736]).
Tratamento de erros e valores de retorno
Como serviço síncrono, a função retorna diretamente um código de status do tipo Std_ReturnType ao chamador ([SWS_Dlt_00736]):
E_OK: A configuração foi transferida sem erros para a NVRAM ([SWS_Dlt_00736]).E_NOT_OK: Ocorreu um erro ao salvar a configuração do Dlt ([SWS_Dlt_00736]).DLT_E_NOT_SUPPORTED: O serviço para armazenamento de configuração não é suportado pelo módulo ([SWS_Dlt_00736]).
Simultaneidade e restrições
De acordo com [SWS_Dlt_00736], Dlt_StoreConfiguration é especificada como não reentrante (Non Reentrant). A função, portanto, não pode ser executada concorrentemente a partir de diferentes tarefas ou contextos, de modo que se deve garantir uma execução sequencial no lado do chamador.
Esta nota de utilização foi gerada automaticamente com base em especificações AUTOSAR.
função 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
A função síncrona Dlt_ResetToFactoryDefault é disponibilizada por meio do cabeçalho Dlt.h e não recebe parâmetros de passagem [SWS_Dlt_00739]. Sua finalidade primária é a redefinição da configuração de tempo de execução do Dlt: ela redefine o nível de log bem como o status de rastreamento para os valores padrão armazenados de forma persistente [SWS_Dlt_00739]. Se o suporte a NVRAM também estiver ativado no módulo Dlt, a chamada causará a exclusão completa de todos os valores do Dlt armazenados no NvM [SWS_Dlt_00739].
Valores de retorno e tratamento de erros
O resultado da operação é sinalizado de forma síncrona por meio do valor de retorno do tipo Std_ReturnType [SWS_Dlt_00739]:
E_OK: A configuração foi redefinida com sucesso para os valores padrão [SWS_Dlt_00739].E_NOT_OK: A redefinição da configuração falhou [SWS_Dlt_00739].
Mensagens de erro específicas de DET ou DEM não estão definidas para este serviço no presente escopo da especificação.
Simultaneidade e restrições
A função é especificada como não reentrante (Non Reentrant) (ID de serviço 0x06) [SWS_Dlt_00739]. Uma chamada concorrente ou que cause interrupção a partir de diferentes tarefas ou contextos é, portanto, inadmissível e deve ser evitada pelo chamador.
Esta nota de uso baseia-se exclusivamente nos dados de especificação do AUTOSAR Classic Release R20-11.
Guia do implementador em breve (complexidade I1)
função Dlt_SetMessageFiltering [SWS_Dlt_00770] 📄 PDF
Std_ReturnType Dlt_SetMessageFiltering (boolean status);
Switches on/ off the mes sage filtering functionality of the Dlt module.
função 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.
função 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.
função 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.
A função Dlt_RxIndication serve para a indicação de uma PDU recebida a partir de um módulo de interface de comunicação de camada inferior para o módulo DLT [SWS_Dlt_00272]. Ela está disponível através do cabeçalho Dlt.h e possui o ID de serviço 0x42 [SWS_Dlt_00272].
A chamada ocorre com semântica síncrona e não fornece nenhum valor de retorno (void) [SWS_Dlt_00272]. Dois parâmetros de entrada são passados para a função:
RxPduId: Identificador da PDU recebida (do tipoPduIdType) [SWS_Dlt_00272].PduInfoPtr: Ponteiro para uma estrutura do tipoPduInfoType. Esta contém o comprimento da PDU recebida (SduLength), um ponteiro para o buffer com a carga útil da PDU (SduDataPtr), bem como metadados associados da PDU [SWS_Dlt_00272].
Em relação à concorrência e ao contexto de execução, a função é reentrante para diferentes IDs de PDU, mas não é reentrante para o mesmo ID de PDU [SWS_Dlt_00272]. Consequentemente, o módulo de camada inferior chamador não deve permitir que o mesmo RxPduId seja processado concorrentemente, enquanto chamadas paralelas com diferentes IDs de PDU são permitidas [SWS_Dlt_00272].
Este texto foi gerado por uma IA com base na especificação.
função 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.
A função síncrona Dlt_TriggerTransmit serve, de acordo com [SWS_Dlt_00754], para copiar dados de SDU para um buffer fornecido mediante solicitação de uma camada subjacente. Ela é declarada em Dlt.h e possui o Service-ID 0x41.
Na chamada são passados os seguintes parâmetros:
TxPduId: Identificador da SDU cuja transmissão é solicitada.PduInfoPtr: Ponteiro para uma estrutura do tipoPduInfoType. O chamador passa o buffer de destino por meio deSduDataPtre o tamanho máximo de buffer disponível por meio deSduLength.
Dentro da função, o módulo verifica, de acordo com [SWS_Dlt_00754], se os dados disponíveis cabem no tamanho de buffer fornecido:
- Se os dados couberem, a função copia os dados úteis para
SduDataPtr, atualizaSduLengthcom o número de bytes efetivamente copiados e retornaE_OK. - Se o buffer não for suficiente, a função retorna
E_NOT_OKsem modificarPduInfoPtr.
Se E_NOT_OK for retornado, nenhum dado de SDU foi copiado. O chamador não deve continuar a usar PduInfoPtr nesse caso, pois ele pode apontar para dados inválidos ou ser um ponteiro NULL [SWS_Dlt_00754].
Em relação à concorrência, Dlt_TriggerTransmit é reentrante para IDs de PDU diferentes, mas não é reentrante para a mesma TxPduId [SWS_Dlt_00754].
Este texto foi gerado automaticamente. Todas as informações baseiam-se nas especificações AUTOSAR referenciadas.
Guia do implementador em breve (complexidade I1)
função 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.
Utilização e contexto de chamada
A função Dlt_TxConfirmation serve como interface de confirmação da camada de comunicação inferior (lower layer communication interface module) perante o módulo Diagnostic Log and Trace (DLT) [SWS_Dlt_00273]. Ela informa o módulo DLT de forma síncrona se uma PDU solicitada anteriormente pôde ser transmitida com sucesso ou se a transmissão falhou [SWS_Dlt_00273]. A função possui o service ID 0x40 e é disponibilizada através do arquivo de cabeçalho Dlt.h [SWS_Dlt_00273].
A interface não possui valor de retorno (void) e espera dois parâmetros de passagem [SWS_Dlt_00273]:
TxPduId: O identificador da PDU transmitida do tipoPduIdType.result: O status de transmissão do tipoStd_ReturnType; neste contexto,E_OKsinaliza a transmissão bem-sucedida eE_NOT_OKuma falha na transmissão da PDU.
Tratamento de erros e simultaneidade
Um tratamento explícito de erros com valores de retorno de erro ou mensagens DET ou DEM específicas não está especificado para esta chamada; a falha de um processo de envio é comunicada ao módulo DLT exclusivamente através do valor do parâmetro result = E_NOT_OK [SWS_Dlt_00273].
Para a execução aplica-se uma condição de reentrância diferenciada: Dlt_TxConfirmation é reentrante para PDU-IDs distintas, mas não reentrante para a mesma PDU-ID [SWS_Dlt_00273]. Drivers ou interfaces chamadoras devem, portanto, assegurar que chamadas simultâneas com TxPduId idêntico sejam excluídas, ao passo que confirmações para PDUs distintas podem chegar de forma concorrente.
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR CP R20-11.
Guia do implementador em breve (complexidade I1)
função 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.
A função Dlt_TpTxConfirmation serve como função de confirmação síncrona do módulo Dlt após o envio de uma I-PDU de transporte [SWS_Dlt_00756]. Ela está disponível por meio do arquivo de cabeçalho Dlt.h com o Service-ID 0x48 [SWS_Dlt_00756].
Utilização e semântica
A chamada ocorre após uma I-PDU ter sido transmitida na respectiva rede [SWS_Dlt_00756]. A função possui a assinatura void Dlt_TpTxConfirmation (PduIdType id, Std_ReturnType result) e não retorna valor de retorno [SWS_Dlt_00756]:
id(parâmetro de entrada, tipoPduIdType): Identificação unívoca da I-PDU transmitida [SWS_Dlt_00756].result(parâmetro de entrada, tipoStd_ReturnType): Indica o status de transmissão e sinaliza se o envio da I-PDU foi bem-sucedido ou falhou [SWS_Dlt_00756].
Simultaneidade e tratamento de erros
A especificação designa Dlt_TpTxConfirmation como síncrona e reentrante (Reentrant) [SWS_Dlt_00756]. Códigos de erro específicos de DET ou DEM não estão definidos para este serviço; o tratamento de erros relativo ao procedimento de envio baseia-se na avaliação do parâmetro result [SWS_Dlt_00756]. No contexto do sistema, a chamada é tipicamente iniciada por uma camada de transporte subjacente após a conclusão da transmissão da PDU. Pergunta Q-0e5ab7c285316701 (aberta)
Este texto foi gerado por um sistema de IA com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função Dlt_CopyTxData [SWS_Dlt_00516] 📄 PDF
BufReq_ReturnType Dlt_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);
Service Dlt_CopyTxData.
Utilização e semântica
A função síncrona e reentrante Dlt_CopyTxData serve para a recuperação de dados de transmissão de um segmento de I-PDU (N-PDU) a partir do módulo Dlt [SWS_Dlt_00516]. Através de id, a I-PDU a ser transmitida é especificada, enquanto info fornece o buffer de destino (SduDataPtr), bem como o comprimento em bytes desejado (SduLength) [SWS_Dlt_00516]. A passagem de SduLength = 0 (na qual SduDataPtr pode ser passado como NULL_PTR) permite transmitir alterações puras de status via retry ou consultar a quantidade restante de dados no buffer de transmissão [SWS_Dlt_00516]. Através do parâmetro de saída availableDataPtr, a função relata a quantidade de dados ainda disponível no buffer de Tx, o que possibilita, por exemplo, que módulos TP com comprimento dinâmico de carga útil (como FrIsoTp) façam o dimensionamento de segmentos subsequentes [SWS_Dlt_00516].
Confirmação e recuperação de erros
Através do ponteiro retry, o reconhecimento ou a transmissão repetida é controlado [SWS_Dlt_00516]:
- Se
retryfor umNULL_PTR, os dados copiados podem ser descartados do buffer imediatamente após o processo de cópia [SWS_Dlt_00516]. - Se
TpDataStateapontar para o valorTP_CONFPENDING, os dados copiados anteriormente devem permanecer no buffer para uma eventual recuperação de erros [SWS_Dlt_00516]. - Com
TP_DATACONF, todos os dados transmitidos antes da chamada são considerados confirmados e podem ser liberados [SWS_Dlt_00516]. - Com
TP_DATARETRY, o módulo reinicia a cópia a partir do deslocamento em bytes passado emTxTpDataCnt[SWS_Dlt_00516].
Valores de retorno e condições de contorno
O resultado da solicitação é reportado como BufReq_ReturnType [SWS_Dlt_00516]:
BUFREQ_OK: Os dados foram totalmente copiados para o buffer de destino conforme solicitado [SWS_Dlt_00516].BUFREQ_E_BUSY: A quantidade de dados solicitada não está disponível; nenhum dado foi copiado, uma nova tentativa posterior é permitida [SWS_Dlt_00516].BUFREQ_E_NOT_OK: A solicitação falhou; nenhum dado foi copiado [SWS_Dlt_00516].
A interface está disponível através de Dlt.h e é projetada como reentrante [SWS_Dlt_00516]. O contexto de chamada deve tipicamente residir em um módulo de protocolo de transporte de camada inferior durante a transmissão segmentada. Pergunta Q-a81c439e73e0acc0 (aberta)
Esta nota de uso foi gerada de forma automatizada com base na especificação do AUTOSAR Classic R20-11.
Guia do implementador em breve (complexidade I1)
função 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 -
A função síncrona e reentrante Dlt_StartReception é chamada no início da recepção de uma N-SDU, a qual pode ser recebida como quadro único (SF) ou fragmentada ao longo de múltiplas N-PDUs [SWS_Dlt_91006]. Ela serve para iniciar a conexão de transporte no módulo Dlt e disponibilizar o buffer de recepção disponível [SWS_Dlt_91006].
Por meio do parâmetro id identifica-se a I-PDU recebida, enquanto info transmite dados úteis e metadados do primeiro quadro ou é definido como NULL_PTR caso não estejam presentes dados nem metadados [SWS_Dlt_91006]. Por meio de TpSduLength passa-se o comprimento total da N-SDU; se a função for chamada com um comprimento de 0, ela retorna o tamanho de buffer máximo atualmente disponível por meio de bufferSizePtr [SWS_Dlt_91006]. O protocolo de transporte utiliza o valor de bufferSizePtr para o cálculo do Block Size (BS) [SWS_Dlt_91006].
Se a conexão for aceita, a função retorna BUFREQ_OK; se não houver buffer suficiente disponível para o tamanho solicitado, bufferSizePtr sinaliza um tamanho de buffer de 0 para a continuação da recepção [SWS_Dlt_91006]. Em caso de rejeição da conexão, BUFREQ_E_NOT_OK cancela a recepção e, em caso de memória total insuficiente, BUFREQ_E_OVFL é relatado; em ambos os casos de erro, bufferSizePtr permanece inalterado [SWS_Dlt_91006].
Esta nota de uso baseia-se na especificação AUTOSAR Classic R20-11.
Guia do implementador em breve (complexidade I1)
função 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.
A função Dlt_TpRxIndication serve como indicação síncrona de recepção após uma I-PDU ter sido recebida por meio da TP-API [SWS_Dlt_91007]. Ela é declarada no arquivo de cabeçalho Dlt.h e possui o Service-ID 0x45 [SWS_Dlt_91007].
Utilização e parâmetros
A passagem para o módulo DLT ocorre por meio de dois parâmetros de entrada, e a função não fornece valor de retorno [SWS_Dlt_91007]:
id(tipoPduIdType): Caracteriza a identificação da I-PDU recebida [SWS_Dlt_91007].result(tipoStd_ReturnType): Indica o resultado da recepção e mostra se a transmissão foi bem-sucedida [SWS_Dlt_91007].
Simultaneidade e restrições
A interface é definida como síncrona e reentrante [SWS_Dlt_91007]. Não existem parâmetros de entrada/saída nem puramente de saída [SWS_Dlt_91007].
Tratamento de erros e interação
O resultado do transporte é sinalizado ao módulo DLT exclusivamente por meio do argumento result; códigos de erro específicos, mensagens DET ou DEM não são especificados [SWS_Dlt_91007].
Interpretação: A chamada provavelmente deve ser efetuada por um componente de protocolo de transporte subjacente assim que uma mensagem DLT chegar por completo ou se a transmissão for interrompida [SWS_Dlt_91007]. Pergunta Q-7d9c8564a2404acf (aberta)
Esta nota de uso foi gerada por uma IA com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função Dlt_CopyRxData [SWS_Dlt_91008] 📄 PDF
BufReq_ReturnType Dlt_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);
Service Dlt_CopyRxData.
Utilização e semântica
A função síncrona Dlt_CopyRxData é chamada para passar dados recebidos de um segmento de I-PDU (N-PDU) para a camada superior [SWS_Dlt_91008]. Cada chamada disponibiliza a próxima parte dos dados da I-PDU, sendo o tamanho restante do buffer gravado no local de memória referenciado por meio de bufferSizePtr [SWS_Dlt_91008]. A declaração está disponível por meio do cabeçalho Dlt.h [SWS_Dlt_91008].
Parâmetros e consulta de buffer
Por meio do parâmetro de entrada id identifica-se a I-PDU recebida [SWS_Dlt_91008]. O ponteiro info disponibiliza o buffer de origem por meio de SduDataPtr bem como o número de bytes a serem copiados por meio de SduLength [SWS_Dlt_91008]. Se SduLength for passado com o valor 0, a chamada serve puramente para consultar o buffer atualmente disponível no módulo superior; nesse caso, SduDataPtr pode ser um NULL_PTR [SWS_Dlt_91008]. O parâmetro de saída bufferSizePtr retorna o tamanho de buffer de recepção ainda livre após o procedimento de cópia [SWS_Dlt_91008].
Concorrência e valores de retorno
A função é projetada como reentrante e possui o Service-ID 0x44 [SWS_Dlt_91008]. O valor de retorno do tipo BufReq_ReturnType sinaliza o resultado do procedimento de cópia: Em caso de aceitação de dados bem-sucedida, o serviço retorna BUFREQ_OK, enquanto em caso de erro é relatado BUFREQ_E_NOT_OK [SWS_Dlt_91008].
Nota: Esta nota de uso foi gerada por uma IA com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função Dlt_TxFunction [SWS_Dlt_91005] 📄 PDF
void Dlt_TxFunction (void);
-
Utilização e contexto de chamada
A função Dlt_TxFunction está definida, de acordo com a especificação [SWS_Dlt_91005], como serviço com o Service-ID 0x80 e disponível por meio do cabeçalho SchM_Dlt.h. A assinatura de sua interface é void Dlt_TxFunction (void) [SWS_Dlt_91005]. A declaração em SchM_Dlt.h sugere, como interpretação, que a chamada é realizada pelo escalonador do BSW no contexto de uma tarefa cíclica e não deve ser chamada diretamente por componentes de software de aplicação.
Parâmetros e valores de retorno
De acordo com [SWS_Dlt_91005], a função não recebe parâmetros de passagem e não fornece valor de retorno (void). Pelo nome, a função deve ser responsável pelo processamento cíclico e pela transmissão de mensagens de envio pendentes do Dlt. Pergunta (aberta) Como não há valores de retorno especificados, o tratamento de erros ocorre, presumivelmente, de forma puramente interna ao módulo ou ao estado.
Restrições
Como o payload não contém informações sobre reentrância ou erros especiais de desenvolvimento, os intervalos de chamada e as atribuições de tarefas devem ser alinhados por meio da configuração do gerenciador de escalonamento. Outros códigos de erro ou entradas DET não constam em [SWS_Dlt_91005].
Este texto foi gerado por uma IA; ele não substitui o estudo da especificação oficial da 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#b7c5f95b- Content hash
b7c5f95b- 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 em alemão