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
دالة Det_Init [SWS_Det_00008] 📄 PDF
void Det_Init (const Det_ConfigType* ConfigPtr);
Service to initialize the Default Error Tracer.
تُستخدم الدالة المتزامنة 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 (مفتوح)
تم تعريف الدالة بمعرف الخدمة 0x00 ([SWS_Det_00008]). لا توجد أكواد أخطاء خاصة، أو آليات مخصصة لمعالجة الأخطاء، أو رسائل خطأ منفصلة عبر DET أو DEM موضحة لاستدعاء التهيئة هذا في مقتطف المواصفة الحالي.
في إطار تتبع المتطلبات، تفي الواجهة باشتراطات AUTOSAR العامة لاتفاقيات التسمية الموحدة لواجهات برمجة التطبيقات (API) وفقًا لـ [SRS_BSW_00310] (SWS DefaultErrorTracer §6 «Requirements Tracing»).
تم إنشاء هذه الملاحظة بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة Det_ReportError [SWS_Det_00009] 📄 PDF
Std_ReturnType Det_ReportError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
Service to report development errors.
تُستخدم الدالة Det_ReportError في أنماط AUTOSAR Classic BSW للإبلاغ عن أخطاء التطوير عند تنشيط كشف الأخطاء ([SWS_BSW_00045]، [SWS_Det_00009]). تم التصريح عن الواجهة بأنها قابلة لإعادة الدخول ([SWS_Det_00009]). لا يعود سلوك التنفيذ إلى المستدعي («never returns»)؛ ونوع الإرجاع Std_ReturnType موجود فقط للتوافق مع الخدمات وخطافات الاستدعاء (Hooks) ([SWS_Det_00009]).
تحدد معلمات التمرير سياق الخطأ بشكل فريد ([SWS_Det_00009]):
ModuleId(uint16): معرف نمط AUTOSAR للنمط المُبلِغ؛ تستخدم برمجيات الأساس (Basessoftware) النطاق من 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]). ويتم التعامل معها مثل التأكيدات الجازمة (Assertions): بعد استدعاء جميع عمليات معاودة الاتصال المهيأة في DetErrorHook ([SWS_Det_00501])، لا يجوز استمرار تدفق التحكم الطبيعي؛ حيث يوقف DET التنفيذ، على سبيل المثال، عبر حلقة لا نهائية، أو أمر إيقاف (Halt)، أو إعادة تشغيل (Reset) ([SRS_BSW_00337] لم يُستورد النص بعد، EXP_LayeredSoftwareArchitecture §3 «Error Classification»).
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR-R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة Det_Start [SWS_Det_00010] 📄 PDF
void Det_Start (void);
Service to start the Default Error Tracer.
تُستخدم دالة API المتزامنة Det_Start لبدء تشغيل Default Error Tracer (DET) ([SWS_Det_00010]). تم التصريح عن هذه الخدمة في ملف الترويسة Det.h تحت معرف الخدمة 0x02 (SWS_DefaultErrorTracer §8.1.3.3 «Det_Start»). وفقًا للصيغة void Det_Start(void)، لا تقبل الدالة معلمات إدخال أو إخراج ولا تُرجع أي قيمة إلى المستدعي ([SWS_Det_00010]).
تسري شروط محددة على التكامل والتنفيذ:
- إمكانية إعادة الدخول والتزامن: تم تعريف الدالة على أنها غير قابلة لإعادة الدخول (
Non Reentrant) ([SWS_Det_00010]). الاستدعاءات المتوازية من مهام متعددة أو سياقات مقاطعة غير مسموح بها. - سياق الاستدعاء: تفسير: يُرجح أن يتم الاستدعاء مركزيًا أثناء إقلاع النظام بعد التهيئة الأساسية لتفعيل تتبع الأخطاء في وحدة التحكم الإلكترونية. سؤال Q-b28f205b1cc7acfa (مفتوح)
- معالجة الأخطاء: لا تُرجع الواجهة أي حالات خطأ؛ ولم يتم تحديد رموز أخطاء أو أحداث DET أو DEM لهذا الاستدعاء في مقتطف المواصفة ([SWS_Det_00010]).
في النظام ككل، تحقق Det_Start اصطلاح التسمية القياسي لبرمجيات AUTOSAR الأساسية وفقًا لـ [SRS_BSW_00310] لم يُستورد النص بعد (SWS_DefaultErrorTracer §6 «Requirements Tracing»).
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد 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.
تُستخدم الدالة [SWS_Det_01001] كخدمة BSW مركزية في Det.h لاستقبال أخطاء وقت التشغيل (Runtime Errors). وهي تعمل بشكل متزامن ومصممة لتكون قابلة لإعادة الدخول [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، تؤدي محاولة الإرسال عبر قناة غير متصلة (Offline) إلى الإبلاغ عن CANIF_E_STOPPED [SWS_CANIF_00382]، بينما يتم الإبلاغ عن تجاوزات الطول بدون اقتطاع كـ CANIF_E_TXPDU_LENGTH_EXCEEDED [SWS_CANIF_00900].
عند استدعاء [SWS_Det_01001]، يتم تنفيذ جميع دوال Callout المخزنة في معلمة التكوين 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.
تُستخدم الدالة المتزامنة والقابلة لإعادة الدخول Det_ReportTransientFault (معرف الخدمة 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 الكاشفة للخطأ (ApiId)، بالإضافة إلى رقم الخطأ (FaultId)، والذي يجب أن يكون من النوع uint8 وفقًا لـ SWS_BSWGeneral §7.2.4.4 «Reporting» ([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.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة Det_GetVersionInfo [SWS_Det_00011] 📄 PDF
void Det_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
دالة <User_Error_Hooks> [SWS_Det_00181] 📄 PDF
Std_ReturnType <User_Error_Hooks> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
-
تحدد الواجهة القابلة للتهيئة <User_Error_Hooks> استدعاء دوال النداء الخارجي المخصصة للمستخدم عند اكتشاف أخطاء التطوير [SWS_Det_00181]. وبمجرد استدعاء الدالة Det_ReportError، يجب تنفيذ جميع النداءات الخارجية المهيأة لذلك في النظام بشكل متزامن [SWS_Det_00180]. يتم توفير التصريح عن هذه الواجهة عبر الترويسة Det_Externals.h SWS DefaultErrorTracer §8.1.5 «Callout Functions / Configurable Interfaces».
تمتلك الدالة معرف الخدمة 0x10 وتمرر أربع معلمات تشخيصية لتحليل الخطأ [SWS_Det_00181]:
ModuleId: معرف النمط الفريد لنمط BSW المستدعي.InstanceId: معرف نسخة النمط، بدءًا من0(في الأنماط ذات النسخة الواحدة فقط يتم تمرير0).ApiId: معرف دالة API المعنية وفقًا لمواصفة النمط المعني.ErrorId: معرف خطأ التطوير المحدد.
وفقًا للمواصفة، تُرجع الواجهة دائمًا القيمة المُرجعة E_OK، كما هو مطلوب لمثل هذه الخدمات [SWS_Det_00181]. ولا يمكن إرجاع رموز أخطاء خاصة أو قيم حالة بديلة إلى المستدعي عبر الواجهة.
فيما يتعلق بالتنفيذ، صُممت <User_Error_Hooks> لتكون متزامنة وقابلة لإعادة الدخول [SWS_Det_00181]. وإذا تم تحديد عدة نداءات خارجية لنفس الخدمة، فيجب أن تشترك في نفس التوقيع ومعرف الخدمة [SWS_Det_00180]. تفسير: نظرًا لأن المعالجة تتم مباشرة في سياق استدعاء Det_ReportError، فيُرجح ألا تستخدم خطافات المستخدم آليات حاجزة (blocking) لكي لا تؤخر تنفيذ النظام. سؤال Q-acd1afcd9336992f (مفتوح)
تم إنشاء ملاحظة الاستخدام هذه آليًا بالاستناد إلى مواصفة AUTOSAR-R20-11.
دالة <DetReportRuntimeErrorCallout> [SWS_Det_00184] 📄 PDF
Std_ReturnType <DetReportRuntimeErrorCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);
-
تُستخدم واجهة Callout القابلة للتكوين <DetReportRuntimeErrorCallout> لالتقاط أخطاء وقت التشغيل ومعالجتها بشكل مخصص للمستخدم في Default Error Tracer (SWS_DefaultErrorTracer §8.1.5 «Callout Functions / Configurable Interfaces»). بمجرد استدعاء الدالة Det_ReportRuntimeError، يقوم DET بتنفيذ جميع دوال Callout المكونة لذلك بشكل متزامن ([SWS_Det_00180]، [SWS_Det_00503]). ويتم توفير دوال Callout المكونة عبر ملف الرأس Det_Externals.h ولها معرف الخدمة 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]).
التزامن والسلوك
تم تحديد دالة Callout على أنها قابلة لإعادة الدخول، وتتم معالجتها بشكل متزامن في سياق التنفيذ الخاص بالجهة المبلغة ([SWS_Det_00184]). ويجب أن تمتلك جميع دوال Callout المكونة لنفس الخدمة التوقيع ومعرف الخدمة نفسهما ([SWS_Det_00180]). نظرًا لأن قيمة الإرجاع محددة بشكل ثابت على E_OK، فلا يتم إرسال أي إشعار بحالات الخطأ إلى DET عبر Callout.
ملاحظة: تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفة AUTOSAR Classic R20-11.
دالة <DetReportTransientFaultCallout> [SWS_Det_00187] 📄 PDF
Std_ReturnType <DetReportTransientFaultCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);
-
يُستخدم خطاف Callout [SWS_Det_00187] للمعالجة المخصصة للتطبيق للأخطاء العابرة في Default Error Tracer (DET). يتم تنفيذ الدالة بشكل متزامن وهي معرفة بمعرف الخدمة 0x12 [SWS_Det_00187]. وتأخذ أربع معلمات إدخال:
ModuleId: معرف الوحدة النمطية للبرمجية المستدعية [SWS_Det_00187].InstanceId: معرف النسخة المستند إلى الفهرس للوحدة النمطية بدءًا من0، حيث يتعين على الوحدات النمطية أحادية النسخة تمرير القيمة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].
فيما يتعلق بالتزامن، تم تحديد الدالة على أنها قابلة لإعادة الدخول [SWS_Det_00187]. ونظرًا لأنه يتم تمرير قيمة الإرجاع بشكل متزامن، فمن المفترض ألا يحتوي تنفيذ Callout على عمليات حجب، وذلك حتى لا يتم تأخير تنفيذ الوحدة النمطية المبلغة بشكل غير مسموح به. سؤال Q-23eaffed8be030bb (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي استنادًا إلى بيانات المواصفات.
نوع 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#469d4ef9- Content hash
469d4ef9- 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 · الأصل الألماني