DEENESPTFRRUARHIKOZHNL

Default Error Tracer (DET)

ModulDET (Default Error Tracer)
BSW-Modul-ID15
Standard-Header#include "Det.h"
SWS-SpezifikationAUTOSAR_SWS_DefaultErrorTracer.pdf
ClusterDiagnostic Services

Guía del móduloGENERADO POR IA

Recibe de forma centralizada los mensajes de error del software básico y de las SW-Cs, y los reenvía a los hooks del integrador.
GENERADO POR IA no revisado Modelo: claude-opus-5-5 · Esfuerzo: high · Temperatura: no controlable · Prompt: 44a890525e71 Procedencia Preguntas abiertas (3)
Ancla causal: R20-11 Válido desde R20-11 Sintetizado para esta versión de especificación.
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Recibe de forma centralizada los mensajes de error del software básico y de las SW-Cs, y los reenvía a los hooks del integrador.

El Default Error Tracer recibe de forma centralizada los mensajes de error de los módulos BSW y de las SW-Cs. Para ello dispone de Det_ReportError para errores de desarrollo, Det_ReportRuntimeError para errores de tiempo de ejecución y Det_ReportTransientFault para errores transitorios, cada uno con identificación de módulo, de instancia, de API y de error. El DET reenvía cada mensaje a todos los hooks o callouts configurados del integrador [SWS_Det_00501]. Det_Init y Det_Start inician el funcionamiento desde el EcuM. La condición de contorno más importante: en R20-11, Det_ReportError no retorna al invocador, sino que detiene el flujo del programa como una aserción [SWS_Det_00009].

El Default Error Tracer es el punto central de recopilación de mensajes de error procedentes del software básico y de los componentes de software. Ofrece tres servicios de notificación estructurados de forma idéntica con los parámetros ModuleId, InstanceId, ApiId y ErrorId o FaultId: Det_ReportError para errores de desarrollo, Det_ReportRuntimeError para errores de tiempo de ejecución y Det_ReportTransientFault para errores transitorios ([SWS_Det_00009], [SWS_Det_01001], [SWS_Det_01003]). El EcuM pone en funcionamiento el DET con Det_Init y posteriormente con Det_Start ([SWS_Det_00008], SWS DET Fig. 1 p. 34).

det_kontext ecum EcuM det Det ecum->det Det_Init, Det_Start bsw BSW-Module (z. B. CanIf, Dio, Adc) bsw->det Det_ReportError Det_ReportRuntimeError Det_ReportTransientFault swc SW-C rte RTE swc->rte Service-Port DETService rte->det Llamada con ModuleId/InstanceId (port defined argument values) hooks Integrator-Code (Error-Hooks / Callouts) det->hooks todos los hooks/callouts configurados dlt Dlt (optional) det->dlt Dlt_DetForwardErrorTrace dem Dem / memoria de fallos hooks->dem p. ej., llamada a Dem, almacenamiento

Diagrama de contexto: el DET recibe mensajes de módulos BSW y SW-Cs y los reenvía a los hooks del integrador y, opcionalmente, a Dlt. Fuentes: SWS DET Fig. 2 p. 28, [SWS_Det_00202]

El DET no evalúa los mensajes por sí mismo. Cada servicio de notificación invoca todos los hooks o callouts configurados para él (DetErrorHook, DetReportRuntimeErrorCallout, DetReportTransientFaultCallout), concretamente con los mismos parámetros que el mensaje [SWS_Det_00501]. A través de este código del integrador, el DET también accede a DEM o a la memoria de errores. Los callouts deben limitarse a acciones breves y adecuadas ErrorDescription p. 10.

Las SW-Cs notifican a través de la interfaz cliente-servidor DETService. La RTE añade ModuleId y InstanceId como «port defined argument values» procedentes de la configuración del DET; la SW-C siempre recibe como retorno E_OK ([SWS_Det_00203], [SWS_Det_00204]).

Para los casos de error, es determinante cómo retornan los tres servicios. En R20-11, Det_ReportError no retorna: tras los hooks, se detiene el flujo de control, al igual que en una aserción ([SWS_Det_00009], RS BSWGeneral p. 33). Por el contrario, los mensajes de tiempo de ejecución retornan con E_OK. Los mensajes transitorios transmiten el valor del callout, y sin callout retornan E_OK SWS DET Fig. 6 p. 36. Los errores transitorios se suprimen con R24-11, y las llamadas a Dlt con R25-11 SWS DET p. 1.

Notificación de un error de desarrollo a través de Det_ReportErrorInvocadorBSW-Modul (Det User)DetIntegrator-CodeLlamada a la API con parámetro no válidoEntwicklungsfehler erkanntDet_ReportError(ModuleId,InstanceId, ApiId, ErrorId)altDetErrorHook konfiguriertlooppara cada hook configurado<User_Error_Hooks>(ModuleId,InstanceId, ApiId, ErrorId)E_OKkein Hook konfiguriertsin llamadas a hooksHALT: el flujo de control no secontinúaSin retorno al emisor del aviso("never returns" in R20-11)

Diagrama de secuencia: ante un error de desarrollo, el DET invoca todos los hooks configurados y a continuación se detiene sin retornar al emisor de la notificación. Fuentes: SWS DET Fig. 9.2 p. 34, [SWS_Det_00009]

Rol del Default Error Tracer en el límite del sistema

El Default Error Tracer (DET) es el punto central de recopilación al que los módulos del software básico y los componentes de software notifican los errores detectados. En R20-11 ofrece para ello tres servicios de notificación estructurados de forma idéntica: Det_ReportError para errores de desarrollo [SWS_Det_00009], Det_ReportRuntimeError para errores de tiempo de ejecución [SWS_Det_01001] y Det_ReportTransientFault para errores transitorios [SWS_Det_01003]. A estos se suman los servicios de administración Det_Init, Det_Start y Det_GetVersionInfo ([SWS_Det_00008], [SWS_Det_00010], [SWS_Det_00011]). El DET no evalúa por sí mismo el contenido de los mensajes. Notifica a los error hooks configurados con cada mensaje recibido SWS DET p. 16.

Hacia el exterior, el DET cuenta con una conectividad reducida. Como única interfaz prevista, la especificación menciona el reenvío opcional a Dlt mediante Dlt_DetForwardErrorTrace desde Dlt_Det.h ([SWS_Det_00211], SWS DET Fig. 2 p. 28). El DET solo accede a DEM y a la RTE a través de código específico del integrador en los callouts ErrorDescription p. 10.

det_kontext ecum EcuM det Det ecum->det Det_Init, Det_Start bsw BSW-Module (z. B. CanIf, Dio, Adc) bsw->det Det_ReportError Det_ReportRuntimeError Det_ReportTransientFault swc SW-C rte RTE swc->rte Service-Port DETService rte->det Llamada con ModuleId/InstanceId (port defined argument values) hooks Integrator-Code (Error-Hooks / Callouts) det->hooks todos los hooks/callouts configurados dlt Dlt (optional) det->dlt Dlt_DetForwardErrorTrace dem Dem / memoria de fallos hooks->dem p. ej., llamada a Dem, almacenamiento

Diagrama de contexto: el DET recibe mensajes de módulos BSW y, a través de la RTE, de SW-Cs. Es arrancado por el EcuM y solo transmite mensajes al código del integrador configurado y, opcionalmente, a Dlt. Fuentes: SWS DET Fig. 2 p. 28, [SWS_Det_00202], [SWS_Det_00211], ErrorDescription p. 10

Arranque: inicialización e inicio mediante el EcuM

El ECU State Manager inicializa el DET con Det_Init (Service-ID 0x00). Para ello, transmite un puntero al conjunto de configuración seleccionado de tipo Det_ConfigType, cuyo contenido es específico de la implementación ([SWS_Det_00008], [SWS_Det_00210]). A continuación, Det_Start (Service-ID 0x02) inicia el tracer [SWS_Det_00010]. Ambos servicios son síncronos y no reentrantes. El diagrama de R20-11 muestra ambas llamadas de forma sucesiva desde el EcuM SWS DET Fig. 1 p. 34. De manera correspondiente, el EcuM gestiona Det_Init y Det_ReportError como interfaces opcionales SWS EcuM p. 142.

La especificación no justifica por qué la inicialización y el inicio están separados. Interpretación: es probable que la división en dos partes permita inicializar el DET en una fase muy temprana del arranque y habilitar el funcionamiento normal únicamente en un paso posterior [SWS_Det_00010]. Pregunta Q-fee4462bdf189dcf (abierta)

Arranque del Det por el EcuMEcuMDetDet_Init(ConfigPtr)Inicialización con la elegidaKonfigurationssatz (Det_ConfigType)Retorno (síncrono)Det_Start()Retorno (síncrono)Ambos servicios síncronos y no reentrantes

Diagrama de secuencia: el EcuM invoca primero de forma síncrona Det_Init con el puntero de configuración y, a continuación, Det_Start. Fuentes: SWS DET Fig. 1 p. 34, [SWS_Det_00008], [SWS_Det_00010]

Tres vías de notificación y sus identificadores

Los tres servicios de notificación tienen la misma estructura de parámetros:

  • ModuleId (uint16);
  • InstanceId (uint8), en módulos de instancia única el valor 0;
  • ApiId (uint8);
  • ErrorId o FaultId (uint8).

Los identificadores de API y de error son determinados en cada caso por la SWS del módulo emisor ([SWS_Det_00009], [SWS_Det_01001], [SWS_Det_01003]). El ID de módulo procede de la lista de módulos del software básico. De esta lista, el software básico solo utiliza el rango 0..255 EXP LSA p. 157.

La vía correcta se deduce de la clasificación de errores. Las condiciones previas fundamentales que se hayan vulnerado son errores de desarrollo y se tratan como una aserción; algunos ejemplos son errores de software, integración errónea o configuración inválida. Los demás errores son errores de tiempo de ejecución o de producción EXP LSA p. 154. Si la detección de errores de desarrollo está configurada, los módulos BSW notifican los errores de desarrollo con su ID de módulo asignado mediante Det_ReportError SWS BSWGeneral p. 57. Un conmutador de preprocesador como SPI_DEV_ERROR_DETECT activa o desactiva la llamada EXP LSA p. 113.

fehlerklassifikation start Fehler erkannt q1 Grundlegende Vorbedingung verletzt? start->q1 q2 ¿Relevante para el diagnóstico (de servicio/EOL)? q1->q2 No dev Entwicklungsfehler: Det_ReportError (Programmfluss endet) q1->dev Sí prod Fallo de producción (no a través de Det) q2->prod Sí rt Laufzeitfehler: Det_ReportRuntimeError q2->rt No

Diagrama de actividades: si se vulnera una condición previa fundamental, se notifica un error de desarrollo mediante Det_ReportError. En caso contrario, la relevancia diagnóstica discrimina entre error de producción y error de tiempo de ejecución (Det_ReportRuntimeError). Fuentes: EXP LSA p. 154, [SWS_Det_00009], [SWS_Det_01001]

Los errores de tiempo de ejecución son notificados, por ejemplo, por el controlador ADC con ADC_E_BUSY o por Dds en caso de mensajes descartados, en cada caso mediante Det_ReportRuntimeError (SWS Adc p. 95, SWS Dds p. 53). Un módulo BSW describe sus necesidades con el tipo de ServiceNeeds ErrorTracerNeeds. Este reconoce los roles Det_ReportError, Det_ReportRuntimeError y Det_ReportTransientFault TPS BSWMDT p. 266.

Hooks y callouts como puente hacia el código del integrador

Cada llamada a Det_ReportError invoca todas las funciones configuradas en DetErrorHook. Del mismo modo, Det_ReportRuntimeError y Det_ReportTransientFault invocan todos los callouts de DetReportRuntimeErrorCallout y DetReportTransientFaultCallout, respectivamente [SWS_Det_00501]. Los hooks y callouts presentan la firma del servicio desencadenante y reciben los mismos parámetros ([SWS_Det_00181], [SWS_Det_00184], [SWS_Det_00187], SWS DET p. 16). La interfaz de hook <User_Error_Hooks> tiene el Service-ID 0x10. Es síncrona y reentrante, y siempre devuelve E_OK SWS DET p. 25.

Las acciones que realizan los callouts son decisión del integrador. En errores de tiempo de ejecución y transitorios, deben limitarse a pocas acciones: registrar el evento, invocar el DEM o ejecutar otra acción breve y apropiada ErrorDescription p. 10. Tras una llamada a Det_ReportRuntimeError, el DET siempre retorna con E_OK, independientemente de que haya callouts configurados o no (SWS DET Fig. 4 p. 35, SWS DET Fig. 5 p. 35).

Det_ReportRuntimeError con y sin calloutDet UserDetIntegrator-CodeDet_ReportRuntimeError(ModuleId,InstanceId, ApiId, ErrorId)altDetReportRuntimeErrorCallout konfiguriertlooppara cada callout configurado<DetReportRuntimeErrorCallout>(ModuleId,InstanceId, ApiId, ErrorId)E_OKkein Callout konfiguriertsin reenvíoE_OKEl flujo del programa del emisor del aviso continúa

Diagrama de secuencia: Det_ReportRuntimeError invoca todos los callouts configurados y retorna en cualquier caso al emisor con E_OK. Fuentes: SWS DET Fig. 4 p. 35, SWS DET Fig. 5 p. 35, [SWS_Det_00501]

En cambio, con Det_ReportTransientFault, el DET transfiere el valor de retorno del callout al emisor. Si no hay callout, devuelve E_OK (SWS DET Fig. 6 p. 36, SWS DET Fig. 7 p. 36). Para múltiples callouts, una versión posterior describe una operación lógica OR de los valores de retorno: E_OK solo se devuelve si todos los callouts proporcionan E_OK. Es de suponer que esta regla ya sea aplicable a R20-11 SWS DET p. 24. Pregunta (abierta)

Det_ReportTransientFault con y sin calloutDet UserDetIntegrator-CodeDet_ReportTransientFault(ModuleId,InstanceId, ApiId, FaultId)altDetReportTransientFaultCallout konfiguriertlooppara cada callout configurado<DetReportTransientFaultCallout>(ModuleId,InstanceId, ApiId, FaultId)Valor de retorno XAplicar operación lógica OR a los valores de retorno(suposición para R20-11)Callout-Ergebniskein Callout konfiguriertE_OK

Diagrama de secuencia: Det_ReportTransientFault transmite los valores de retorno de los callouts al emisor; si no hay callout, devuelve E_OK. La operación OR en caso de múltiples callouts está identificada como una suposición. Fuentes: SWS DET Fig. 6 p. 36, SWS DET Fig. 7 p. 36, SWS DET p. 24

Conexión de componentes de software mediante puertos de servicio

Las SW-Cs acceden al DET a través de la interfaz cliente-servidor DETService. Sus operaciones invocan Det_ReportError o la notificación de tiempo de ejecución con el ID de módulo del puerto [SWS_Det_00202]. La propia SW-C no transmite ModuleId ni InstanceId. La RTE los añade como «port defined argument values», cuyos valores proceden de DetModuleId y DetInstanceId de la configuración del DET ([SWS_Det_00204], [SWS_Det_00205], [SWS_Det_00206]). Para las SW-Cs, ApiId y ErrorId no están estandarizados y pueden asignarse libremente en el rango 0x00..0xFF. El valor de retorno es siempre E_OK [SWS_Det_00203]. La interfaz de puerto utiliza los tipos de datos uint8 y uint16 de AUTOSAR [SWS_Det_00200].

Notificación de error de una SW-C a través del puerto de servicioSW-CRTEDetReportRuntimeError(ApiId, ErrorId)a través de R-Port (DETService)Llamada con ModuleId, InstanceId complementados(port defined argument values)Valores procedentes de DetModuleId / DetInstanceIdde la configuración de DetDet_ReportRuntimeError(ModuleId,InstanceId, ApiId, ErrorId)E_OKE_OK

Diagrama de secuencia: la SW-C solo transmite ApiId y ErrorId. La RTE añade ModuleId y InstanceId a partir de la configuración; el retorno es E_OK. Fuentes: [SWS_Det_00202], [SWS_Det_00203], [SWS_Det_00204], SWS DET Fig. 3 p. 33

Configuración de las notificaciones

Las funciones de notificación residen en el contenedor opcional DetNotification (multiplicidad 0..1). Este contiene las listas DetErrorHook y DetReportRuntimeErrorCallout (cada una 0..*). DetErrorHook se configura en tiempo de precompilación y requiere el tipo de función Std_ReturnType (*f)(uint16, uint8, uint8, uint8) SWS DET p. 37. En R20-11 se añade DetReportTransientFaultCallout [SWS_Det_00501]. El diagrama de parámetros muestra además el contenedor obligatorio DetGeneral con DetVersionInfoApi y DetForwardToDlt SWS DET (alt) Fig. 6 p. 43. A partir de DetConfigSet/DetModule y DetModuleInstance, la configuración genera los puertos Det_{Name} junto con la identificación de módulo y de instancia [SWS_Det_00205].

Comportamiento en caso de error

Los errores de desarrollo se tratan como aserciones. Tras invocar los hooks configurados, el flujo de control normal no continúa y el DET detiene la ejecución, por ejemplo mediante un bucle infinito o una instrucción de parada RS BSWGeneral p. 33. Con esto coincide la entrada para Det_ReportError en R20-11 bajo Sync/Async: «Not Applicable: The function never returns» [SWS_Det_00009]. Los esquemas muestran este HALT con y sin hook configurado (SWS DET Fig. 9.2 p. 34, SWS DET Fig. 9.3 p. 35).

Notificación de un error de desarrollo a través de Det_ReportErrorInvocadorBSW-Modul (Det User)DetIntegrator-CodeLlamada a la API con parámetro no válidoEntwicklungsfehler erkanntDet_ReportError(ModuleId,InstanceId, ApiId, ErrorId)altDetErrorHook konfiguriertlooppara cada hook configurado<User_Error_Hooks>(ModuleId,InstanceId, ApiId, ErrorId)E_OKkein Hook konfiguriertsin llamadas a hooksHALT: el flujo de control no secontinúaSin retorno al emisor del aviso("never returns" in R20-11)

Diagrama de secuencia: un módulo BSW detecta un error de desarrollo e invoca Det_ReportError. El DET invoca todos los hooks configurados y a continuación se detiene sin retornar al emisor. Fuentes: SWS DET Fig. 9.2 p. 34, SWS DET Fig. 9.3 p. 35, [SWS_Det_00009], [SWS_Det_00501]

Algunos esquemas difieren de esto. Un diagrama de secuencia señala que el comportamiento síncrono o asíncrono depende de la implementación y representa un retorno al invocador SWS DET Fig. 5 p. 36. También el diagrama de Dio muestra un retorno tras Det_ReportError SWS Dio Fig. 5 p. 41. Para R20-11, el carácter normativo corresponde a [SWS_Det_00009]. La aclaración de la especificación Sync/Async no llegó hasta R21-11 SWS DET p. 1.

Los errores de tiempo de ejecución y transitorios no interrumpen el flujo del programa: el DET retorna al emisor con un valor de retorno ([SWS_Det_01001], [SWS_Det_01003]). El propio DET solo reconoce un único error de desarrollo propio. DET_E_PARAM_POINTER (0x01) se produce cuando Det_GetVersionInfo se invoca con un puntero nulo [SWS_Det_00301]. Una versión posterior estipula que este error se notifique a todos los callouts configurados. Es de suponer que también en R20-11 se concibiera así SWS DET p. 18. Pregunta Q-3a7f5865d61186d4 (abierta)

Más evidencia detallada

Versiones posteriores modifican el alcance funcional. Una versión de R23-11/R24-11 marca Det_ReportTransientFault como OBSOLETE SWS DET p. 24. Según el historial de cambios, los errores transitorios se suprimen con R24-11 y las llamadas a Dlt con R25-11 SWS DET p. 1. En R20-11, ambas funciones forman parte todavía de la especificación ([SWS_Det_01003], [SWS_Det_00211]).

Guía de módulo generada por IA sobre la base de los extractos de la especificación proporcionados en el payload. Para R20-11 tienen carácter normativo exclusivamente los requisitos enlazados; las afirmaciones procedentes de otras versiones se indican como tales.

Default Error Tracer (DET)

The DET handles development errors, runtime errors, and transient faults across all BSW modules and SW-Cs.

Funktionen — Übersicht

Typen — Übersicht

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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 03eaeb7bec98 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 52a5f1bc3a91 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

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]):

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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: c7a7762c6c8d Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: a935ac5290c8 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

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 valor 0).
  • 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: a646ffef7d6e Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

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_ReportTransientFault devuelve su valor de retorno de tipo Std_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 devuelve E_OK si todos los callouts responden sin errores con E_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 <User_Error_Hooks> [SWS_Det_00181] 📄 PDF

Std_ReturnType <User_Error_Hooks> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);

-

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ff89a131530f Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

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 en 0 (en módulos con solo una instancia se pasa 0).
  • 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);

-

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 19a5d54e4d0b Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

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_ReturnType siempre devuelve E_OK segú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);

-

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: aceceb0a4117 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

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 en 0, debiendo los módulos de instancia única pasar el valor 0 [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.

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

Mapa de temas

Vista de detalle

Selecciona una entrada en el índice.

Inicialización y estado

Returns the version information of this module.

void Det_GetVersionInfo (Std_VersionInfoType* versioninfo);
Det_Init función

Service to initialize the Default Error Tracer.

void Det_Init (const Det_ConfigType* ConfigPtr);

Servicios

Service to report development errors.

Std_ReturnType Det_ReportError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);

Service to report runtime errors. If a callout has been configured then this callout shall be called.

Std_ReturnType Det_ReportRuntimeError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, faultErrorTracer uint8 ErrorId);

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.

Std_ReturnType Det_ReportTransientFault (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);
Det_Start función

Service to start the Default Error Tracer.

void Det_Start (void);

Callouts e interfaces esperadas

-

Std_ReturnType <DetReportRuntimeErrorCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);

-

Std_ReturnType <DetReportTransientFaultCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);

-

Std_ReturnType <User_Error_Hooks> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);

Tipos

Configuration data structure of the Det module.