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
función Det_Init [SWS_Det_00008] 📄 PDF
void Det_Init (const Det_ConfigType* ConfigPtr);
Service to initialize the Default Error Tracer.
La función síncrona Det_Init sirve como servicio central para la inicialización del Default Error Tracer ([SWS_Det_00008]). Se proporciona a través del archivo de cabecera Det.h y tiene la firma void Det_Init (const Det_ConfigType* ConfigPtr). Mediante el parámetro formal de entrada ConfigPtr, la función recibe un puntero al conjunto de datos de configuración seleccionado del módulo. No se prevé ningún valor de retorno para este servicio ([SWS_Det_00008]).
En cuanto al comportamiento en tiempo de ejecución, Det_Init está especificada de forma vinculante como no reentrante (Non Reentrant) ([SWS_Det_00008]). Por esta razón, la función no debe llamarse en ningún caso durante el funcionamiento de forma paralela o con interrupciones desde diferentes contextos de ejecución. Probablemente el módulo se llame de forma centralizada durante la fase de inicialización del software base, antes incluso de que otros módulos de BSW o componentes transmitan errores al DET (interpretación). Pregunta Q-143a3c098d03d7f8 (abierta)
La función está definida con el ID de servicio 0x00 ([SWS_Det_00008]). En el presente extracto de la especificación no se indican códigos de error propios, mecanismos específicos de tratamiento de errores ni mensajes de error independientes a través de DET o DEM para esta llamada de inicialización.
En el marco de la trazabilidad de requisitos, la interfaz cumple con las especificaciones generales de AUTOSAR para convenciones uniformes de nomenclatura de API de acuerdo con [SRS_BSW_00310] (SWS DefaultErrorTracer §6 «Requirements Tracing»).
Esta nota ha sido generada por una IA a partir de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función Det_ReportError [SWS_Det_00009] 📄 PDF
Std_ReturnType Det_ReportError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
Service to report development errors.
La función Det_ReportError sirve en módulos BSW de AUTOSAR Classic para notificar errores de desarrollo cuando la detección de errores está activa ([SWS_BSW_00045], [SWS_Det_00009]). La interfaz está declarada como reentrante ([SWS_Det_00009]). El comportamiento de ejecución no regresa a la entidad llamante («never returns»); el tipo de retorno Std_ReturnType solo existe por compatibilidad con servicios y hooks ([SWS_Det_00009]).
Los parámetros de entrada identifican unívocamente el contexto del error ([SWS_Det_00009]):
ModuleId(uint16): Identificador de módulo AUTOSAR del módulo notificante; el software base utiliza el rango de 0 a 255 (EXP_LayeredSoftwareArchitecture §3 «Default Error Tracer»).InstanceId(uint8): Instancia del módulo a partir de 0; en el caso de instancias únicas se pasa 0 ([SWS_Det_00009]).ApiId(uint8): Identificador del servicio de API que detecta el error ([SWS_Det_00009]).ErrorId(uint8): Identificador de error específico del módulo BSW ([SWS_BSW_00045], [SWS_Det_00009]).
Los errores de desarrollo representan violaciones fundamentales de precondiciones debidas a errores de software, configuraciones erróneas o problemas de integración (EXP_LayeredSoftwareArchitecture §3 «Error Classification», [SRS_BSW_00337] texto aún no importado), tales como la llamada a un módulo no inicializado ([SWS_BSW_00243]) o parámetros no válidos ([SWS_CANIF_00538]). Se gestionan como aserciones: tras llamar a todas las devoluciones de llamada configuradas en DetErrorHook ([SWS_Det_00501]), el flujo de control normal no debe continuar; el DET detiene la ejecución, por ejemplo, mediante un bucle infinito, una instrucción de parada o un reinicio ([SRS_BSW_00337] texto aún no importado, EXP_LayeredSoftwareArchitecture §3 «Error Classification»).
Esta nota de uso fue generada por una IA sobre la base de la especificación AUTOSAR-R20-11.
Guía del implementador pendiente (complejidad I2)
función Det_Start [SWS_Det_00010] 📄 PDF
void Det_Start (void);
Service to start the Default Error Tracer.
La función de API síncrona Det_Start sirve para iniciar el Default Error Tracer (DET) ([SWS_Det_00010]). Este servicio está declarado en el archivo de encabezado Det.h bajo el Service-ID 0x02 (SWS_DefaultErrorTracer §8.1.3.3 «Det_Start»). Según la sintaxis void Det_Start(void), la función no acepta parámetros de entrada ni de salida y no devuelve ningún valor a la entidad llamante ([SWS_Det_00010]).
Para la integración y la ejecución se aplican condiciones específicas:
- Reentrancia y concurrencia: La función está definida como no reentrante (
Non Reentrant) ([SWS_Det_00010]). Las llamadas paralelas desde múltiples tareas o contextos de interrupción no están permitidas. - Contexto de llamada: Interpretación: la llamada probablemente debería realizarse de forma centralizada durante el arranque del sistema tras la inicialización básica, con el fin de activar el rastreo de errores en la unidad de control. Pregunta Q-b28f205b1cc7acfa (abierta)
- Tratamiento de errores: La interfaz no devuelve estados de error; en el extracto de la especificación no se definen códigos de error ni eventos DET o DEM para esta llamada ([SWS_Det_00010]).
En el sistema global, Det_Start cumple con la convención de nomenclatura estandarizada para el software base de AUTOSAR según [SRS_BSW_00310] texto aún no importado (SWS_DefaultErrorTracer §6 «Requirements Tracing»).
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 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.
La función [SWS_Det_01001] sirve como servicio central de BSW en Det.h para recibir errores de tiempo de ejecución (Runtime Errors). Funciona de forma síncrona y está diseñada como reentrante [SWS_Det_01001].
Uso y parámetros
Los módulos BSW llamadores pasan cuatro parámetros obligatorios a [SWS_Det_01001] al notificar el error:
ModuleId: identificador de módulo del módulo BSW notificador.InstanceId: número de instancia basado en índice (en módulos con solo una instancia, el valor0).ApiId: identificador de la función de API en la que se ha producido el error.ErrorId: identificador específico del módulo del error de tiempo de ejecución detectado.
El servicio devuelve siempre el valor de retorno E_OK al módulo llamador [SWS_Det_01001].
Interacción y tratamiento de errores
De acuerdo con la arquitectura de AUTOSAR, los errores de tiempo de ejecución se diferencian de los errores de desarrollo (que vulneran condiciones previas fundamentales) y de los errores de producción (que son relevantes para el diagnóstico en taller) EXP_LayeredSoftwareArchitecture §Integration and Runtime Aspects. El servicio se integra, por ejemplo, como interfaz obligatoria desde el controlador ADC [SWS_Adc_00530] o DDS [CP_SWS_Dds_00832] texto aún no importado.
En CanIf, por ejemplo, un intento de transmisión a través de un canal fuera de línea provoca la notificación de CANIF_E_STOPPED [SWS_CANIF_00382], mientras que los excesos de longitud sin truncamiento se notifican como CANIF_E_TXPDU_LENGTH_EXCEEDED [SWS_CANIF_00900].
Al llamar a [SWS_Det_01001], se ejecutan todas las funciones de callout almacenadas en el parámetro de configuración DetReportRuntimeErrorCallout [SWS_Det_00503]. Si no se configuraron hooks de error, se omiten las llamadas a funciones adicionales, permaneciendo activo el reenvío al DLT si este está configurado [SWS_Det_00503].
Esta nota de uso se elaboró de forma automatizada sobre la base del estado de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I2)
función 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.
La función síncrona y reentrante Det_ReportTransientFault (Service-ID 0x05) sirve a los módulos BSW para la notificación estandarizada de errores transitorios detectados al Default Error Tracer ([SWS_BSW_00225], [SWS_Det_01003]). El servicio está declarado a través del encabezado Det.h, pero en la versión R20-11 está marcado como obsoleto (OBSOLETE) (SWS_DefaultErrorTracer §8.1.3.5 «Det_ReportTransientFault»).
En la llamada se transmiten exclusivamente parámetros de entrada: el identificador del módulo llamante (ModuleId), el índice de instancia (InstanceId, donde los módulos de instancia única pasan 0), el Service-ID de la API que detecta el error (ApiId) y el número de error (FaultId), que según SWS_BSWGeneral §7.2.4.4 «Reporting» debe ser del tipo uint8 ([SWS_Det_01003]).
La llamada reenvía el error a las funciones callout configuradas y evalúa sus respuestas:
- Una llamada provoca la ejecución de todas las devoluciones de llamada configuradas en
DetReportTransientFaultCallout([SWS_Det_00502]). - Si no existe ningún callout configurado, la función termina de inmediato y devuelve el valor
E_OK([SWS_Det_01003]). - Si se ha configurado exactamente un callout,
Det_ReportTransientFaultdevuelve su valor de retorno de tipoStd_ReturnType([SWS_Det_01003]). - Si hay varios callouts, se forma la operación lógica OR (suma) de todos los valores de retorno de los callouts. Dado que se define
E_OK = 0, la función solo devuelveE_OKsi todos los callouts responden sin errores conE_OK([SWS_Det_01003]).
En cuanto a la concurrencia y el entorno de ejecución, la función está diseñada para ser reentrante, por lo que puede llamarse de forma concurrente desde diferentes contextos de módulo ([SWS_Det_01003]).
Este texto ha sido generado por una IA a partir de la especificación R20-11 de AUTOSAR.
Guía del implementador pendiente (complejidad I1)
función Det_GetVersionInfo [SWS_Det_00011] 📄 PDF
void Det_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
función <User_Error_Hooks> [SWS_Det_00181] 📄 PDF
Std_ReturnType <User_Error_Hooks> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
-
La interfaz configurable <User_Error_Hooks> define la llamada a funciones callout definidas por el usuario al detectarse errores de desarrollo [SWS_Det_00181]. Tan pronto como se llama a la función Det_ReportError, todos los callouts configurados para ello en el sistema deben ejecutarse de forma síncrona [SWS_Det_00180]. La declaración de esta interfaz se proporciona a través del encabezado Det_Externals.h SWS DefaultErrorTracer §8.1.5 «Callout Functions / Configurable Interfaces».
La función tiene el Service-ID 0x10 y transmite cuatro parámetros de diagnóstico para el análisis de errores [SWS_Det_00181]:
ModuleId: ID de módulo único del módulo BSW llamante.InstanceId: Identificador de la instancia del módulo, comenzando en0(en módulos con solo una instancia se pasa0).ApiId: Identificador de la función de API afectada según la especificación del módulo correspondiente.ErrorId: Identificador del error de desarrollo específico.
Según la especificación, la interfaz siempre devuelve el valor de retorno E_OK, tal como se requiere para tales servicios [SWS_Det_00181]. No se pueden notificar códigos de error propios ni valores de estado alternativos a la entidad llamante a través de la interfaz.
En cuanto a la ejecución, <User_Error_Hooks> está diseñada para ser síncrona y reentrante [SWS_Det_00181]. Si se definen varios callouts para el mismo servicio, estos deben tener la misma signatura y el mismo Service-ID [SWS_Det_00180]. Interpretación: dado que el procesamiento se produce inmediatamente en el contexto de llamada de Det_ReportError, los hooks de usuario no deberían utilizar mecanismos de bloqueo para no retrasar la ejecución del sistema. Pregunta Q-acd1afcd9336992f (abierta)
Esta nota de uso se generó automáticamente a partir de la especificación AUTOSAR-R20-11.
función <DetReportRuntimeErrorCallout> [SWS_Det_00184] 📄 PDF
Std_ReturnType <DetReportRuntimeErrorCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
-
La interfaz de callout configurable <DetReportRuntimeErrorCallout> sirve para la detección y el procesamiento posterior específicos del usuario de errores de tiempo de ejecución en el Default Error Tracer (SWS_DefaultErrorTracer §8.1.5 «Callout Functions / Configurable Interfaces»). En cuanto se llama a la función Det_ReportRuntimeError, el DET ejecuta de forma síncrona todas las funciones de callout configuradas para ello ([SWS_Det_00180], [SWS_Det_00503]). Las funciones de callout configuradas se proporcionan a través del archivo de cabecera Det_Externals.h y tienen el ID de servicio 0x11 ([SWS_Det_00184]).
Parámetros y valor de retorno
ModuleId(uint16): identificador numérico del módulo BSW que notifica el error de tiempo de ejecución ([SWS_Det_00184]).InstanceId(uint8): índice de instancia del módulo, comenzando en 0; en instancias individuales siempre se pasa 0 ([SWS_Det_00184]).ApiId(uint8): identificador del servicio de API en el que se ha producido el error de tiempo de ejecución ([SWS_Det_00184]).ErrorId(uint8): identificador específico del módulo del error de tiempo de ejecución detectado ([SWS_Det_00184]).- Valor de retorno: el tipo
Std_ReturnTypesiempre devuelveE_OKsegún la especificación del servicio ([SWS_Det_00184]).
Concurrencia y comportamiento
La función de callout está especificada como reentrante y se procesa de forma síncrona en el contexto de ejecución de la entidad notificadora ([SWS_Det_00184]). Todos los callouts configurados para el mismo servicio deben tener la misma firma y el mismo ID de servicio ([SWS_Det_00180]). Dado que el valor de retorno está fijado de forma predeterminada a E_OK, no se produce ninguna retroalimentación de estados de error al DET a través del callout.
Nota: Esta nota de uso se ha generado automáticamente a partir de la especificación AUTOSAR Classic R20-11.
función <DetReportTransientFaultCallout> [SWS_Det_00187] 📄 PDF
Std_ReturnType <DetReportTransientFaultCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);
-
El hook de callout [SWS_Det_00187] sirve para el tratamiento específico de la aplicación de errores transitorios en el Default Error Tracer (DET). La función se ejecuta de forma síncrona y está definida con el ID de servicio 0x12 [SWS_Det_00187]. Admite cuatro parámetros de entrada:
ModuleId: identificador de módulo del módulo de software llamador [SWS_Det_00187].InstanceId: ID de instancia del módulo basado en índice comenzando en0, debiendo los módulos de instancia única pasar el valor0[SWS_Det_00187].ApiId: identificador del servicio de API en el que se ha producido el error transitorio [SWS_Det_00187].FaultId: identificador del error transitorio detectado según la SWS del módulo llamador [SWS_Det_00187].
Como valor de retorno, la interfaz proporciona un valor de tipo Std_ReturnType, el cual se propaga directamente al llamador de Det_ReportTransientFault [SWS_Det_00187]. La declaración se proporciona a través del archivo de cabecera Det_Externals.h [SWS_Det_00187].
En cuanto a la concurrencia, la función está especificada como reentrante [SWS_Det_00187]. Dado que el valor de retorno se transmite de forma síncrona, la implementación del callout probablemente no debería contener operaciones bloqueantes, con el fin de no retrasar indebidamente la ejecución del módulo notificador. Pregunta Q-23eaffed8be030bb (abierta)
Este texto ha sido generado por una IA a partir de los datos de la especificación.
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#285c7643- Content hash
285c7643- 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 en alemán