Default Error Tracer (DET)
The DET handles development errors, runtime errors, and transient faults across all BSW modules and SW-Cs.
Funktionen — Übersicht
void Det_Init (const Det_ConfigType* ConfigPtr);Service to initialize the Default Error Tracer.Std_ReturnType Det_ReportError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);Service to report development errors.void Det_Start (void);Service to start the Default Error Tracer.Std_ReturnType Det_ReportRuntimeError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, faultErrorTracer uint8 ErrorId);Service to report runtime errors.Std_ReturnType Det_ReportTransientFault (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);Service to report transient faults.void Det_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType <User_Error_Hooks> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);-Std_ReturnType <DetReportRuntimeErrorCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);-Std_ReturnType <DetReportTransientFaultCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);-
Typen — Übersicht
struct Det_ConfigTypeConfiguration data structure of the Det module.
Funktionen & Typen — Detailansicht
função Det_Init [SWS_Det_00008] 📄 PDF
void Det_Init (const Det_ConfigType* ConfigPtr);
Service to initialize the Default Error Tracer.
A função síncrona Det_Init serve como serviço central para a inicialização do Default Error Tracer ([SWS_Det_00008]). Ela é disponibilizada através do arquivo de cabeçalho Det.h e possui a assinatura void Det_Init (const Det_ConfigType* ConfigPtr). Através do parâmetro de entrada formal ConfigPtr, a função recebe um ponteiro para o registro de configuração selecionado do módulo. Nenhum valor de retorno está previsto para este serviço ([SWS_Det_00008]).
Em relação ao comportamento em tempo de execução, Det_Init é obrigatoriamente especificada como não reentrante (Non Reentrant) ([SWS_Det_00008]). Por esse motivo, a função nunca deve ser chamada em operação contínua de forma paralela ou com interrupções a partir de diferentes contextos de execução. O módulo provavelmente deve ser chamado centralmente durante a fase de inicialização do software básico, antes mesmo que outros módulos BSW ou componentes transmitam erros ao DET (interpretação).
Pergunta Q-143a3c098d03d7f8 (aberta)
A função é definida com o ID de serviço 0x00 ([SWS_Det_00008]). Códigos de erro próprios, mecanismos específicos de tratamento de erros ou mensagens de erro separadas via DET ou DEM não estão indicados para esta chamada de inicialização no presente trecho da especificação.
No âmbito do rastreamento de requisitos, a interface atende às diretrizes gerais do AUTOSAR para convenções uniformes de nomenclatura de APIs de acordo com [SRS_BSW_00310] (SWS DefaultErrorTracer §6 «Requirements Tracing»).
Esta nota foi gerada por uma IA com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função Det_ReportError [SWS_Det_00009] 📄 PDF
Std_ReturnType Det_ReportError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
Service to report development errors.
A função Det_ReportError destina-se, em módulos BSW do AUTOSAR Classic, à notificação de erros de desenvolvimento quando a detecção de erros está ativa ([SWS_BSW_00045], [SWS_Det_00009]). A interface é declarada como reentrante ([SWS_Det_00009]). O comportamento de execução não retorna ao chamador ("never returns"); o tipo de retorno Std_ReturnType existe apenas para compatibilidade com serviços e hooks ([SWS_Det_00009]).
Os parâmetros de passagem identificam o contexto do erro de forma unívoca ([SWS_Det_00009]):
ModuleId(uint16): identificador do módulo AUTOSAR que reporta; o software de base utiliza a faixa de 0 a 255 (EXP_LayeredSoftwareArchitecture §3 «Default Error Tracer»).InstanceId(uint8): instância do módulo a partir de 0; em instâncias únicas é passado 0 ([SWS_Det_00009]).ApiId(uint8): identificador do serviço de API que detectou o erro ([SWS_Det_00009]).ErrorId(uint8): identificador de erro específico do módulo BSW ([SWS_BSW_00045], [SWS_Det_00009]).
Erros de desenvolvimento representam violações fundamentais de pré-condições decorrentes de erros de software, configurações incorretas ou problemas de integração (EXP_LayeredSoftwareArchitecture §3 «Error Classification», [SRS_BSW_00337] texto ainda não importado), como a chamada de um módulo não inicializado ([SWS_BSW_00243]) ou parâmetros inválidos ([SWS_CANIF_00538]). Eles são tratados como assertions: após a chamada de todos os callbacks configurados em DetErrorHook ([SWS_Det_00501]), o fluxo de controle normal não deve continuar; o DET interrompe a execução, por exemplo, por meio de um loop infinito, instrução de parada (halt) ou reset ([SRS_BSW_00337] texto ainda não importado, EXP_LayeredSoftwareArchitecture §3 «Error Classification»).
Esta nota de utilização foi gerada por uma IA com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I2)
função Det_Start [SWS_Det_00010] 📄 PDF
void Det_Start (void);
Service to start the Default Error Tracer.
A função de API síncrona Det_Start destina-se a iniciar o Default Error Tracer (DET) ([SWS_Det_00010]). Este serviço está declarado no arquivo de cabeçalho Det.h sob o service ID 0x02 (SWS_DefaultErrorTracer §8.1.3.3 «Det_Start»). De acordo com a sintaxe void Det_Start(void), a função não recebe parâmetros de entrada nem de saída e não retorna valor ao chamador ([SWS_Det_00010]).
Para a integração e execução aplicam-se condições específicas:
- Reentrância e concorrência: A função é definida como não reentrante (
Non Reentrant) ([SWS_Det_00010]). Chamadas paralelas a partir de múltiplas tarefas ou contextos de interrupção são inadmissíveis. - Contexto de chamada: Interpretação: a chamada normalmente deve ocorrer de forma centralizada durante o startup do sistema após a inicialização básica, a fim de ativar o rastreamento de erros na unidade de controle. Pergunta Q-b28f205b1cc7acfa (aberta)
- Tratamento de erros: A interface não reporta estados de erro; no trecho da especificação não são definidos códigos de erro nem eventos de DET ou DEM para esta chamada ([SWS_Det_00010]).
No sistema geral, Det_Start atende à convenção de nomenclatura padronizada para o software de base AUTOSAR conforme [SRS_BSW_00310] texto ainda não importado (SWS_DefaultErrorTracer §6 «Requirements Tracing»).
Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função Det_ReportRuntimeError [SWS_Det_01001] 📄 PDF
Std_ReturnType Det_ReportRuntimeError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, faultErrorTracer uint8 ErrorId);
Service to report runtime errors. If a callout has been configured then this callout shall be called.
A função [SWS_Det_01001] serve como serviço BSW central em Det.h para receber erros de tempo de execução (Runtime Errors). Ela opera de forma síncrona e é projetada como reentrante [SWS_Det_01001].
Utilização e parâmetros
Módulos BSW chamadores passam quatro parâmetros obrigatórios para [SWS_Det_01001] na sinalização de erros:
ModuleId: Identificador de módulo do módulo BSW notificador.InstanceId: Número da instância baseado em índice (o valor0para módulos com apenas uma instância).ApiId: Identificador da função de API na qual o erro ocorreu.ErrorId: Identificador específico do módulo para o erro de tempo de execução detectado.
O serviço sempre retorna o valor de retorno E_OK para o módulo chamador [SWS_Det_01001].
Interação e tratamento de erros
De acordo com a arquitetura AUTOSAR, erros de tempo de execução distinguem-se de erros de desenvolvimento (que violam pré-condições fundamentais) e erros de produção (que são relevantes para o diagnóstico de oficina) EXP_LayeredSoftwareArchitecture §Integration and Runtime Aspects. O serviço é integrado, por exemplo, como interface obrigatória pelo driver ADC [SWS_Adc_00530] ou DDS [CP_SWS_Dds_00832] texto ainda não importado.
No CanIf, por exemplo, uma tentativa de envio através de um canal offline leva à notificação de CANIF_E_STOPPED [SWS_CANIF_00382], enquanto excessos de comprimento sem truncamento são reportados como CANIF_E_TXPDU_LENGTH_EXCEEDED [SWS_CANIF_00900].
Ao chamar [SWS_Det_01001], são executadas todas as funções de callout armazenadas no parâmetro de configuração DetReportRuntimeErrorCallout [SWS_Det_00503]. Se nenhum gancho de erro tiver sido configurado, chamadas de função adicionais são omitidas, permanecendo ativo um encaminhamento para o DLT caso este esteja configurado [SWS_Det_00503].
Esta nota de uso foi criada de forma automatizada com base na versão da especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I2)
função Det_ReportTransientFault [SWS_Det_01003] 📄 PDF
Std_ReturnType Det_ReportTransientFault (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);
Service to report transient faults. If a callout has been configured than this callout shall be called and the returned value of the callout shall be returned. Otherwise it returns immediately with E_ OK.
A função síncrona e reentrante Det_ReportTransientFault (service ID 0x05) serve para que módulos BSW reportem erros transientes detectados ao Default Error Tracer de forma padronizada ([SWS_BSW_00225], [SWS_Det_01003]). O serviço é declarado através do cabeçalho Det.h, mas está classificado como obsoleto (OBSOLETE) no release R20-11 (SWS_DefaultErrorTracer §8.1.3.5 «Det_ReportTransientFault»).
Na chamada, são passados exclusivamente parâmetros de entrada: o identificador do módulo chamador (ModuleId), o índice da instância (InstanceId, onde módulos de instância única passam 0), o service ID da API detectora do erro (ApiId) bem como o número do erro (FaultId), o qual deve ser do tipo uint8 conforme SWS_BSWGeneral §7.2.4.4 «Reporting» ([SWS_Det_01003]).
A chamada encaminha o erro para funções de callout configuradas e avalia seus retornos:
- Uma chamada resulta na execução de todos os callbacks configurados sob
DetReportTransientFaultCallout([SWS_Det_00502]). - Se não existir nenhum callout configurado, a função termina imediatamente e retorna o valor
E_OK([SWS_Det_01003]). - Se estiver configurado exatamente um callout,
Det_ReportTransientFaultretorna o seu valor de retorno do tipoStd_ReturnType([SWS_Det_01003]). - Se houver múltiplos callouts, é formada a operação lógica OU (soma) de todos os valores de retorno dos callouts. Como
E_OK = 0está definido, a função somente retornaE_OKse todos os callouts responderem sem erros comE_OK([SWS_Det_01003]).
Em relação à concorrência e ao ambiente de execução, a função foi projetada para ser reentrante, razão pela qual pode ser chamada concorrentemente a partir de diferentes contextos de módulo ([SWS_Det_01003]).
Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função Det_GetVersionInfo [SWS_Det_00011] 📄 PDF
void Det_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
função <User_Error_Hooks> [SWS_Det_00181] 📄 PDF
Std_ReturnType <User_Error_Hooks> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
-
A interface configurável <User_Error_Hooks> define a chamada de funções de callout personalizadas na detecção de erros de desenvolvimento [SWS_Det_00181]. Assim que a função Det_ReportError é chamada, todos os callouts configurados para isso no sistema devem ser executados de forma síncrona [SWS_Det_00180]. A declaração desta interface é disponibilizada por meio do cabeçalho Det_Externals.h SWS DefaultErrorTracer §8.1.5 «Callout Functions / Configurable Interfaces».
A função possui o service ID 0x10 e passa quatro parâmetros de diagnóstico para análise de erros [SWS_Det_00181]:
ModuleId: ID de módulo unívoco do módulo BSW chamador.InstanceId: identificador da instância do módulo, iniciando em0(para módulos com apenas uma instância, é passado0).ApiId: identificador da função de API afetada conforme a especificação do respectivo módulo.ErrorId: identificador do erro de desenvolvimento específico.
Conforme a especificação, a interface sempre retorna o valor de retorno E_OK, conforme exigido para tais serviços [SWS_Det_00181]. Códigos de erro próprios ou valores de status alternativos não podem ser reportados ao chamador por meio da interface.
Em relação à execução, <User_Error_Hooks> é projetado como síncrono e reentrante [SWS_Det_00181]. Caso múltiplos callouts estejam definidos para o mesmo serviço, eles devem apresentar a mesma assinatura e service ID [SWS_Det_00180]. Interpretação: como o processamento ocorre diretamente no contexto de chamada de Det_ReportError, hooks de usuário não devem utilizar mecanismos bloqueantes para não atrasar a execução do sistema. Pergunta Q-acd1afcd9336992f (aberta)
Esta nota de utilização foi gerada automaticamente com base na especificação AUTOSAR R20-11.
função <DetReportRuntimeErrorCallout> [SWS_Det_00184] 📄 PDF
Std_ReturnType <DetReportRuntimeErrorCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
-
A interface de callout configurável <DetReportRuntimeErrorCallout> serve para a detecção e o processamento posterior específicos do usuário de erros de tempo de execução no Default Error Tracer (SWS_DefaultErrorTracer §8.1.5 «Callout Functions / Configurable Interfaces»). Assim que a função Det_ReportRuntimeError é chamada, o DET executa todas as funções de callout configuradas para ela de forma síncrona ([SWS_Det_00180], [SWS_Det_00503]). Funções de callout configuradas são disponibilizadas através do arquivo de cabeçalho Det_Externals.h e possuem o ID de serviço 0x11 ([SWS_Det_00184]).
Parâmetros e valor de retorno
ModuleId(uint16): Identificador numérico do módulo BSW que reporta o erro de tempo de execução ([SWS_Det_00184]).InstanceId(uint8): Índice da instância do módulo, começando em 0; para instâncias únicas, sempre é passado 0 ([SWS_Det_00184]).ApiId(uint8): Identificador do serviço de API no qual o erro de tempo de execução ocorreu ([SWS_Det_00184]).ErrorId(uint8): Identificador específico do módulo para o erro de tempo de execução detectado ([SWS_Det_00184]).- Valor de retorno: O tipo
Std_ReturnTypesempre retornaE_OKde acordo com a especificação do serviço ([SWS_Det_00184]).
Simultaneidade e comportamento
A função de callout é especificada como reentrante e é processada sincronamente no contexto de execução do emissor ([SWS_Det_00184]). Todos os callouts configurados para o mesmo serviço devem apresentar a mesma assinatura e ID de serviço ([SWS_Det_00180]). Como o valor de retorno é fixado em E_OK, não ocorre nenhum feedback de estados de erro ao DET através do callout.
Nota: Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR Classic R20-11.
função <DetReportTransientFaultCallout> [SWS_Det_00187] 📄 PDF
Std_ReturnType <DetReportTransientFaultCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);
-
O gancho de callout [SWS_Det_00187] serve para o tratamento específico da aplicação de erros transitórios no Default Error Tracer (DET). A função é executada de forma síncrona e está definida com o ID de serviço 0x12 [SWS_Det_00187]. Ela recebe quatro parâmetros de entrada:
ModuleId: Identificador de módulo do módulo de software chamador [SWS_Det_00187].InstanceId: ID de instância do módulo baseada em índice, começando em0, em que módulos de instância única devem passar o valor0[SWS_Det_00187].ApiId: Identificador do serviço de API no qual o erro transitório ocorreu [SWS_Det_00187].FaultId: Identificador do erro transitório detectado conforme a SWS do módulo chamador [SWS_Det_00187].
Como valor de retorno, a interface fornece um valor do tipo Std_ReturnType, o qual é propagado imediatamente para o chamador de Det_ReportTransientFault [SWS_Det_00187]. A declaração é disponibilizada através do arquivo de cabeçalho Det_Externals.h [SWS_Det_00187].
Em termos de concorrência, a função é especificada como reentrante [SWS_Det_00187]. Como o valor de retorno é repassado sincronamente, a implementação do callout não deve conter operações bloqueantes, a fim de não atrasar indevidamente a execução do módulo notificador. Pergunta Q-23eaffed8be030bb (aberta)
Este texto foi gerado por uma IA com base nos dados de especificação.
tipo Det_ConfigType [SWS_Det_00210] 📄 PDF
Configuration data structure of the Det module.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Det- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Det@rel:R20-11#790e4452- Content hash
790e4452- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DefaultErrorTracer.pdf#nameddest=SWS_Det_00008
gemini-3.8-flash-low· 2026-10-13 · Original em alemão