DEENESPTFRRUARHIKOZHNL

Default Error Tracer (DET)

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

Guide du moduleGÉNÉRÉ PAR IA

Reçoit de manière centralisée les messages d'erreur du logiciel de base et des SW-C et les transmet aux hooks d'intégrateur.
GÉNÉRÉ PAR IA non vérifié Modèle : claude-opus-5-5 · Effort : high · Température : non réglable · Prompt : 44a890525e71 Provenance Questions ouvertes (3)
Ancre causale : R20-11 Valable à partir de R20-11 Synthétisé pour cette version de spécification.
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Reçoit de manière centralisée les messages d'erreur du logiciel de base et des SW-C et les transmet aux hooks d'intégrateur.

Le Default Error Tracer reçoit de manière centralisée les messages d'erreur des modules BSW et des SW-C. Il existe pour cela Det_ReportError pour les erreurs de développement, Det_ReportRuntimeError pour les erreurs d'exécution et Det_ReportTransientFault pour les erreurs transitoires, chacune avec un identifiant de module, d'instance, d'API et d'erreur. Le DET transmet chaque message à tous les hooks ou callouts configurés de l'intégrateur [SWS_Det_00501]. Le fonctionnement est démarré par Det_Init et Det_Start depuis l'EcuM. La contrainte la plus importante : dans R20-11, Det_ReportError ne retourne pas à l'appelant, mais arrête le flux de contrôle du programme à la manière d'une assertion [SWS_Det_00009].

Le Default Error Tracer est le point de collecte central des messages d'erreur provenant du logiciel de base et des composants logiciels. Il propose trois services de notification de structure identique avec les paramètres ModuleId, InstanceId, ApiId et ErrorId ou FaultId : Det_ReportError pour les erreurs de développement, Det_ReportRuntimeError pour les erreurs d'exécution et Det_ReportTransientFault pour les erreurs transitoires ([SWS_Det_00009], [SWS_Det_01001], [SWS_Det_01003]). L'EcuM met en service le DET avec Det_Init, puis 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 Appel avec ModuleId/InstanceId (port defined argument values) hooks Integrator-Code (Error-Hooks / Callouts) det->hooks tous les hooks/callouts configurés dlt Dlt (optional) det->dlt Dlt_DetForwardErrorTrace dem Dem / Mémoire de défauts hooks->dem p. ex. appel Dem, enregistrement

Diagramme de contexte : Le DET reçoit des messages des modules BSW et des SW-C et les transmet à des hooks d'intégrateur et, optionnellement, à Dlt. Sources : SWS DET Fig. 2 p. 28, [SWS_Det_00202]

Le DET n'évalue pas lui-même les messages. Chaque service de notification appelle tous les hooks ou callouts configurés pour lui (DetErrorHook, DetReportRuntimeErrorCallout, DetReportTransientFaultCallout), et ce avec les mêmes paramètres que le message [SWS_Det_00501]. C'est via ce code d'intégrateur que le DET atteint également le DEM ou la mémoire des défauts. Les callouts doivent se limiter à des actions courtes et appropriées ErrorDescription p. 10.

Les SW-C émettent des notifications via l'interface client-serveur DETService. La RTE ajoute ModuleId et InstanceId sous forme de « port defined argument values » issues de la configuration du DET, et la SW-C reçoit toujours E_OK en retour ([SWS_Det_00203], [SWS_Det_00204]).

Pour les cas d'erreur, la manière dont les trois services retournent est déterminante. Det_ReportError ne retourne pas dans R20-11 : après les hooks, le flux de contrôle est arrêté, à l'instar d'une assertion ([SWS_Det_00009], RS BSWGeneral p. 33). En revanche, les messages d'exécution retournent avec E_OK. Les messages transitoires transmettent la valeur du callout, ou E_OK en l'absence de callout SWS DET Fig. 6 p. 36. Les erreurs transitoires sont supprimées à partir de R24-11, et les appels Dlt à partir de R25-11 SWS DET p. 1.

Signalement d'une erreur de développement via Det_ReportErrorAppelantBSW-Modul (Det User)DetIntegrator-CodeAppel d'API avec paramètre invalideEntwicklungsfehler erkanntDet_ReportError(ModuleId,InstanceId, ApiId, ErrorId)altDetErrorHook konfiguriertlooppour chaque hook configuré<User_Error_Hooks>(ModuleId,InstanceId, ApiId, ErrorId)E_OKkein Hook konfiguriertaucun appel de hookHALT : le flux de contrôle n'estpas poursuiviAucun retour vers l'émetteur du signalement("never returns" in R20-11)

Diagramme de séquence : En cas d'erreur de développement, le DET appelle tous les hooks configurés et s'arrête ensuite sans retourner à l'émetteur. Sources : SWS DET Fig. 9.2 p. 34, [SWS_Det_00009]

Rôle du Default Error Tracer à la frontière du système

Le Default Error Tracer (DET) est le point de collecte central auquel les modules du logiciel de base et les composants logiciels signalent les erreurs détectées. Dans R20-11, il propose à cet effet trois services de notification de structure identique : Det_ReportError pour les erreurs de développement [SWS_Det_00009], Det_ReportRuntimeError pour les erreurs d'exécution [SWS_Det_01001] et Det_ReportTransientFault pour les erreurs transitoires [SWS_Det_01003]. S'y ajoutent les services de gestion Det_Init, Det_Start et Det_GetVersionInfo ([SWS_Det_00008], [SWS_Det_00010], [SWS_Det_00011]). Le DET n'évalue pas lui-même le contenu des messages. Il notifie les hooks d'erreur configurés à chaque message reçu SWS DET p. 16.

Vers l'extérieur, le DET est connecté de manière étroite. Comme seule interface attendue, la spécification mentionne la transmission optionnelle à Dlt via Dlt_DetForwardErrorTrace issu de Dlt_Det.h ([SWS_Det_00211], SWS DET Fig. 2 p. 28). Le DET n'atteint DEM et la RTE que par le biais de code spécifique à l'intégrateur au sein des 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 Appel avec ModuleId/InstanceId (port defined argument values) hooks Integrator-Code (Error-Hooks / Callouts) det->hooks tous les hooks/callouts configurés dlt Dlt (optional) det->dlt Dlt_DetForwardErrorTrace dem Dem / Mémoire de défauts hooks->dem p. ex. appel Dem, enregistrement

Diagramme de contexte : Le DET reçoit des messages des modules BSW et, via la RTE, des SW-C. Il est démarré par l'EcuM et ne transmet les messages qu'au code d'intégrateur configuré et, optionnellement, à Dlt. Sources : SWS DET Fig. 2 p. 28, [SWS_Det_00202], [SWS_Det_00211], ErrorDescription p. 10

Démarrage : Initialisation et démarrage par l'EcuM

L'ECU State Manager initialise le DET avec Det_Init (service ID 0x00). Ce faisant, il transmet un pointeur vers le jeu de configuration sélectionné de type Det_ConfigType, dont le contenu est spécifique à l'implémentation ([SWS_Det_00008], [SWS_Det_00210]). Ensuite, Det_Start (service ID 0x02) démarre le traceur [SWS_Det_00010]. Les deux services sont synchrones et non réentrants. Le schéma R20-11 montre les deux appels successifs issus de l'EcuM SWS DET Fig. 1 p. 34. L'EcuM répertorie Det_Init et Det_ReportError de manière correspondante comme interfaces optionnelles SWS EcuM p. 142.

La spécification ne justifie pas pourquoi l'initialisation et le démarrage sont séparés. Interprétation : cette division en deux étapes devrait permettre d'initialiser le DET très tôt lors du démarrage et de n'autoriser le fonctionnement régulier que lors d'une étape ultérieure [SWS_Det_00010]. Question Q-fee4462bdf189dcf (ouverte)

Démarrage du Det par l'EcuMEcuMDetDet_Init(ConfigPtr)Initialisation avec les paramètres choisisKonfigurationssatz (Det_ConfigType)Retour (synchrone)Det_Start()Retour (synchrone)Les deux services sont synchrones et non réentrants

Diagramme de séquence : L'EcuM appelle d'abord de manière synchrone Det_Init avec le pointeur de configuration, puis Det_Start. Sources : SWS DET Fig. 1 p. 34, [SWS_Det_00008], [SWS_Det_00010]

Trois voies de notification et leurs identifiants

Les trois services de notification partagent la même structure de paramètres :

  • ModuleId (uint16) ;
  • InstanceId (uint8), la valeur 0 pour les modules à instance unique ;
  • ApiId (uint8) ;
  • ErrorId ou FaultId (uint8).

Les identifiants d'API et d'erreur sont définis à chaque fois par la SWS du module émetteur ([SWS_Det_00009], [SWS_Det_01001], [SWS_Det_01003]). L'ID de module est issu de la liste des modules du logiciel de base. Le logiciel de base n'en utilise que la plage 0..255 EXP LSA p. 157.

Le choix de la bonne voie découle de la classification des erreurs. Les préconditions fondamentales violées sont des erreurs de développement et sont traitées comme une assertion ; des exemples sont des erreurs logicielles, une intégration défectueuse ou une configuration non valide. Les autres erreurs sont des erreurs d'exécution ou de production EXP LSA p. 154. Si la détection des erreurs de développement est configurée, les modules BSW signalent les erreurs de développement avec leur ID de module attribué via Det_ReportError SWS BSWGeneral p. 57. Un commutateur de préprocesseur tel que SPI_DEV_ERROR_DETECT active ou masque l'appel EXP LSA p. 113.

fehlerklassifikation start Fehler erkannt q1 Grundlegende Vorbedingung verletzt? start->q1 q2 Pertinent pour le diagnostic (de service/EOL) ? q1->q2 Non dev Entwicklungsfehler: Det_ReportError (Programmfluss endet) q1->dev Oui prod Erreur de production (pas via le Det) q2->prod Oui rt Laufzeitfehler: Det_ReportRuntimeError q2->rt Non

Diagramme d'activité : Si une précondition fondamentale est violée, une erreur de développement est signalée via Det_ReportError. Sinon, la pertinence diagnostique fait la distinction entre erreur de production et erreur d'exécution (Det_ReportRuntimeError). Sources : EXP LSA p. 154, [SWS_Det_00009], [SWS_Det_01001].

Les erreurs d'exécution sont par exemple signalées par le pilote ADC avec ADC_E_BUSY ou par Dds en cas de messages rejetés, à chaque fois via Det_ReportRuntimeError (SWS Adc p. 95, SWS Dds p. 53). Un module BSW décrit son besoin à l'aide du type de ServiceNeeds ErrorTracerNeeds. Ce dernier connaît les rôles Det_ReportError, Det_ReportRuntimeError et Det_ReportTransientFault TPS BSWMDT p. 266.

Hooks et callouts comme passerelle vers le code d'intégrateur

Chaque appel de Det_ReportError invoque toutes les fonctions configurées dans DetErrorHook. De même, Det_ReportRuntimeError et Det_ReportTransientFault appellent tous les callouts issus respectivement de DetReportRuntimeErrorCallout et DetReportTransientFaultCallout [SWS_Det_00501]. Les hooks et les callouts possèdent la signature du service déclencheur et reçoivent les mêmes paramètres ([SWS_Det_00181], [SWS_Det_00184], [SWS_Det_00187], SWS DET p. 16). L'interface de hook <User_Error_Hooks> possède le service ID 0x10. Elle est synchrone et réentrante et renvoie toujours E_OK SWS DET p. 25.

Ce que font les callouts relève de la décision de l'intégrateur. En cas d'erreurs d'exécution et transitoires, ils doivent se limiter à un petit nombre d'actions : enregistrer l'événement, appeler le DEM ou exécuter une autre action brève et appropriée ErrorDescription p. 10. Après un appel de Det_ReportRuntimeError, le DET retourne toujours avec E_OK, que des callouts soient configurés ou non (SWS DET Fig. 4 p. 35, SWS DET Fig. 5 p. 35).

Det_ReportRuntimeError avec et sans calloutDet UserDetIntegrator-CodeDet_ReportRuntimeError(ModuleId,InstanceId, ApiId, ErrorId)altDetReportRuntimeErrorCallout konfiguriertlooppour chaque callout configuré<DetReportRuntimeErrorCallout>(ModuleId,InstanceId, ApiId, ErrorId)E_OKkein Callout konfiguriertaucun transfertE_OKLe flux d'exécution de l'émetteur du signalement se poursuit

Diagramme de séquence : Det_ReportRuntimeError appelle tous les callouts configurés et retourne dans tous les cas avec E_OK vers l'émetteur du signalement. Sources : SWS DET Fig. 4 p. 35, SWS DET Fig. 5 p. 35, [SWS_Det_00501]

Pour Det_ReportTransientFault, en revanche, le DET transmet la valeur de retour du callout à l'émetteur du signalement. Sans callout, il fournit E_OK (SWS DET Fig. 6 p. 36, SWS DET Fig. 7 p. 36). En présence de plusieurs callouts, une version ultérieure décrit une combinaison logique OU des valeurs de retour : E_OK n'est retourné que si tous les callouts fournissent E_OK. Cette règle devrait vraisemblablement déjà s'appliquer à R20-11 SWS DET p. 24. Question (ouverte)

Det_ReportTransientFault avec et sans calloutDet UserDetIntegrator-CodeDet_ReportTransientFault(ModuleId,InstanceId, ApiId, FaultId)altDetReportTransientFaultCallout konfiguriertlooppour chaque callout configuré<DetReportTransientFaultCallout>(ModuleId,InstanceId, ApiId, FaultId)Valeur de retour XEffectuer un OU logique sur les valeurs de retour(Hypothèse pour R20-11)Callout-Ergebniskein Callout konfiguriertE_OK

Diagramme de séquence : Det_ReportTransientFault transmet les valeurs de retour des callouts à l'émetteur du signalement ; sans callout, il retourne E_OK. La combinaison OU en cas de callouts multiples est signalée comme une hypothèse. Sources : SWS DET Fig. 6 p. 36, SWS DET Fig. 7 p. 36, SWS DET p. 24

Raccordement de composants logiciels via des ports de service

Les SW-C accèdent au DET via l'interface client-serveur DETService. Ses opérations appellent Det_ReportError ou le signalement d'exécution avec l'ID de module du port [SWS_Det_00202]. ModuleId et InstanceId ne sont pas transmis par la SW-C elle-même. La RTE les complète sous forme de « port defined argument values », dont les valeurs proviennent de DetModuleId et DetInstanceId de la configuration du DET ([SWS_Det_00204], [SWS_Det_00205], [SWS_Det_00206]). Pour les SW-C, ApiId et ErrorId ne sont pas standardisés et peuvent être attribués librement dans la plage 0x00..0xFF. La valeur de retour est toujours E_OK [SWS_Det_00203]. L'interface de port utilise les types de données AUTOSAR uint8 et uint16 [SWS_Det_00200].

Signalement d'erreur d'un SW-C via le port de serviceSW-CRTEDetReportRuntimeError(ApiId, ErrorId)via R-Port (DETService)Appel avec ModuleId et InstanceId complétés(port defined argument values)Valeurs issues de DetModuleId / DetInstanceIdde la configuration du DetDet_ReportRuntimeError(ModuleId,InstanceId, ApiId, ErrorId)E_OKE_OK

Diagramme de séquence : la SW-C ne transmet que ApiId et ErrorId. La RTE complète ModuleId et InstanceId à partir de la configuration, le retour est E_OK. Sources : [SWS_Det_00202], [SWS_Det_00203], [SWS_Det_00204], SWS DET Fig. 3 p. 33

Configuration des notifications

Les fonctions de notification se trouvent dans le conteneur optionnel DetNotification (multiplicité 0..1). Il contient les listes DetErrorHook et DetReportRuntimeErrorCallout (chacune 0..*). DetErrorHook est configuré au moment de la précompilation et requiert le type de fonction Std_ReturnType (*f)(uint16, uint8, uint8, uint8) SWS DET p. 37. Dans R20-11 s'y ajoute DetReportTransientFaultCallout [SWS_Det_00501]. Le schéma de paramètres montre en outre le conteneur obligatoire DetGeneral avec DetVersionInfoApi et DetForwardToDlt SWS DET (alt) Fig. 6 p. 43. À partir de DetConfigSet/DetModule et DetModuleInstance, la configuration forme les ports Det_{Name} ainsi que l'identifiant de module et d'instance [SWS_Det_00205].

Comportement en cas d'erreur

Les erreurs de développement sont traitées comme des assertions. Après l'appel des hooks configurés, le flux de contrôle normal ne se poursuit pas et le DET interrompt l'exécution, par exemple par une boucle infinie ou une instruction d'arrêt RS BSWGeneral p. 33. L'entrée relative à Det_ReportError dans R20-11 sous Sync/Async y correspond : « Not Applicable: The function never returns » [SWS_Det_00009]. Les schémas montrent ce HALT avec et sans hook configuré (SWS DET Fig. 9.2 p. 34, SWS DET Fig. 9.3 p. 35).

Signalement d'une erreur de développement via Det_ReportErrorAppelantBSW-Modul (Det User)DetIntegrator-CodeAppel d'API avec paramètre invalideEntwicklungsfehler erkanntDet_ReportError(ModuleId,InstanceId, ApiId, ErrorId)altDetErrorHook konfiguriertlooppour chaque hook configuré<User_Error_Hooks>(ModuleId,InstanceId, ApiId, ErrorId)E_OKkein Hook konfiguriertaucun appel de hookHALT : le flux de contrôle n'estpas poursuiviAucun retour vers l'émetteur du signalement("never returns" in R20-11)

Diagramme de séquence : un module BSW détecte une erreur de développement et appelle Det_ReportError. Le DET appelle tous les hooks configurés, puis s'arrête sans retourner vers l'émetteur du signalement. Sources : SWS DET Fig. 9.2 p. 34, SWS DET Fig. 9.3 p. 35, [SWS_Det_00009], [SWS_Det_00501]

Certains schémas divergent à ce sujet. Un diagramme de séquence indique que le comportement synchrone ou asynchrone dépend de l'implémentation et représente un retour vers l'appelant SWS DET Fig. 5 p. 36. Le schéma Dio montre également un retour après Det_ReportError SWS Dio Fig. 5 p. 41. La référence normative pour R20-11 est [SWS_Det_00009]. Une clarification de l'indication Sync/Async n'a suivi qu'avec R21-11 SWS DET p. 1.

Les erreurs d'exécution et transitoires n'interrompent pas le flux d'exécution du programme : le DET retourne vers l'émetteur du signalement avec une valeur de retour ([SWS_Det_01001], [SWS_Det_01003]). Le DET lui-même ne connaît qu'une seule erreur de développement qui lui est propre. DET_E_PARAM_POINTER (0x01) survient lorsque Det_GetVersionInfo est appelé avec un pointeur nul [SWS_Det_00301]. Une version ultérieure stipule que cette erreur est signalée à tous les callouts configurés. C'est vraisemblablement aussi ainsi que cela doit être compris pour R20-11 SWS DET p. 18. Question Q-3a7f5865d61186d4 (ouverte)

Preuves détaillées supplémentaires

Des versions ultérieures modifient le périmètre fonctionnel. Une version issue de R23-11/R24-11 marque Det_ReportTransientFault comme OBSOLETE SWS DET p. 24. Selon l'historique des modifications, les erreurs transitoires sont supprimées avec R24-11 et les appels Dlt avec R25-11 SWS DET p. 1. Dans R20-11, les deux fonctions font encore partie de la spécification ([SWS_Det_01003], [SWS_Det_00211]).

Guide de module généré par IA sur la base des extraits de spécification mis à disposition dans le payload. Seules les exigences liées sont normatives pour R20-11 ; les affirmations issues d'autres versions sont identifiées comme telles.

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

fonction Det_Init [SWS_Det_00008] 📄 PDF

void Det_Init (const Det_ConfigType* ConfigPtr);

Service to initialize the Default Error Tracer.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 03eaeb7bec98 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 52a5f1bc3a91 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c7a7762c6c8d Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a935ac5290c8 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a646ffef7d6e Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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_ReportTransientFault renvoie sa valeur de retour de type Std_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 = 0 est défini, la fonction ne renvoie E_OK que si l'ensemble des callouts répondent sans erreur par E_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 <User_Error_Hooks> [SWS_Det_00181] 📄 PDF

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

-

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ff89a131530f Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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, 0 est 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);

-

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 19a5d54e4d0b Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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_ReturnType renvoie toujours E_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);

-

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : aceceb0a4117 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 valeur 0 [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.

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

Carte des thèmes

Vue détaillée

Sélectionnez une entrée dans le plan.

Initialisation et état

Returns the version information of this module.

void Det_GetVersionInfo (Std_VersionInfoType* versioninfo);
Det_Init fonction

Service to initialize the Default Error Tracer.

void Det_Init (const Det_ConfigType* ConfigPtr);

Services

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 fonction

Service to start the Default Error Tracer.

void Det_Start (void);

Callouts et interfaces attendues

-

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);

Types

Configuration data structure of the Det module.