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
fonction Det_Init [SWS_Det_00008] 📄 PDF
void Det_Init (const Det_ConfigType* ConfigPtr);
Service to initialize the Default Error Tracer.
La fonction synchrone Det_Init sert de service central pour l'initialisation du Default Error Tracer ([SWS_Det_00008]). Elle est fournie via le fichier d'en-tête Det.h et possède la signature void Det_Init (const Det_ConfigType* ConfigPtr). Via le paramètre d'entrée formel ConfigPtr, la fonction reçoit un pointeur vers l'ensemble de données de configuration sélectionné du module. Aucune valeur de retour n'est prévue pour ce service ([SWS_Det_00008]).
En ce qui concerne le comportement à l'exécution, Det_Init est obligatoirement spécifié comme non réentrant (Non Reentrant) ([SWS_Det_00008]). Pour cette raison, la fonction ne doit en aucun cas être appelée en parallèle ou de manière interruptive depuis différents contextes d'exécution pendant le fonctionnement. Le module devrait vraisemblablement être appelé de manière centralisée pendant la phase d'initialisation du logiciel de base, avant même que d'autres modules ou composants BSW ne transmettent des erreurs au DET (interprétation). Question Q-143a3c098d03d7f8 (ouverte)
La fonction est définie avec l'ID de service 0x00 ([SWS_Det_00008]). Des codes d'erreur propres, des mécanismes spécifiques de gestion des erreurs ou des messages d'erreur distincts via DET ou DEM ne sont pas indiqués pour cet appel d'initialisation dans le présent extrait de spécification.
Dans le cadre du traçage des exigences, l'interface satisfait aux exigences générales d'AUTOSAR relatives aux conventions uniformes de nommage des API selon [SRS_BSW_00310] (SWS DefaultErrorTracer §6 « Requirements Tracing »).
Cette note a été générée par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Det_ReportError [SWS_Det_00009] 📄 PDF
Std_ReturnType Det_ReportError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
Service to report development errors.
La fonction Det_ReportError sert, dans les modules BSW d’AUTOSAR Classic, à signaler les erreurs de développement lorsque la détection d’erreurs est active ([SWS_BSW_00045], [SWS_Det_00009]). L’interface est déclarée réentrante ([SWS_Det_00009]). Le comportement d’exécution ne retourne pas à l’appelant (« never returns ») ; le type de retour Std_ReturnType n’existe que pour la compatibilité avec des services et des hooks ([SWS_Det_00009]).
Les paramètres transmis identifient de manière univoque le contexte de l’erreur ([SWS_Det_00009]) :
ModuleId(uint16) : identifiant de module AUTOSAR du module notifiant ; le logiciel de base utilise la plage de 0 à 255 (EXP_LayeredSoftwareArchitecture §3 « Default Error Tracer »).InstanceId(uint8) : instance de module à partir de 0 ; pour les instances uniques, 0 est transmis ([SWS_Det_00009]).ApiId(uint8) : identifiant du service d’API détectant l’erreur ([SWS_Det_00009]).ErrorId(uint8) : identifiant d’erreur spécifique du module BSW ([SWS_BSW_00045], [SWS_Det_00009]).
Les erreurs de développement représentent des violations fondamentales de préconditions dues à des erreurs logicielles, des erreurs de configuration ou des problèmes d’intégration (EXP_LayeredSoftwareArchitecture §3 « Error Classification », [SRS_BSW_00337] libellé pas encore importé), comme par exemple l’appel d’un module non initialisé ([SWS_BSW_00243]) ou des paramètres invalides ([SWS_CANIF_00538]). Elles sont gérées comme des assertions : après l’appel de tous les callbacks configurés dans DetErrorHook ([SWS_Det_00501]), le flux de contrôle normal ne doit pas se poursuivre ; le DET interrompt l’exécution, par exemple au moyen d’une boucle infinie, d’une instruction d’arrêt ou d’une réinitialisation ([SRS_BSW_00337] libellé pas encore importé, EXP_LayeredSoftwareArchitecture §3 « Error Classification »).
Cette note d’utilisation a été générée par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction Det_Start [SWS_Det_00010] 📄 PDF
void Det_Start (void);
Service to start the Default Error Tracer.
La fonction d’API synchrone Det_Start sert à démarrer le Default Error Tracer (DET) ([SWS_Det_00010]). Ce service est déclaré dans le fichier d’en-tête Det.h sous le Service-ID 0x02 (SWS_DefaultErrorTracer §8.1.3.3 « Det_Start »). Conformément à la syntaxe void Det_Start(void), la fonction ne prend aucun paramètre d’entrée ni de sortie et ne fournit aucune valeur de retour à l’appelant ([SWS_Det_00010]).
Pour l’intégration et l’exécution, des conditions spécifiques s’appliquent :
- Réentrance et concurrence : la fonction est définie comme non réentrante (
Non Reentrant) ([SWS_Det_00010]). Les appels parallèles depuis plusieurs tâches ou contextes d’interruption sont interdits. - Contexte d’appel : interprétation : l’appel devrait typiquement avoir lieu de manière centralisée pendant le démarrage du système après l’initialisation de base, afin d’activer le suivi des erreurs dans le calculateur. Question Q-b28f205b1cc7acfa (ouverte)
- Traitement des erreurs : l’interface ne signale aucun état d’erreur en retour ; dans l’extrait de spécification, aucun code d’erreur ni événement DET ou DEM n’est défini pour cet appel ([SWS_Det_00010]).
Dans l’ensemble du système, Det_Start respecte la convention de nommage standardisée pour le logiciel de base AUTOSAR selon [SRS_BSW_00310] libellé pas encore importé (SWS_DefaultErrorTracer §6 « Requirements Tracing »).
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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 fonction [SWS_Det_01001] sert de service BSW central dans Det.h pour la réception des erreurs d'exécution (Runtime Errors). Elle fonctionne de manière synchrone et est conçue pour être réentrante [SWS_Det_01001].
Utilisation et paramètres
Les modules BSW appelants transmettent quatre paramètres obligatoires à [SWS_Det_01001] lors de la notification d'erreur :
ModuleId: identifiant de module du module BSW qui signale l'erreur.InstanceId: numéro d'instance basé sur un index (pour les modules ne comportant qu'une seule instance, la valeur0).ApiId: identifiant de la fonction d'API dans laquelle l'erreur s'est produite.ErrorId: identifiant spécifique au module de l'erreur d'exécution détectée.
Le service renvoie toujours la valeur de retour E_OK au module appelant [SWS_Det_01001].
Interaction et gestion des erreurs
Conformément à l'architecture AUTOSAR, les erreurs d'exécution se distinguent des erreurs de développement (qui violent des préconditions fondamentales) et des erreurs de production (qui sont pertinentes pour le diagnostic en atelier) EXP_LayeredSoftwareArchitecture §Integration and Runtime Aspects. Le service est par exemple intégré en tant qu'interface obligatoire par le pilote ADC [SWS_Adc_00530] ou DDS [CP_SWS_Dds_00832] libellé pas encore importé.
Dans le CanIf, une tentative d'émission via un canal hors ligne entraîne par exemple le signalement de CANIF_E_STOPPED [SWS_CANIF_00382], tandis que les dépassements de longueur sans troncature sont signalés comme CANIF_E_TXPDU_LENGTH_EXCEEDED [SWS_CANIF_00900].
Lors de l'appel de [SWS_Det_01001], toutes les fonctions de callout configurées dans le paramètre de configuration DetReportRuntimeErrorCallout sont exécutées [SWS_Det_00503]. Si aucun hook d'erreur n'a été configuré, aucun appel de fonction supplémentaire n'a lieu, l'acheminement vers le DLT restant actif s'il est configuré [SWS_Det_00503].
Cette note d'utilisation a été générée automatiquement sur la base de l'état de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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 fonction synchrone et réentrante Det_ReportTransientFault (Service-ID 0x05) sert aux modules BSW à signaler de manière standardisée les erreurs transitoires détectées au Default Error Tracer ([SWS_BSW_00225], [SWS_Det_01003]). Le service est déclaré via l'en-tête Det.h, mais est marqué comme obsolète (OBSOLETE) dans la version R20-11 (SWS_DefaultErrorTracer §8.1.3.5 « Det_ReportTransientFault »).
Lors de l'appel, seuls des paramètres d'entrée sont transmis : l'identifiant du module appelant (ModuleId), l'index d'instance (InstanceId, les modules à instance unique transmettant 0), le Service-ID de l'API détectant l'erreur (ApiId) ainsi que le numéro d'erreur (FaultId), qui doit être de type uint8 selon SWS_BSWGeneral §7.2.4.4 « Reporting » ([SWS_Det_01003]).
L'appel transmet l'erreur aux fonctions de callout configurées et évalue leurs retours :
- Un appel entraîne l'exécution de tous les callbacks configurés sous
DetReportTransientFaultCallout([SWS_Det_00502]). - Si aucun callout n'est configuré, la fonction se termine immédiatement et renvoie la valeur
E_OK([SWS_Det_01003]). - Si exactement un callout est configuré,
Det_ReportTransientFaultrenvoie sa valeur de retour de typeStd_ReturnType([SWS_Det_01003]). - Si plusieurs callouts sont présents, le OU logique (somme) de toutes les valeurs de retour des callouts est formé. Puisque
E_OK = 0est défini, la fonction ne renvoieE_OKque si l'ensemble des callouts répondent sans erreur parE_OK([SWS_Det_01003]).
Concernant la concurrence et l'environnement d'exécution, la fonction est conçue pour être réentrante, raison pour laquelle elle peut être appelée de manière concurrente depuis différents contextes de module ([SWS_Det_01003]).
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Det_GetVersionInfo [SWS_Det_00011] 📄 PDF
void Det_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
fonction <User_Error_Hooks> [SWS_Det_00181] 📄 PDF
Std_ReturnType <User_Error_Hooks> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
-
L’interface configurable <User_Error_Hooks> définit l’appel de fonctions de callout définies par l’utilisateur lors de la détection d’erreurs de développement [SWS_Det_00181]. Dès que la fonction Det_ReportError est appelée, tous les callouts configurés à cet effet dans le système doivent être exécutés de manière synchrone [SWS_Det_00180]. La déclaration de cette interface est mise à disposition via le fichier d’en-tête Det_Externals.h SWS DefaultErrorTracer §8.1.5 « Callout Functions / Configurable Interfaces ».
La fonction possède le Service-ID 0x10 et transmet quatre paramètres de diagnostic pour l’analyse des erreurs [SWS_Det_00181] :
ModuleId: ID de module unique du module BSW appelant.InstanceId: identifiant de l'instance de module, commençant à0(pour les modules n'ayant qu'une seule instance,0est transmis).ApiId: identifiant de la fonction API concernée selon la spécification du module respectif.ErrorId: identifiant de l'erreur de développement spécifique.
Conformément à la spécification, l'interface renvoie toujours la valeur de retour E_OK, comme requis pour de tels services [SWS_Det_00181]. Des codes d'erreur propres ou des valeurs d'état alternatives ne peuvent pas être renvoyés à l'appelant via l'interface.
En ce qui concerne l'exécution, <User_Error_Hooks> est conçu pour être synchrone et réentrant [SWS_Det_00181]. Si plusieurs callouts sont définis pour le même service, ils doivent présenter la même signature et le même identifiant de service [SWS_Det_00180]. Interprétation : le traitement s'effectuant immédiatement dans le contexte d'appel de Det_ReportError, les hooks utilisateur ne devraient pas recourir à des mécanismes bloquants afin de ne pas retarder l'exécution du système. Question Q-acd1afcd9336992f (ouverte)
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR R20-11.
fonction <DetReportRuntimeErrorCallout> [SWS_Det_00184] 📄 PDF
Std_ReturnType <DetReportRuntimeErrorCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
-
L'interface de callout configurable <DetReportRuntimeErrorCallout> sert à la saisie et au traitement ultérieur personnalisés des erreurs d'exécution dans le Default Error Tracer (SWS_DefaultErrorTracer §8.1.5 « Callout Functions / Configurable Interfaces »). Dès que la fonction Det_ReportRuntimeError est appelée, le DET exécute de manière synchrone toutes les fonctions de callout configurées à cet effet ([SWS_Det_00180], [SWS_Det_00503]). Les fonctions de callout configurées sont fournies via le fichier d'en-tête Det_Externals.h et possèdent l'ID de service 0x11 ([SWS_Det_00184]).
Paramètres et valeur de retour
ModuleId(uint16) : identifiant numérique du module BSW qui signale l'erreur d'exécution ([SWS_Det_00184]).InstanceId(uint8) : indice de l'instance de module, débutant à 0 ; pour les instances uniques, 0 est toujours transmis ([SWS_Det_00184]).ApiId(uint8) : identifiant du service d'API dans lequel l'erreur d'exécution est survenue ([SWS_Det_00184]).ErrorId(uint8) : identifiant spécifique au module de l'erreur d'exécution constatée ([SWS_Det_00184]).- Valeur de retour : selon la spécification du service, le type
Std_ReturnTyperenvoie toujoursE_OK([SWS_Det_00184]).
Concurrence et comportement
La fonction de callout est spécifiée comme réentrante et est traitée de manière synchrone dans le contexte d'exécution du notificateur ([SWS_Det_00184]). Tous les callouts configurés pour un même service doivent présenter la même signature et le même ID de service ([SWS_Det_00180]). La valeur de retour étant fixée à E_OK, aucun retour d'états d'erreur vers le DET n'a lieu via le callout.
Remarque : cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR Classic R20-11.
fonction <DetReportTransientFaultCallout> [SWS_Det_00187] 📄 PDF
Std_ReturnType <DetReportTransientFaultCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);
-
Le hook de callout [SWS_Det_00187] sert au traitement spécifique à l'application des erreurs transitoires dans le Default Error Tracer (DET). La fonction est exécutée de manière synchrone et est définie avec l'ID de service 0x12 [SWS_Det_00187]. Elle prend quatre paramètres d'entrée :
ModuleId: identifiant de module du module logiciel appelant [SWS_Det_00187].InstanceId: ID d'instance du module basé sur un index commençant à0, les modules à instance unique devant transmettre la valeur0[SWS_Det_00187].ApiId: identifiant du service d'API dans lequel l'erreur transitoire est survenue [SWS_Det_00187].FaultId: identifiant de l'erreur transitoire détectée selon la SWS du module appelant [SWS_Det_00187].
Comme valeur de retour, l'interface fournit une valeur du type Std_ReturnType, qui est directement propagée à l'appelant de Det_ReportTransientFault [SWS_Det_00187]. La déclaration est fournie via le fichier d'en-tête Det_Externals.h [SWS_Det_00187].
Concernant la concurrence, la fonction est spécifiée comme réentrante [SWS_Det_00187]. La valeur de retour étant transmise de manière synchrone, l'implémentation du callout ne devrait contenir aucune opération bloquante afin de ne pas retarder indûment l'exécution du module notificateur. Question Q-23eaffed8be030bb (ouverte)
Ce texte a été généré par une IA sur la base des données de spécification.
type 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#8dedcd61- Content hash
8dedcd61- 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 allemand