DEENESPTFRRUARHIKOZHNL

Default Error Tracer (DET)

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

मॉड्यूल गाइडएआई जनित

बेसिक सॉफ़्टवेयर और SW-Cs से त्रुटि संदेश केंद्रीय रूप से प्राप्त करता है और उन्हें इंटीग्रेटर हुक पर अग्रेषित करता है।
एआई-जनित असत्यापित मॉडल: claude-opus-5-5 · प्रयास: high · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 44a890525e71 उद्गम खुले प्रश्न (3)
कारणात्मक एंकर: R20-11 R20-11 से मान्य इस विनिर्देश संस्करण के लिए नए सिरे से संश्लेषित।
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

बेसिक सॉफ़्टवेयर और SW-Cs से त्रुटि संदेश केंद्रीय रूप से प्राप्त करता है और उन्हें इंटीग्रेटर हुक पर अग्रेषित करता है।

Default Error Tracer, BSW मॉड्यूल और SW-Cs से त्रुटि संदेश केंद्रीय रूप से प्राप्त करता है। इसके लिए विकास त्रुटियों के लिए Det_ReportError, रनटाइम त्रुटियों के लिए Det_ReportRuntimeError और क्षणिक (transient) त्रुटियों के लिए Det_ReportTransientFault उपलब्ध हैं, प्रत्येक मॉड्यूल, इंस्टेंस, API और त्रुटि पहचानकर्ता के साथ। DET प्रत्येक संदेश को इंटीग्रेटर के सभी कॉन्फ़िगर किए गए हुक या कॉलआउट पर अग्रेषित करता है [SWS_Det_00501]। EcuM से Det_Init और Det_Start संचालन शुरू करते हैं। सबसे महत्वपूर्ण सीमा शर्त: R20-11 में Det_ReportError कॉलर पर वापस नहीं लौटता है, बल्कि एक असर्शन की तरह प्रोग्राम प्रवाह को रोक देता है [SWS_Det_00009]।

Default Error Tracer बेसिक सॉफ़्टवेयर और सॉफ़्टवेयर घटकों से त्रुटि संदेशों के लिए केंद्रीय संग्रह बिंदु है। यह पैरामीटर ModuleId, InstanceId, ApiId और ErrorId या FaultId के साथ तीन समान रूप से संरचित रिपोर्टिंग सेवाएँ प्रदान करता है: विकास त्रुटियों के लिए Det_ReportError, रनटाइम त्रुटियों के लिए Det_ReportRuntimeError और क्षणिक त्रुटियों के लिए Det_ReportTransientFault ([SWS_Det_00009], [SWS_Det_01001], [SWS_Det_01003])। EcuM Det_Init और उसके बाद Det_Start के साथ DET को संचालन में लाता है ([SWS_Det_00008], SWS DET चित्र 1 पृ. 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 ModuleId/InstanceId के साथ कॉल (port defined argument values) hooks Integrator-Code (Error-Hooks / Callouts) det->hooks सभी कॉन्फ़िगर किए गए Hooks/Callouts dlt Dlt (optional) det->dlt Dlt_DetForwardErrorTrace dem Dem / त्रुटि मेमोरी hooks->dem उदा. Dem कॉल, भंडारण

संदर्भ आरेख (Context diagram): DET, BSW मॉड्यूल और SW-Cs से संदेश प्राप्त करता है और उन्हें इंटीग्रेटर हुक तथा वैकल्पिक रूप से Dlt पर अग्रेषित करता है। स्रोत: SWS DET चित्र 2 पृ. 28, [SWS_Det_00202]

DET संदेशों का स्वयं मूल्यांकन नहीं करता है। प्रत्येक रिपोर्टिंग सेवा उन सभी हुक या कॉलआउट को कॉल करती है जो इसके लिए कॉन्फ़िगर किए गए हैं (DetErrorHook, DetReportRuntimeErrorCallout, DetReportTransientFaultCallout), और वह भी संदेश के समान पैरामीटर के साथ [SWS_Det_00501]। इस इंटीग्रेटर कोड के माध्यम से DET, DEM या त्रुटि मेमोरी तक भी पहुँचता है। कॉलआउट को संक्षिप्त, उचित कार्रवाइयों तक सीमित रहना चाहिए ErrorDescription पृ. 10।

SW-Cs क्लाइंट-सर्वर इंटरफ़ेस DETService के माध्यम से रिपोर्ट करते हैं। RTE DET कॉन्फ़िगरेशन से \"port defined argument values\" के रूप में ModuleId और InstanceId जोड़ता है, SW-C को हमेशा E_OK वापस मिलता है ([SWS_Det_00203], [SWS_Det_00204])।

त्रुटि स्थितियों के लिए यह महत्वपूर्ण है कि तीनों सेवाएँ कैसे वापस लौटती हैं। Det_ReportError R20-11 में वापस नहीं लौटता है: हुक के बाद नियंत्रण प्रवाह रोक दिया जाता है, ठीक एक असर्शन की तरह ([SWS_Det_00009], RS BSWGeneral पृ. 33)। इसके विपरीत रनटाइम संदेश E_OK के साथ वापस लौटते हैं। क्षणिक संदेश कॉलआउट मान को आगे बढ़ाते हैं, बिना कॉलआउट के E_OK SWS DET चित्र 6 पृ. 36। क्षणिक त्रुटियाँ R24-11 के साथ समाप्त हो जाती हैं, Dlt कॉल्स R25-11 के साथ समाप्त हो जाती हैं SWS DET पृ. 1।

Det_ReportError के माध्यम से डेवलपमेंट एरर की रिपोर्टिंगकॉलरBSW-Modul (Det User)DetIntegrator-Codeअमान्य पैरामीटर के साथ API कॉलEntwicklungsfehler erkanntDet_ReportError(ModuleId,InstanceId, ApiId, ErrorId)altDetErrorHook konfiguriertloopप्रत्येक कॉन्फ़िगर किए गए हुक के लिए<User_Error_Hooks>(ModuleId,InstanceId, ApiId, ErrorId)E_OKkein Hook konfiguriertकोई हुक कॉल नहींHALT: नियंत्रण प्रवाह कोजारी नहीं रखा जातारिपोर्टर पर कोई वापसी नहीं("never returns" in R20-11)

अनुक्रम आरेख (Sequence diagram): विकास त्रुटि के मामले में, DET सभी कॉन्फ़िगर किए गए हुक को कॉल करता है और उसके बाद रिपोर्टर पर वापस लौटे बिना रुक जाता है। स्रोत: SWS DET चित्र 9.2 पृ. 34, [SWS_Det_00009]

सिस्टम सीमा पर Default Error Tracer की भूमिका

Default Error Tracer (DET) केंद्रीय संग्रह बिंदु है जहाँ बेसिक सॉफ़्टवेयर मॉड्यूल और सॉफ़्टवेयर घटक पहचानी गई त्रुटियों की रिपोर्ट करते हैं। R20-11 में यह इसके लिए तीन समान रूप से संरचित रिपोर्टिंग सेवाएँ प्रदान करता है: विकास त्रुटियों के लिए Det_ReportError [SWS_Det_00009], रनटाइम त्रुटियों के लिए Det_ReportRuntimeError [SWS_Det_01001] और क्षणिक त्रुटियों के लिए Det_ReportTransientFault [SWS_Det_01003]। इसके अतिरिक्त प्रबंधन सेवाएँ Det_Init, Det_Start और Det_GetVersionInfo शामिल हैं ([SWS_Det_00008], [SWS_Det_00010], [SWS_Det_00011])। DET संदेशों की सामग्री का स्वयं मूल्यांकन नहीं करता है। यह प्रत्येक प्राप्त संदेश के साथ कॉन्फ़िगर किए गए एरर हुक को सूचित करता है SWS DET पृ. 16।

बाहरी रूप से DET सीमित रूप से जुड़ा हुआ है। एकमात्र अपेक्षित इंटरफ़ेस के रूप में, विनिर्देश Dlt_Det.h से Dlt_DetForwardErrorTrace के माध्यम से Dlt पर वैकल्पिक अग्रेषण का उल्लेख करता है ([SWS_Det_00211], SWS DET चित्र 2 पृ. 28)। DET केवल कॉलआउट में इंटीग्रेटर-विशिष्ट कोड के माध्यम से DEM और RTE तक पहुँचता है ErrorDescription पृ. 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 ModuleId/InstanceId के साथ कॉल (port defined argument values) hooks Integrator-Code (Error-Hooks / Callouts) det->hooks सभी कॉन्फ़िगर किए गए Hooks/Callouts dlt Dlt (optional) det->dlt Dlt_DetForwardErrorTrace dem Dem / त्रुटि मेमोरी hooks->dem उदा. Dem कॉल, भंडारण

संदर्भ आरेख (Context diagram): DET, BSW मॉड्यूल से और RTE के माध्यम से SW-Cs से संदेश प्राप्त करता है। इसे EcuM द्वारा बूट किया जाता है और यह केवल कॉन्फ़िगर किए गए इंटीग्रेटर कोड और वैकल्पिक रूप से Dlt पर संदेशों को अग्रेषित करता है। स्रोत: SWS DET चित्र 2 पृ. 28, [SWS_Det_00202], [SWS_Det_00211], ErrorDescription पृ. 10

स्टार्ट-अप: EcuM द्वारा आरंभीकरण और प्रारंभ

ECU State Manager, DET को Det_Init (सर्विस ID 0x00) के साथ प्रारंभ करता है। ऐसा करते समय, यह Det_ConfigType प्रकार के चयनित कॉन्फ़िगरेशन सेट पर एक पॉइंटर पास करता है, जिसकी सामग्री कार्यान्वयन-विशिष्ट होती है ([SWS_Det_00008], [SWS_Det_00210])। इसके बाद Det_Start (सर्विस ID 0x02) ट्रेसर को प्रारंभ करता है [SWS_Det_00010]। दोनों सेवाएँ सिंक्रोनस और गैर-पुनःप्रवेशी (non-reentrant) हैं। R20-11 आरेख EcuM SWS DET चित्र 1 पृ. 34 से एक के बाद एक दोनों कॉल्स को दिखाता है। EcuM Det_Init और Det_ReportError को तदनुसार वैकल्पिक इंटरफ़ेस SWS EcuM पृ. 142 के रूप में सूचीबद्ध करता है।

आरंभीकरण और प्रारंभ अलग क्यों हैं, इसका विनिर्देश में कोई औचित्य नहीं दिया गया है। व्याख्या: यह विभाजन स्टार्ट-अप में DET को बहुत जल्दी प्रारंभ करने और नियमित संचालन को बाद के चरण में ही सक्षम करने की अनुमति दे सकता है [SWS_Det_00010]। प्रश्न Q-fee4462bdf189dcf (खुला)

EcuM द्वारा Det का स्टार्टअपEcuMDetDet_Init(ConfigPtr)चयनित के साथ आरंभीकरणKonfigurationssatz (Det_ConfigType)वापसी (सिंक्रोनस)Det_Start()वापसी (सिंक्रोनस)दोनों सर्विस सिंक्रोनस और गैर-पुनःप्रवेशी (non-reentrant)

अनुक्रम आरेख (Sequence diagram): EcuM पहले सिंक्रोनस रूप से कॉन्फ़िगरेशन पॉइंटर के साथ Det_Init को कॉल करता है, उसके बाद Det_Start को। स्रोत: SWS DET चित्र 1 पृ. 34, [SWS_Det_00008], [SWS_Det_00010]

तीन रिपोर्टिंग मार्ग और उनके पहचानकर्ता

तीनों रिपोर्टिंग सेवाओं में समान पैरामीटर संरचना होती है:

  • ModuleId (uint16);
  • InstanceId (uint8), सिंगल-इंस्टेंस मॉड्यूल के लिए मान 0;
  • ApiId (uint8);
  • ErrorId या FaultId (uint8)।

API और त्रुटि पहचानकर्ता प्रत्येक रिपोर्टिंग मॉड्यूल के SWS द्वारा निर्धारित किए जाते हैं ([SWS_Det_00009], [SWS_Det_01001], [SWS_Det_01003])। मॉड्यूल ID बेसिक सॉफ़्टवेयर मॉड्यूल की सूची से आती है। बेसिक सॉफ़्टवेयर इसमें से केवल 0..255 रेंज का उपयोग करता है EXP LSA पृ. 157।

कौन सा मार्ग सही है, यह त्रुटि वर्गीकरण से तय होता है। उल्लंघन की गई मूलभूत पूर्वशर्तें विकास त्रुटियाँ हैं और इन्हें असर्शन की तरह माना जाता है; उदाहरण सॉफ़्टवेयर त्रुटियाँ, दोषपूर्ण एकीकरण या अमान्य कॉन्फ़िगरेशन हैं। शेष त्रुटियाँ रनटाइम या उत्पादन त्रुटियाँ हैं EXP LSA पृ. 154। यदि विकास त्रुटि पहचान कॉन्फ़िगर की गई है, तो BSW मॉड्यूल Det_ReportError के माध्यम से अपने सौंपे गए मॉड्यूल ID के साथ विकास त्रुटियों की रिपोर्ट करते हैं SWS BSWGeneral पृ. 57। SPI_DEV_ERROR_DETECT जैसा एक प्रीप्रोसेसर स्विच कॉल को दिखाता या छुपाता है EXP LSA पृ. 113।

fehlerklassifikation start Fehler erkannt q1 Grundlegende Vorbedingung verletzt? start->q1 q2 (Service-/EOL-)निदान के लिए प्रासंगिक? q1->q2 नहीं dev Entwicklungsfehler: Det_ReportError (Programmfluss endet) q1->dev हाँ prod उत्पादन त्रुटि (Det के माध्यम से नहीं) q2->prod हाँ rt Laufzeitfehler: Det_ReportRuntimeError q2->rt नहीं

गतिविधि आरेख (Activity diagram): यदि किसी मूलभूत पूर्वशर्त का उल्लंघन होता है, तो Det_ReportError के माध्यम से एक विकास त्रुटि की रिपोर्ट की जाती है। अन्यथा डायग्नोस्टिक प्रासंगिकता उत्पादन त्रुटि और रनटाइम त्रुटि के बीच निर्णय करती है (Det_ReportRuntimeError)। स्रोत: EXP LSA पृ. 154, [SWS_Det_00009], [SWS_Det_01001]।

रनटाइम त्रुटियों की रिपोर्ट उदाहरण के लिए ADC ड्राइवर ADC_E_BUSY के साथ करता है या छोड़े गए संदेशों के लिए Dds करता है, प्रत्येक Det_ReportRuntimeError के माध्यम से (SWS Adc पृ. 95, SWS Dds पृ. 53)। एक BSW मॉड्यूल अपनी आवश्यकता का वर्णन ServiceNeeds प्रकार ErrorTracerNeeds के साथ करता है। यह भूमिकाओं Det_ReportError, Det_ReportRuntimeError और Det_ReportTransientFault को जानता है TPS BSWMDT पृ. 266।

इंटीग्रेटर कोड के सेतु के रूप में हुक और कॉलआउट

Det_ReportError का प्रत्येक कॉल DetErrorHook में कॉन्फ़िगर किए गए सभी फ़ंक्शनों को कॉल करता है। इसी तरह Det_ReportRuntimeError और Det_ReportTransientFault क्रमशः DetReportRuntimeErrorCallout या DetReportTransientFaultCallout के सभी कॉलआउट को कॉल करते हैं [SWS_Det_00501]। हुक और कॉलआउट में ट्रिगर करने वाली सेवा का सिग्नेचर होता है और समान पैरामीटर प्राप्त होते हैं ([SWS_Det_00181], [SWS_Det_00184], [SWS_Det_00187], SWS DET पृ. 16)। हुक इंटरफ़ेस <User_Error_Hooks> में सर्विस ID 0x10 होती है। यह सिंक्रोनस और गैर-पुनःप्रवेशी (reentrant) है और हमेशा E_OK लौटाता है SWS DET पृ. 25।

कॉलआउट क्या करते हैं, यह इंटीग्रेटर तय करता है। रनटाइम और क्षणिक त्रुटियों के लिए, उन्हें कुछ कार्रवाइयों तक सीमित रहना चाहिए: घटना को सहेजना, DEM को कॉल करना या कोई अन्य संक्षिप्त, उचित कार्रवाई करना ErrorDescription पृ. 10। Det_ReportRuntimeError के कॉल के बाद, DET हमेशा E_OK के साथ वापस लौटता है, चाहे कॉलआउट कॉन्फ़िगर किए गए हों या नहीं (SWS DET चित्र 4 पृ. 35, SWS DET चित्र 5 पृ. 35)।

कॉलआउट के साथ और बिना Det_ReportRuntimeErrorDet UserDetIntegrator-CodeDet_ReportRuntimeError(ModuleId,InstanceId, ApiId, ErrorId)altDetReportRuntimeErrorCallout konfiguriertloopप्रत्येक कॉन्फ़िगर किए गए कॉलआउट के लिए<DetReportRuntimeErrorCallout>(ModuleId,InstanceId, ApiId, ErrorId)E_OKkein Callout konfiguriertकोई फ़ॉरवर्डिंग नहींE_OKरिपोर्टर का प्रोग्राम प्रवाह जारी रहता है

अनुक्रम आरेख: Det_ReportRuntimeError सभी कॉन्फ़िगर किए गए Callouts को कॉल करता है और प्रत्येक स्थिति में E_OK के साथ रिपोर्टर पर लौटता है। स्रोत: SWS DET चित्र 4 पृ. 35, SWS DET चित्र 5 पृ. 35, [SWS_Det_00501]

इसके विपरीत, Det_ReportTransientFault के मामले में DET, Callout का रिटर्न मान रिपोर्टर को अग्रेषित करता है। बिना Callout के यह E_OK लौटाता है (SWS DET चित्र 6 पृ. 36, SWS DET चित्र 7 पृ. 36)। कई Callouts के लिए, बाद का एक संस्करण रिटर्न मानों के लॉजिकल OR संयोजन का वर्णन करता है: E_OK केवल तभी वापस आता है जब सभी Callouts E_OK लौटाते हैं। संभवतः यह नियम R20-11 पर भी लागू होता है SWS DET पृ. 24। प्रश्न (खुला)

कॉलआउट के साथ और बिना Det_ReportTransientFaultDet UserDetIntegrator-CodeDet_ReportTransientFault(ModuleId,InstanceId, ApiId, FaultId)altDetReportTransientFaultCallout konfiguriertloopप्रत्येक कॉन्फ़िगर किए गए कॉलआउट के लिए<DetReportTransientFaultCallout>(ModuleId,InstanceId, ApiId, FaultId)रिटर्न मान Xरिटर्न मानों का लॉजिकल OR निष्पादित करें(R20-11 के लिए धारणा)Callout-Ergebniskein Callout konfiguriertE_OK

अनुक्रम आरेख: Det_ReportTransientFault Callouts के रिटर्न मान रिपोर्टर को आगे भेजता है; बिना Callout के यह E_OK लौटाता है। कई Callouts के मामले में OR संयोजन को एक धारणा के रूप में चिह्नित किया गया है। स्रोत: SWS DET चित्र 6 पृ. 36, SWS DET चित्र 7 पृ. 36, SWS DET पृ. 24

Service-Ports के माध्यम से सॉफ्टवेयर घटकों का जुड़ाव

SW-Cs क्लाइंट-सर्वर इंटरफ़ेस DETService के माध्यम से DET को एक्सेस करते हैं। इसके ऑपरेशन्स Det_ReportError या पोर्ट की मॉड्यूल ID के साथ रनटाइम रिपोर्ट को कॉल करते हैं [SWS_Det_00202]। ModuleId और InstanceId स्वयं SW-C द्वारा पास नहीं किए जाते हैं। RTE उन्हें “port defined argument values” के रूप में जोड़ता है, जिनके मान DET कॉन्फ़िगरेशन के DetModuleId और DetInstanceId से आते हैं ([SWS_Det_00204], [SWS_Det_00205], [SWS_Det_00206])। SW-Cs के लिए ApiId और ErrorId मानकीकृत नहीं हैं और 0x00..0xFF रेंज में स्वतंत्र रूप से असाइन करने योग्य हैं। रिटर्न मान हमेशा E_OK होता है [SWS_Det_00203]। पोर्ट इंटरफ़ेस AUTOSAR डेटा प्रकार uint8 और uint16 का उपयोग करता है [SWS_Det_00200]।

सर्विस पोर्ट के माध्यम से एक SW-C की त्रुटि रिपोर्टSW-CRTEDetReportRuntimeError(ApiId, ErrorId)R-Port (DETService) के माध्यम सेपूरक ModuleId, InstanceId के साथ कॉल(port defined argument values)DetModuleId / DetInstanceId से मानDet कॉन्फ़िगरेशन काDet_ReportRuntimeError(ModuleId,InstanceId, ApiId, ErrorId)E_OKE_OK

अनुक्रम आरेख: SW-C केवल ApiId और ErrorId पास करता है। RTE कॉन्फ़िगरेशन से ModuleId और InstanceId जोड़ता है, रिटर्न E_OK है। स्रोत: [SWS_Det_00202], [SWS_Det_00203], [SWS_Det_00204], SWS DET चित्र 3 पृ. 33

अधिसूचनाओं का कॉन्फ़िगरेशन

अधिसूचना फ़ंक्शंस वैकल्पिक कंटेनर DetNotification (मल्टीप्लिसिटी 0..1) में स्थित हैं। इसमें DetErrorHook और DetReportRuntimeErrorCallout सूचियाँ (प्रत्येक 0..*) शामिल हैं। DetErrorHook प्री-कंपाइल समय पर कॉन्फ़िगर किया जाता है और इसके लिए फ़ंक्शन प्रकार Std_ReturnType (*f)(uint16, uint8, uint8, uint8) की आवश्यकता होती है SWS DET पृ. 37। R20-11 में DetReportTransientFaultCallout जोड़ा गया है [SWS_Det_00501]। पैरामीटर आरेख DetVersionInfoApi और DetForwardToDlt के साथ अनिवार्य कंटेनर DetGeneral को भी दिखाता है SWS DET (alt) चित्र 6 पृ. 43। DetConfigSet/DetModule और DetModuleInstance से कॉन्फ़िगरेशन मॉड्यूल और इंस्टेंस पहचानकर्ता [SWS_Det_00205] सहित पोर्ट्स Det_{Name} बनाता है।

त्रुटि की स्थिति में व्यवहार

डेवलपमेंट त्रुटियों को असर्शन्स की तरह माना जाता है। कॉन्फ़िगर किए गए हुक्स को कॉल करने के बाद, सामान्य नियंत्रण प्रवाह जारी नहीं रहता है, और DET निष्पादन को रोक देता है, उदाहरण के लिए एक अनंत लूप या हाल्ट निर्देश RS BSWGeneral पृ. 33 के माध्यम से। यह Sync/Async के अंतर्गत R20-11 में Det_ReportError की प्रविष्टि से मेल खाता है: “Not Applicable: The function never returns” [SWS_Det_00009]। आरेख कॉन्फ़िगर किए गए हुक के साथ और उसके बिना इस HALT को दिखाते हैं (SWS DET चित्र 9.2 पृ. 34, SWS DET चित्र 9.3 पृ. 35)।

Det_ReportError के माध्यम से डेवलपमेंट एरर की रिपोर्टिंगकॉलरBSW-Modul (Det User)DetIntegrator-Codeअमान्य पैरामीटर के साथ API कॉलEntwicklungsfehler erkanntDet_ReportError(ModuleId,InstanceId, ApiId, ErrorId)altDetErrorHook konfiguriertloopप्रत्येक कॉन्फ़िगर किए गए हुक के लिए<User_Error_Hooks>(ModuleId,InstanceId, ApiId, ErrorId)E_OKkein Hook konfiguriertकोई हुक कॉल नहींHALT: नियंत्रण प्रवाह कोजारी नहीं रखा जातारिपोर्टर पर कोई वापसी नहीं("never returns" in R20-11)

अनुक्रम आरेख: एक BSW मॉड्यूल एक डेवलपमेंट त्रुटि का पता लगाता है और Det_ReportError को कॉल करता है। DET सभी कॉन्फ़िगर किए गए हुक्स को कॉल करता है और उसके बाद रिपोर्टर पर वापस लौटे बिना रुक जाता है। स्रोत: SWS DET चित्र 9.2 पृ. 34, SWS DET चित्र 9.3 पृ. 35, [SWS_Det_00009], [SWS_Det_00501]

कुछ आरेख इससे भिन्न हैं। एक अनुक्रम आरेख नोट करता है कि सिंक्रोनस या एसिंक्रोनस व्यवहार कार्यान्वयन पर निर्भर करता है, और कॉलर पर वापसी दिखाता है SWS DET चित्र 5 पृ. 36। Dio आरेख भी Det_ReportError के बाद वापसी दिखाता है SWS Dio चित्र 5 पृ. 41। R20-11 के लिए [SWS_Det_00009] मानक है। Sync/Async विवरण का स्पष्टीकरण केवल R21-11 के साथ आया SWS DET पृ. 1।

रनटाइम और क्षणिक त्रुटियां प्रोग्राम प्रवाह को बाधित नहीं करती हैं: DET एक रिटर्न मान के साथ रिपोर्टर पर लौटता है ([SWS_Det_01001], [SWS_Det_01003])। DET स्वयं केवल एक डेवलपमेंट त्रुटि को पहचानता है। DET_E_PARAM_POINTER (0x01) तब उत्पन्न होता है जब Det_GetVersionInfo को शून्य सूचक (नल पॉइंटर) के साथ कॉल किया जाता है [SWS_Det_00301]। बाद का एक संस्करण यह निर्धारित करता है कि इस त्रुटि की सूचना सभी कॉन्फ़िगर किए गए Callouts को दी जाती है। संभवतः R20-11 के लिए भी यही अर्थ अभिप्रेत है SWS DET पृ. 18। प्रश्न Q-3a7f5865d61186d4 (खुला)

आगे विस्तृत साक्ष्य

  • [SWS_Det_00009]: Det_ReportError का सिग्नेचर, सर्विस ID 0x01, वापस नहीं लौटता है।
  • [SWS_Det_01001], [SWS_Det_01003]: सर्विस IDs 0x04 और 0x05 के साथ रनटाइम और क्षणिक रिपोर्ट्स।
  • [SWS_Det_00501]: सभी कॉन्फ़िगर किए गए हुक्स और Callouts को कॉल करने की अनिवार्यता।
  • [SWS_Det_00181], [SWS_Det_00184], [SWS_Det_00187]: सर्विस IDs 0x10, 0x11 और 0x12 के साथ हुक्स और Callouts के सिग्नेचर।
  • [SWS_Det_00202] से [SWS_Det_00206]: SW-Cs के लिए सर्विस-पोर्ट मॉडल।
  • [SWS_Det_00008], [SWS_Det_00010], [SWS_Det_00210]: स्टार्टअप और कॉन्फ़िगरेशन प्रकार।
  • [SWS_Det_00211], [SWS_Det_00301]: Dlt अग्रेषण और अपनी स्वयं की डेवलपमेंट त्रुटि।

बाद के रिलीज़ कार्यात्मक दायरे को बदलते हैं। R23-11/R24-11 का एक संस्करण Det_ReportTransientFault को OBSOLETE के रूप में चिह्नित करता है SWS DET पृ. 24। परिवर्तन इतिहास के अनुसार, R24-11 के साथ क्षणिक त्रुटियों को और R25-11 के साथ Dlt कॉल्स को हटा दिया गया है SWS DET पृ. 1। R20-11 में दोनों फ़ंक्शन अभी भी विनिर्देश का हिस्सा हैं ([SWS_Det_01003], [SWS_Det_00211])।

पेलोड में प्रदान किए गए विनिर्देश उद्धरणों पर आधारित AI-जनरेटेड मॉड्यूल गाइड। R20-11 के लिए केवल लिंक की गई आवश्यकताएं ही मानक हैं; अन्य रिलीज़ के बयानों को तदनुसार चिह्नित किया गया है।

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

फ़ंक्शन Det_Init [SWS_Det_00008] 📄 PDF

void Det_Init (const Det_ConfigType* ConfigPtr);

Service to initialize the Default Error Tracer.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 03eaeb7bec98 उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

तुल्यकालिक फ़ंक्शन Det_Init Default Error Tracer ([SWS_Det_00008]) के इनिशियलाइज़ेशन के लिए केंद्रीय सेवा के रूप में कार्य करता है। यह हेडर फ़ाइल Det.h के माध्यम से प्रदान किया जाता है और इसका हस्ताक्षर void Det_Init (const Det_ConfigType* ConfigPtr) है। औपचारिक इनपुट पैरामीटर ConfigPtr के माध्यम से, फ़ंक्शन मॉड्यूल के चयनित कॉन्फ़िगरेशन डेटासेट के लिए एक पॉइंटर स्वीकार करता है। इस सर्विस के लिए कोई रिटर्न मान प्रदान नहीं किया गया है ([SWS_Det_00008])।

रनटाइम व्यवहार के संबंध में, Det_Init अनिवार्य रूप से गैर-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट है ([SWS_Det_00008])। इस कारण से, रनटाइम के दौरान विभिन्न निष्पादन संदर्भों से फ़ंक्शन को किसी भी स्थिति में समानांतर रूप से या बाधित करते हुए कॉल नहीं किया जाना चाहिए। अन्य BSW मॉड्यूल या घटकों द्वारा DET को त्रुटियाँ प्रेषित करने से पहले, बेसिक सॉफ़्टवेयर के इनिशियलाइज़ेशन चरण के दौरान मॉड्यूल को संभवतः केंद्रीय रूप से कॉल किया जाना चाहिए (व्याख्या)। प्रश्न Q-143a3c098d03d7f8 (खुला)

फ़ंक्शन सर्विस ID 0x00 के साथ परिभाषित है ([SWS_Det_00008])। वर्तमान विनिर्देश उद्धरण में इस इनिशियलाइज़ेशन कॉल के लिए अपने स्वयं के त्रुटि कोड, विशिष्ट त्रुटि प्रबंधन तंत्र या DET या DEM के माध्यम से अलग त्रुटि संदेश नहीं दिखाए गए हैं।

आवश्यकता ट्रैकिंग के हिस्से के रूप में, इंटरफ़ेस [SRS_BSW_00310] (SWS DefaultErrorTracer §6 “Requirements Tracing”) के अनुसार समान API नामकरण सम्मेलनों के लिए सामान्य AUTOSAR विनिर्देशों को पूरा करता है।

यह नोट AUTOSAR R20-11 विनिर्देश के आधार पर एक AI द्वारा उत्पन्न किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

फ़ंक्शन Det_ReportError [SWS_Det_00009] 📄 PDF

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

Service to report development errors.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 52a5f1bc3a91 उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

फ़ंक्शन Det_ReportError सक्रिय त्रुटि पहचान के तहत AUTOSAR Classic BSW मॉड्यूल में डेवलपमेंट त्रुटियों की रिपोर्ट करने के लिए कार्य करता है ([SWS_BSW_00045], [SWS_Det_00009])। इंटरफ़ेस को रीएंट्रेंट घोषित किया गया है ([SWS_Det_00009])। निष्पादन व्यवहार कॉलर के पास वापस नहीं लौटता है ("never returns"); रिटर्न प्रकार Std_ReturnType केवल सेवाओं और हुक्स के साथ संगतता के लिए मौजूद है ([SWS_Det_00009])।

ट्रांसफ़र पैरामीटर त्रुटि संदर्भ की विशिष्ट पहचान करते हैं ([SWS_Det_00009]):

  • ModuleId (uint16): रिपोर्टिंग मॉड्यूल का AUTOSAR मॉड्यूल पहचानकर्ता; बेसिक सॉफ़्टवेयर 0 से 255 की श्रेणी का उपयोग करता है (EXP_LayeredSoftwareArchitecture §3 “Default Error Tracer”)।
  • InstanceId (uint8): 0 से शुरू होने वाला मॉड्यूल इंस्टेंस; एकल इंस्टेंस के मामले में 0 पास किया जाता है ([SWS_Det_00009])।
  • ApiId (uint8): त्रुटि का पता लगाने वाली API सेवा की पहचान ([SWS_Det_00009])।
  • ErrorId (uint8): BSW मॉड्यूल की विशिष्ट त्रुटि पहचान ([SWS_BSW_00045], [SWS_Det_00009])।

डेवलपमेंट त्रुटियाँ सॉफ़्टवेयर त्रुटियों, गलत कॉन्फ़िगरेशन या एकीकरण समस्याओं (EXP_LayeredSoftwareArchitecture §3 “Error Classification”, [SRS_BSW_00337] पाठ अभी आयात नहीं हुआ) के कारण मौलिक पूर्व शर्त उल्लंघनों का प्रतिनिधित्व करती हैं, जैसे कि किसी गैर-प्रारंभीकृत मॉड्यूल को कॉल करना ([SWS_BSW_00243]) या अमान्य पैरामीटर ([SWS_CANIF_00538])। उन्हें असर्शन की तरह नियंत्रित किया जाता है: DetErrorHook में कॉन्फ़िगर किए गए सभी कॉलबैक ([SWS_Det_00501]) को कॉल करने के बाद सामान्य नियंत्रण प्रवाह जारी नहीं रखा जाना चाहिए; DET निष्पादन को रोकता है, उदाहरण के लिए अंतहीन लूप, हॉल्ट कमांड या रीसेट के माध्यम से ([SRS_BSW_00337] पाठ अभी आयात नहीं हुआ, EXP_LayeredSoftwareArchitecture §3 “Error Classification”)।

यह उपयोग नोट AUTOSAR R20-11 विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)

फ़ंक्शन Det_Start [SWS_Det_00010] 📄 PDF

void Det_Start (void);

Service to start the Default Error Tracer.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: c7a7762c6c8d उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

सिंक्रोनस API फ़ंक्शन Det_Start Default Error Tracer (DET) को प्रारंभ करने के लिए कार्य करता है ([SWS_Det_00010])। यह सेवा हेडर फ़ाइल Det.h में सर्विस-ID 0x02 के अंतर्गत घोषित की गई है (SWS_DefaultErrorTracer §8.1.3.3 “Det_Start”)। सिंटैक्स void Det_Start(void) के अनुसार, फ़ंक्शन न तो कोई इनपुट पैरामीटर लेता है और न ही कोई आउटपुट पैरामीटर और कॉलर को कोई रिटर्न मान प्रदान नहीं करता है ([SWS_Det_00010])।

एकीकरण और निष्पादन के लिए विशिष्ट शर्तें लागू होती हैं:

  • रीएंट्रेंसी और समवर्ती निष्पादन: फ़ंक्शन को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में परिभाषित किया गया है ([SWS_Det_00010])। कई कार्यों (tasks) या इंटरप्टिंग संदर्भों से समानांतर कॉल अस्वीकार्य हैं।
  • कॉल संदर्भ: व्याख्या: ECU में त्रुटि ट्रैकिंग को सक्रिय करने के लिए यह कॉल आमतौर पर बुनियादी इनिशियलाइज़ेशन के बाद सिस्टम स्टार्टअप के दौरान केंद्रीय रूप से हो सकता है। प्रश्न Q-b28f205b1cc7acfa (खुला)
  • त्रुटि हैंडलिंग: इंटरफ़ेस किसी भी त्रुटि स्थिति की रिपोर्ट वापस नहीं करता है; विनिर्देश अंश में इस कॉल के लिए न तो त्रुटि कोड और न ही DET या DEM इवेंट परिभाषित किए गए हैं ([SWS_Det_00010])।

समग्र प्रणाली में, Det_Start [SRS_BSW_00310] पाठ अभी आयात नहीं हुआ के अनुसार AUTOSAR बेसिक सॉफ़्टवेयर के लिए मानकीकृत नामकरण परंपरा को पूरा करता है (SWS_DefaultErrorTracer §6 “Requirements Tracing”)।

यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

फ़ंक्शन 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.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: a935ac5290c8 उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

फ़ंक्शन [SWS_Det_01001], रनटाइम एरर (Runtime Errors) स्वीकार करने के लिए Det.h में एक केंद्रीय BSW सर्विस के रूप में कार्य करता है। यह सिंक्रोनस रूप से काम करता है और इसे reentrant डिज़ाइन किया गया है [SWS_Det_01001]।

उपयोग और पैरामीटर

कॉल करने वाले BSW मॉड्यूल एरर रिपोर्ट करते समय [SWS_Det_01001] को चार अनिवार्य पैरामीटर पास करते हैं:

  • ModuleId: रिपोर्ट करने वाले BSW मॉड्यूल की मॉड्यूल पहचान।
  • InstanceId: इंडेक्स-आधारित इंस्टेंस संख्या (केवल एक इंस्टेंस वाले मॉड्यूल के मामले में मान 0)।
  • ApiId: उस API फ़ंक्शन की पहचान, जिसमें एरर उत्पन्न हुई है।
  • ErrorId: डिटेक्ट की गई रनटाइम एरर की मॉड्यूल-विशिष्ट पहचान।

यह सर्विस कॉल करने वाले मॉड्यूल को हमेशा रिटर्न वैल्यू E_OK लौटाती है [SWS_Det_01001]।

इंटरैक्शन और एरर हैंडलिंग

AUTOSAR आर्किटेक्चर के अनुसार, रनटाइम एरर डेवलपमेंट एरर (जो मूलभूत पूर्व-शर्तों का उल्लंघन करती हैं) और प्रोडक्शन एरर (जो वर्कशॉप डायग्नोस्टिक्स के लिए प्रासंगिक हैं) से भिन्न होती हैं EXP_LayeredSoftwareArchitecture §Integration and Runtime Aspects। यह सर्विस उदाहरण के लिए ADC ड्राइवर [SWS_Adc_00530] या DDS [CP_SWS_Dds_00832] पाठ अभी आयात नहीं हुआ द्वारा एक अनिवार्य इंटरफ़ेस के रूप में शामिल की जाती है।

CanIf में, उदाहरण के लिए ऑफ़लाइन चैनल पर ट्रांसमिशन का प्रयास CANIF_E_STOPPED की रिपोर्टिंग की ओर ले जाता है [SWS_CANIF_00382], जबकि बिना ट्रंकेशन के लंबाई का अधिक होना CANIF_E_TXPDU_LENGTH_EXCEEDED के रूप में रिपोर्ट किया जाता है [SWS_CANIF_00900]।

[SWS_Det_01001] को कॉल करने पर, वे सभी कॉलआउट फ़ंक्शन निष्पादित होते हैं जो कॉन्फ़िगरेशन पैरामीटर DetReportRuntimeErrorCallout में संग्रहीत हैं [SWS_Det_00503]। यदि कोई एरर हुक कॉन्फ़िगर नहीं किया गया है, तो कोई अतिरिक्त फ़ंक्शन कॉल नहीं होता है, हालांकि DLT को अग्रेषण सक्रिय रहता है यदि इसे कॉन्फ़िगर किया गया हो [SWS_Det_00503]।

यह उपयोग नोट AUTOSAR R20-11 विनिर्देश स्थिति के आधार पर स्वचालित रूप से बनाया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)

फ़ंक्शन 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.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: a646ffef7d6e उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

सिंक्रोनस और पुन:प्रवेशी फ़ंक्शन Det_ReportTransientFault (सर्विस-ID 0x05) BSW मॉड्यूल द्वारा पहचानी गई क्षणिक त्रुटियों को Default Error Tracer ([SWS_BSW_00225], [SWS_Det_01003]) को मानकीकृत रूप से रिपोर्ट करने के लिए कार्य करता है। यह सेवा हेडर Det.h के माध्यम से घोषित की गई है, लेकिन रिलीज़ R20-11 में इसे अप्रचलित (OBSOLETE) के रूप में चिह्नित किया गया है (SWS_DefaultErrorTracer §8.1.3.5 “Det_ReportTransientFault”)।

कॉल करते समय, केवल इनपुट पैरामीटर पास किए जाते हैं: कॉलिंग मॉड्यूल का पहचानकर्ता (ModuleId), इंस्टेंस इंडेक्स (InstanceId, जहां एकल-इंस्टेंस मॉड्यूल 0 पास करते हैं), त्रुटि का पता लगाने वाले API की सर्विस-ID (ApiId) और साथ ही त्रुटि संख्या (FaultId), जिसे SWS_BSWGeneral §7.2.4.4 “Reporting” के अनुसार प्रकार uint8 का होना चाहिए ([SWS_Det_01003])।

यह कॉल त्रुटि को कॉन्फ़िगर किए गए कॉलआउट फ़ंक्शनों को अग्रेषित करता है और उनके फीडबैक का मूल्यांकन करता है:

  • एक कॉल DetReportTransientFaultCallout के तहत कॉन्फ़िगर किए गए सभी कॉलबैक के निष्पादन की ओर ले जाता है ([SWS_Det_00502])।
  • यदि कोई कॉन्फ़िगर किया गया कॉलआउट मौजूद नहीं है, तो फ़ंक्शन तुरंत समाप्त हो जाता है और मान E_OK लौटाता है ([SWS_Det_01003])।
  • यदि ठीक एक कॉलआउट सेट अप है, तो Det_ReportTransientFault प्रकार Std_ReturnType का इसका रिटर्न मान लौटाता है ([SWS_Det_01003])।
  • यदि एकाधिक कॉलआउट मौजूद हैं, तो सभी कॉलआउट रिटर्न मानों का तार्किक OR संयोजन (योग) बनाया जाता है। चूंकि E_OK = 0 परिभाषित है, फ़ंक्शन केवल तभी E_OK लौटाता है जब सभी कॉलआउट त्रुटि-मुक्त रूप से E_OK के साथ प्रतिक्रिया देते हैं ([SWS_Det_01003])।

समवर्तीता और निष्पादन परिवेश के संबंध में, फ़ंक्शन को पुन:प्रवेशी डिज़ाइन किया गया है, यही वजह है कि इसे विभिन्न मॉड्यूल संदर्भों से समवर्ती रूप से कॉल किया जा सकता है ([SWS_Det_01003])।

यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर एक AI द्वारा उत्पन्न किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

फ़ंक्शन <User_Error_Hooks> [SWS_Det_00181] 📄 PDF

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

-

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: ff89a131530f उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

कॉन्फ़िगर करने योग्य इंटरफ़ेस <User_Error_Hooks> डेवलपमेंट त्रुटियों की पहचान पर उपयोगकर्ता-परिभाषित कॉलआउट फ़ंक्शन के कॉल को परिभाषित करता है [SWS_Det_00181]। जैसे ही फ़ंक्शन Det_ReportError को कॉल किया जाता है, इसके लिए सिस्टम में कॉन्फ़िगर किए गए सभी कॉलआउट सिंक्रोनस रूप से निष्पादित होने चाहिए [SWS_Det_00180]। इस इंटरफ़ेस की घोषणा हेडर Det_Externals.h के माध्यम से प्रदान की जाती है SWS DefaultErrorTracer §8.1.5 “Callout Functions / Configurable Interfaces”।

फ़ंक्शन में सर्विस-ID 0x10 होती है और यह त्रुटि विश्लेषण के लिए चार डायग्नोस्टिक पैरामीटर पास करता है [SWS_Det_00181]:

  • ModuleId: कॉलिंग BSW मॉड्यूल की विशिष्ट मॉड्यूल ID।
  • InstanceId: 0 से शुरू होने वाली मॉड्यूल इंस्टेंस पहचान (केवल एक इंस्टेंस वाले मॉड्यूल के लिए 0 पास किया जाता है)।
  • ApiId: संबंधित मॉड्यूल के विनिर्देश के अनुसार प्रभावित API फ़ंक्शन की पहचान।
  • ErrorId: विशिष्ट डेवलपमेंट त्रुटि की पहचान।

स्पेसिफिकेशन के अनुसार, इंटरफ़ेस हमेशा रिटर्न मान E_OK लौटाता है, जैसा कि इस तरह की सेवा सेवाओं के लिए आवश्यक है [SWS_Det_00181]। कस्टम त्रुटि कोड या वैकल्पिक स्थिति मान इंटरफ़ेस के माध्यम से कॉलर को वापस रिपोर्ट नहीं किए जा सकते हैं।

निष्पादन के संबंध में, <User_Error_Hooks> को सिंक्रोनस और पुन:प्रवेशी (reentrant) डिज़ाइन किया गया है [SWS_Det_00181]। यदि एक ही सेवा के लिए कई कॉलआउट परिभाषित हैं, तो उनके पास समान हस्ताक्षर और सर्विस-ID होनी चाहिए [SWS_Det_00180]। व्याख्या: चूंकि निष्पादन सीधे Det_ReportError के कॉल संदर्भ में होता है, इसलिए उपयोगकर्ता-हुक को सिस्टम निष्पादन में विलंब न करने के लिए किसी भी ब्लॉकिंग तंत्र का उपयोग नहीं करना चाहिए। प्रश्न Q-acd1afcd9336992f (खुला)

यह उपयोग नोट AUTOSAR-R20-11 स्पेसिफिकेशन के आधार पर स्वचालित रूप से तैयार किया गया था।

फ़ंक्शन <DetReportRuntimeErrorCallout> [SWS_Det_00184] 📄 PDF

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

-

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 19a5d54e4d0b उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

कॉन्फ़िगर करने योग्य कॉलआउट इंटरफ़ेस <DetReportRuntimeErrorCallout> का उपयोग Default Error Tracer (SWS_DefaultErrorTracer §8.1.5 “Callout Functions / Configurable Interfaces”) में रनटाइम त्रुटियों के उपयोगकर्ता-विशिष्ट कैप्चरिंग और आगे के प्रसंस्करण के लिए किया जाता है। जैसे ही फ़ंक्शन Det_ReportRuntimeError कॉल किया जाता है, DET इसके लिए कॉन्फ़िगर किए गए सभी कॉलआउट फ़ंक्शन्स को तुल्यकालिक रूप से निष्पादित करता है ([SWS_Det_00180], [SWS_Det_00503])। कॉन्फ़िगर किए गए कॉलआउट फ़ंक्शन्स हेडर फ़ाइल Det_Externals.h के माध्यम से प्रदान किए जाते हैं और उनकी सर्विस ID 0x11 होती है ([SWS_Det_00184])।

पैरामीटर और रिटर्न मान

  • ModuleId (uint16): BSW मॉड्यूल का संख्यात्मक पहचानकर्ता जो रनटाइम त्रुटि की रिपोर्ट करता है ([SWS_Det_00184])।
  • InstanceId (uint8): मॉड्यूल इंस्टेंस इंडेक्स, जो 0 से शुरू होता है; एकल इंस्टेंस के मामले में हमेशा 0 पास किया जाता है ([SWS_Det_00184])।
  • ApiId (uint8): API सर्विस का पहचानकर्ता जिसमें रनटाइम त्रुटि उत्पन्न हुई है ([SWS_Det_00184])।
  • ErrorId (uint8): पहचानी गई रनटाइम त्रुटि का मॉड्यूल-विशिष्ट पहचानकर्ता ([SWS_Det_00184])।
  • रिटर्न मान: प्रकार Std_ReturnType सर्विस विनिर्देश के अनुसार हमेशा E_OK लौटाता है ([SWS_Det_00184])।

कनकरेन्सी और व्यवहार

कॉलआउट फ़ंक्शन को रीएंट्रेंट के रूप में निर्दिष्ट किया गया है और इसे रिपोर्टर के निष्पादन संदर्भ में तुल्यकालिक रूप से संसाधित किया जाता है ([SWS_Det_00184])। समान सर्विस के लिए कॉन्फ़िगर किए गए सभी कॉलआउट्स में समान हस्ताक्षर और सर्विस ID होनी चाहिए ([SWS_Det_00180])। चूँकि रिटर्न मान निश्चित रूप से E_OK पर सेट है, इसलिए कॉलआउट के माध्यम से DET को त्रुटि स्थितियों की कोई प्रतिक्रिया नहीं दी जाती है।

नोट: यह उपयोग नोट AUTOSAR Classic R20-11 विनिर्देश के आधार पर स्वचालित रूप से तैयार किया गया था।

फ़ंक्शन <DetReportTransientFaultCallout> [SWS_Det_00187] 📄 PDF

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

-

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: aceceb0a4117 उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

कॉलआउट हुक [SWS_Det_00187] का उपयोग Default Error Tracer (DET) में क्षणिक त्रुटियों के एप्लिकेशन-विशिष्ट प्रबंधन के लिए किया जाता है। यह फ़ंक्शन तुल्यकालिक रूप से निष्पादित होता है और सर्विस ID 0x12 [SWS_Det_00187] के साथ परिभाषित है। यह चार इनपुट पैरामीटर स्वीकार करता है:

  • ModuleId: कॉल करने वाले सॉफ्टवेयर मॉड्यूल की मॉड्यूल पहचान [SWS_Det_00187]।
  • InstanceId: मॉड्यूल की 0 से शुरू होने वाली इंडेक्स-आधारित इंस्टेंस-ID, जहाँ एकल-इंस्टेंस मॉड्यूल को मान 0 पास करना आवश्यक है [SWS_Det_00187]।
  • ApiId: उस API सर्विस का पहचानकर्ता, जिसमें ट्रांसिएंट एरर उत्पन्न हुई है [SWS_Det_00187]।
  • FaultId: कॉल करने वाले मॉड्यूल की SWS के अनुसार डिटेक्ट की गई ट्रांसिएंट एरर की पहचान [SWS_Det_00187]।

Std_ReturnType प्रकार का मान इंटरफ़ेस रिटर्न वैल्यू के रूप में प्रदान करता है, जिसे सीधे Det_ReportTransientFault के कॉलर को प्रोपेगेट किया जाता है [SWS_Det_00187]। डिक्लेरेशन हेडर फ़ाइल Det_Externals.h के माध्यम से उपलब्ध कराया जाता है [SWS_Det_00187]।

समवर्तीता (concurrency) के संबंध में, फ़ंक्शन को reentrant के रूप में निर्दिष्ट किया गया है [SWS_Det_00187]। चूंकि रिटर्न वैल्यू सिंक्रोनस रूप से आगे भेजी जाती है, इसलिए रिपोर्टिंग मॉड्यूल के निष्पादन में अनुचित विलंब न करने के लिए कॉलआउट कार्यान्वयन में कोई ब्लॉकिंग ऑपरेशन नहीं होना चाहिए। प्रश्न Q-23eaffed8be030bb (खुला)

यह पाठ विनिर्देश डेटा के आधार पर एक AI द्वारा उत्पन्न किया गया था।

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#285f1705
Content hash
285f1705
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DefaultErrorTracer.pdf#nameddest=SWS_Det_00008

विषय मानचित्र

आरंभीकरण और स्थिति

2

कॉलआउट और अपेक्षित इंटरफ़ेस

3

टाइप

1

विवरण दृश्य

रूपरेखा में कोई प्रविष्टि चुनें।

आरंभीकरण और स्थिति

Det_GetVersionInfo फ़ंक्शन

Returns the version information of this module.

void Det_GetVersionInfo (Std_VersionInfoType* versioninfo);
Det_Init फ़ंक्शन

Service to initialize the Default Error Tracer.

void Det_Init (const Det_ConfigType* ConfigPtr);

सेवाएँ

Det_ReportError फ़ंक्शन

Service to report development errors.

Std_ReturnType Det_ReportError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
Det_ReportRuntimeError फ़ंक्शन

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);
Det_ReportTransientFault फ़ंक्शन

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 फ़ंक्शन

Service to start the Default Error Tracer.

void Det_Start (void);

कॉलआउट और अपेक्षित इंटरफ़ेस

<DetReportRuntimeErrorCallout> फ़ंक्शन

-

Std_ReturnType <DetReportRuntimeErrorCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
<DetReportTransientFaultCallout> फ़ंक्शन

-

Std_ReturnType <DetReportTransientFaultCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);
<User_Error_Hooks> फ़ंक्शन

-

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

टाइप

Det_ConfigType टाइप

Configuration data structure of the Det module.