DEENESPTFRRUARHIKOZHNL

Diagnostic Log and Trace (DLT)

ModulDlt (Diagnostic Log and Trace)
BSW-Modul-ID55
Standard-Header#include "Dlt.h"
SWS-SpezifikationAUTOSAR_SWS_DiagnosticLogAndTrace.pdf
ClusterDiagnostic Services

دليل الوحدةمولَّد بالذكاء الاصطناعي

يجمع رسائل السجل والتتبع (Log and Trace) من SW-Cs وBSW ويقوم بتصفيتها وتخزينها مؤقتًا وإرسالها إلى أدوات خارجية.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: claude-opus-5-5 · الجهد: high · درجة الحرارة: غير قابل للتحكم · الموجّه: dfa88865c54d المصدر أسئلة مفتوحة (1)
المرساة السببية: R20-11 صالح اعتبارًا من R20-11 مُركَّب حديثًا لهذا الإصدار من المواصفة.
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يجمع رسائل السجل والتتبع (Log and Trace) من SW-Cs وBSW ويقوم بتصفيتها وتخزينها مؤقتًا وإرسالها إلى أدوات خارجية.

تجمع وحدة Dlt رسائل السجل والتتبع من SW-Cs ووحدات BSW وDET وخطافات RTE-VFB. وتقوم بتصفيتها وفقًا لمستوى السجل وحالة التتبع، وتعينها إلى LogChannels وتخزنها مؤقتًا. ويتم الإرسال بصورة غير متزامنة عبر Dlt_TxFunction الدورية وPduR [SWS_Dlt_00241]. يمكن للعملاء الخارجيين تعديل المرشحات وتعيينات القنوات أثناء وقت التشغيل؛ ويتم إخطار SW-Cs المسجلة بذلك. أهم شرط أساسي: قبل Dlt_Init وحتى انقضاء تأخير البدء الاختياري، يتم تخزين الرسائل مؤقتًا فقط [SWS_Dlt_00005].

تعد وحدة Dlt نقطة التجميع المركزية لرسائل السجل والتتبع على وحدة التحكم الإلكترونية (ECU). توفر SW-Cs (عبر منافذ RTE) ووحدات BSW الرسائل عبر Dlt_SendLogMessage وDlt_SendTraceMessage [SWS_Dlt_00241] [SWS_Dlt_00243]. وتُضاف أخطاء DET عبر Dlt_DetForwardErrorTrace [SWS_Dlt_00430]، واتصالات SW-C عبر خطافات تتبع VFB المُنشأة بواسطة RTE [SWS_Dlt_00027]. المصب الوحيد هو PduR مع PduR_DltTransmit [SWS_Dlt_00762]. يتم تحديد كل رسالة عبر صف ثنائي مكون من ApplicationId وContextId بحجم 4 بايت لكل منهما؛ ويُستخدم 0x00000000 كرمز عام (Wildcard) [SWS_Dlt_00226] [SWS_Dlt_00227].

kontext swc SW-C rte RTE (Ports, VFB-Hooks) swc->rte Dlt_SendLogMessage Dlt_RegisterContext dlt Dlt rte->dlt Port-Aufrufe VFB-Trace-Hooks bsw BSW-Module bsw->dlt Dlt_SendLogMessage Dlt_SendTraceMessage det DET (Fan-out) det->dlt Dlt_DetForwardErrorTrace ecum EcuM ecum->dlt Dlt_Init schm SchM schm->dlt Dlt_TxFunction dlt->rte LogLevelChangedNotification Dlt_InjectCall_<SESSION> nvm NvM dlt->nvm NvM_ReadBlock NvM_WriteBlock zeit Gpt / StbM (Zeitstempel) dlt->zeit Gpt_GetTimeElapsed StbM_GetCurrentTime pdur PduR dlt->pdur PduR_DltTransmit pdur->dlt Dlt_RxIndication Dlt_TxConfirmation client Externer Dlt-Client pdur->client Dlt-Nachrichten client->pdur Steuernachrichten

مخطط السياق: المصادر، والخدمات المساعدة (NvM، Gpt/StbM، SchM) وPduR كمصب حول Dlt. المصادر: [SWS_Dlt_00762]، [SWS_Dlt_00763]، [SWS_Dlt_91005].

تخزن Dlt الرسائل الواردة مؤقتًا حتى قبل التهيئة [SWS_Dlt_00003]. ولا تتم معالجتها إلا بعد تشغيل Dlt_Init وانقضاء مؤقت تأخير البدء الاختياري [SWS_Dlt_00005]. مع دعم NvRAM، تستعيد Dlt_Init تكوين وقت التشغيل عبر NvM_ReadBlock [SWS_Dlt_00453]. ولا يتم الحفظ إلا بناءً على طلب صريح عبر Dlt_StoreConfiguration [SWS_Dlt_00078].

في سياق الاستدعاء، تنفذ Dlt التصفية واختيار القناة والتحقق من الطول والإيداع في التخزين المؤقت. ويتم الإرسال بشكل منفصل من Dlt_TxFunction الدورية، بما في ذلك عمليات إعادة المحاولة بعد تأكيد سلبي SWS DLT ص. 92 [SWS_Dlt_91005].

إرسال رسالة Dlt عبر LogChannelDlt-Nutzer (SW-C/RTE/Det)DltGptSchMPduRUse Case: القبول في سياق الاستدعاء (متزامن)Dlt_SendLogMessage / Dlt_SendTraceMessage /Dlt_DetForwardErrorTraceNachrichtenfilterung,LogChannel-Schwelle anwendenتحديد LogChannels الهدف،التحقق من الطولZeitstempel holen (Gpt_GetTimeElapsed)verstrichene Zeitin LogChannel-Puffer ablegenStd_ReturnTypeUse Case: Entkoppelter VersandDlt_TxFunction()loopوفقًا لتنظيم حركة المرور (Traffic Shaping)Dlt-Header zusammensetzen,زيادة عداد الإرسالPduR_DltTransmit(DltTxPduId, ...)Dlt_TxConfirmation(TxPduId, result)altE_OK أو استنفاد عمليات إعادة المحاولةإزالة الرسالة من ذاكرة التخزين المؤقتE_NOT_OK، إعادة المحاولة مسموح بهاالاحتفاظ بالرسالة لإعادة الإرسال

مخطط التسلسل: ينتهي استدعاء الإرسال المتزامن بالإيداع في التخزين المؤقت. تتولى Dlt_TxFunction الإرسال والتأكيد وإعادة المحاولة. المصادر: SWS DLT ص. 92، [SWS_Dlt_91005]، [SWS_Dlt_00273].

يتحكم العملاء الخارجيون في مستوى السجل وحالة التتبع وعتبات LogChannel عبر رسائل تحكم تصل عبر Dlt_RxIndication [SWS_Dlt_00272]. وتتوفر متغيرات التحكم نفسها أيضًا كـ API، مثل Dlt_SetLogLevel [SWS_Dlt_00252]. ولكي تتمكن Dlt من إبلاغ SW-Cs المسجلة عبر LogLevelChangedNotification، تسجل هذه المكونات سياقاتها مسبقًا باستخدام Dlt_RegisterContext [SWS_Dlt_00245] [SWS_Dlt_00496].

في حالة حدوث خطأ، تُبلغ استدعاءات الإرسال عن DLT_E_MSG_TOO_LARGE أو DLT_E_NO_BUFFER أو DLT_E_UNKNOWN_SESSION_ID [SWS_Dlt_00495]. وعند حدوث طفح في المخزن المؤقت (Buffer Overflow)، يتم تجاهل الرسالة وتعيين راية الطفح وإرسال BufferOverflowNotification وفقًا للتكوين SWS DLT ص. 32.

الدور وحدود النظام: نقطة التجميع المركزية لبيانات السجل والتتبع

تستقبل وحدة Diagnostic Log and Trace (Dlt) رسائل السجل والتتبع من مكونات البرمجيات (SW-Cs) والبرمجيات الأساسية (BSW). وتقوم بتصفيتها وتخزينها مؤقتًا وتمريرها كرسائل Dlt إلى أداة خارجية. واجهتا الإرسال Dlt_SendLogMessage وDlt_SendTraceMessage مخصصتان صراحةً لكل من وحدات BSW وSW-Cs [SWS_Dlt_00241] [SWS_Dlt_00243]. مصدر مسار البيانات هو SW-C أو وحدة BSW، والمصب هو PDU Router SWS DLT ص. 26. ولهذا، تتطلب Dlt بشكل إلزامي PduR_DltTransmit [SWS_Dlt_00762]. لا يحدد SWS تنسيق الرسائل والأوامر والبروتوكول الموجه إلى العميل الخارجي، بل تحدده مواصفة البروتوكول SWS DLT ص. 9.

بالإضافة إلى الاستدعاءات الصريحة، توجد جهات تزويد ثابتة:

  • DET: تصل رسائل الخطأ إلى Dlt عبر دالة التوزيع (Fan-out) Dlt_DetForwardErrorTrace [SWS_Dlt_00430] [SWS_Dlt_00432]. وتحمل ApplicationID بالقيمة «DET» وContextId بالقيمة «STD» [SWS_Dlt_00376].
  • DEM: تستخدم رسائل السجل الخاصة بأحداث DEM المعرفات «DEM» و«STD0» وMessageID بالقيمة 0x00000001 [SWS_Dlt_00377].
  • RTE: تقوم بتوجيه اتصالات SW-C ضمنيًا كتتبع VFB [SWS_Dlt_00276] [SWS_Dlt_00284].

تحصل Dlt على الطوابع الزمنية من Gpt أو StbM، بينما تتولى NvM الاستدامة [SWS_Dlt_00763]. كانت Dlt_DetForwardErrorTrace جزءًا من API في R20-11، ولكن تمت إزالتها في R25-11 SWS DLT ص. 1.

kontext swc SW-C rte RTE (Ports, VFB-Hooks) swc->rte Dlt_SendLogMessage Dlt_RegisterContext dlt Dlt rte->dlt Port-Aufrufe VFB-Trace-Hooks bsw BSW-Module bsw->dlt Dlt_SendLogMessage Dlt_SendTraceMessage det DET (Fan-out) det->dlt Dlt_DetForwardErrorTrace ecum EcuM ecum->dlt Dlt_Init schm SchM schm->dlt Dlt_TxFunction dlt->rte LogLevelChangedNotification Dlt_InjectCall_<SESSION> nvm NvM dlt->nvm NvM_ReadBlock NvM_WriteBlock zeit Gpt / StbM (Zeitstempel) dlt->zeit Gpt_GetTimeElapsed StbM_GetCurrentTime pdur PduR dlt->pdur PduR_DltTransmit pdur->dlt Dlt_RxIndication Dlt_TxConfirmation client Externer Dlt-Client pdur->client Dlt-Nachrichten client->pdur Steuernachrichten

مخطط السياق: تقع Dlt بين مصادر الرسائل (SW-C عبر RTE، وBSW، وDET) وPduR كمصب وحيد. NvM وGpt/StbM وSchM هي خدمات مساعدة. المصادر: [SWS_Dlt_00762]، [SWS_Dlt_00763]، [SWS_Dlt_00430]، [SWS_Dlt_91005]، SWS DLT ص. 26.

من بدء التشغيل إلى التشغيل الفعلي: التخزين المؤقت قبل التهيئة، وDlt_Init، والاستدامة

يمكن لـ SW-Cs ووحدات BSW تسجيل البيانات بالفعل قبل تهيئة Dlt. لذلك يجب على Dlt تخزين البيانات من Dlt_SendLogMessage وDlt_SendTraceMessage مؤقتًا حتى قبل التهيئة [SWS_Dlt_00003]. ولا تتم معالجة البيانات المخزنة مؤقتًا بصورة نظامية إلا عند استيفاء شرطين: تشغيل Dlt_Init، وانقضاء المؤقت الاختياري DltGeneralStartUpDelayTimer [SWS_Dlt_00005]. يبدأ هذا المؤقت عند استدعاء Dlt_Init، بشرط أن يكون مهيأً SWS DLT ص. 25.

lebenszyklus start uninit غير مهيأ يتم تخزين استدعاءات الإرسال مؤقتًا start->uninit uninit->uninit Dlt_SendLogMessage / Dlt_SendTraceMessage verzoegerung مهيأ تأخير البدء قيد التشغيل (التخزين المؤقت مستمر) uninit->verzoegerung Dlt_Init [DltGeneralStartUpDelayTimer konfiguriert] betrieb التشغيل: تتم معالجة محتوى المخزن المؤقت والرسائل الجديدة uninit->betrieb Dlt_Init [لا يوجد مؤقت لتأخير البدء] verzoegerung->betrieb Timer abgelaufen

مخطط الحالة: حتى التهيئة وعند الاقتضاء حتى نهاية تأخير البدء، يتم تخزين الرسائل مؤقتًا فقط، وتتم معالجتها بعد ذلك فقط. المصادر: [SWS_Dlt_00003]، [SWS_Dlt_00005]، SWS DLT ص. 25.

Dlt_Init متزامنة وغير قابلة لإعادة الدخول (non-reentrant). تتوقع الدالة مؤشرًا إلى Dlt_ConfigType، ومحتواه خاص بالتنفيذ [SWS_Dlt_00239] [SWS_Dlt_00437]. نظرًا لأن Dlt تستخدم NvM، يجب أن تتم التهيئة في مرحلة متأخرة من بدء التشغيل وبعد NvM [SWS_Dlt_00239]. إذا كانت DltGeneralNvRAMSupport = TRUE، تتصرف Dlt على النحو التالي:

  • تقرأ قيم وقت التشغيل في Dlt_Init عبر NvM_ReadBlock [SWS_Dlt_00453].
  • تتحقق من صلاحية الكتل [SWS_Dlt_00449].
  • تستخدم التكوين المحفوظ كقيم أولية [SWS_Dlt_00350].

بدون دعم NvRAM، يسري التكوين الثابت SWS DLT ص. 25. وفقًا للمخطط التوضيحي، فإن جهة الاستدعاء هي EcuM SWS DLT ص. 159.

تهيئة وحدة DltEcuMDltNvMGptDlt_Init(config)altDltGeneralNvRAMSupport == TRUENvM_ReadBlock(BlockId, NvM_DstPtr)التحقق من صحة كتل NV،gespeicherte Werte als StartwerteDltGeneralNvRAMSupport == FALSEstatische Konfiguration ladenoptDltGeneralStartUpDelayTimer konfiguriertGpt_StartTimer(Channel, Value)العودة (متزامنة)بعد Init وانتهاء تأخير البدء:gepufferte Nachrichten verarbeiten

مخطط التسلسل: يستدعي EcuM Dlt_Init بشكل متزامن. تقوم Dlt بتحميل التكوين اعتمادًا على DltGeneralNvRAMSupport من NvM أو بشكل ثابت، وتبدأ اختياريًا مؤقت تأخير البدء. المصادر: [SWS_Dlt_00239]، [SWS_Dlt_00453]، [SWS_Dlt_00005]، SWS DLT ص. 159، CP SWS DLT ص. 90.

نموذج الرسائل: المعرفات، ومستويات السجل، وأنواع التتبع

تحمل كل رسالة سجل هيكل Dlt_MessageLogInfoType يحتوي على خمسة حقول: argCount، وlogLevel، وoptions، وcontextId، وappId [SWS_Dlt_00236]. وتستخدم رسائل التتبع Dlt_MessageTraceInfoType، الذي يحتوي على حقل traceInfo بدلاً من مستوى السجل [SWS_Dlt_00237]. ApplicationId وContextId عبارة عن مصفوفات من 4 بايت؛ ويُستخدم 0x00000000 كرمز عام (Wildcard) [SWS_Dlt_00226] [SWS_Dlt_00227]. إن Application ID هو الاسم المختصر لـ SW-C. وتقوم Context ID بتجميع رسائلها وفقًا للوظيفة EXP LSA ص. 159. يرمز حقل البتات Dlt_MessageOptionsType في البت 0 إلى الوضع المطوّل (Verbose) وفي البتات 1-3 إلى نوع الرسالة [SWS_Dlt_00229].

النوعالقيمالمرجع
Dlt_MessageTypeDLT_TYPE_LOG, DLT_TYPE_APP_TRACE, DLT_TYPE_NW_TRACE, DLT_TYPE_CONTROL[SWS_Dlt_00224]
Dlt_MessageLogLevelTypeDLT_LOG_OFF (0x00) إلى DLT_LOG_VERBOSE (0x06)[SWS_Dlt_00230]
Dlt_MessageTraceTypeDLT_TRACE_VARIABLE, DLT_TRACE_FUNCTION_IN, DLT_TRACE_FUNCTION_OUT, DLT_TRACE_STATE, DLT_TRACE_VFB[SWS_Dlt_00231]
Dlt_MessageNetworkTraceInfoTypeDLT_NW_TRACE_IPC إلى DLT_NW_TRACE_SOMEIP[SWS_Dlt_00233]

في الوضع غير المطوّل (Non-Verbose)، يحدد Message ID فريد الجزء الثابت من الرسالة [SWS_Dlt_00228]. المعرفات 0x00000001 (DEM) و0x00000002 (DET) و0x00000003 (Trace) محجوزة وغير قابلة للاستخدام لـ SW-Cs [SWS_Dlt_00031]. على ناقل الإرسال، يتبع Message ID الترويسة مباشرةً، وتليه البيانات غير الثابتة PRS DLT ص. 23. يتشكل حقل الترويسة MTIN اعتمادًا على نوع الرسالة MSTP من مستوى السجل أو نوع التتبع PRS DLT ص. 24.

مسار الإرسال: المرشحات، واختيار LogChannel، والتخزين المؤقت، وDlt_TxFunction

استدعاءات الإرسال متزامنة وقابلة لإعادة الدخول (reentrant). تتلقى sessionId، وهيكل المعلومات، وحمولة البيانات مع طولها [SWS_Dlt_00241] [SWS_Dlt_00243]. يوضح المخطط التوضيحي لـ R20-11 التسلسل في سياق الاستدعاء:

  1. تصفية الرسائل
  2. تطبيق عتبة LogChannel
  3. اختيار LogChannels المستهدفة
  4. التحقق من الطول
  5. إيداع الرسالة في المخزن المؤقت لـ LogChannel

تتولى Dlt_TxFunction الإرسال في وقت لاحق فقط SWS DLT ص. 92. الخطوات الفردية التالية مصاغة في مواضع الوثائق لإصدار R23-11 وتتطابق مع هذا المخطط التوضيحي. تجلب Dlt طابعًا زمنيًا فقط إذا تم تكوين ذلك: عبر Gpt_GetTimeElapsed أو عبر StbM_GetCurrentTime [SWS_Dlt_00654] [SWS_Dlt_00655].

يتم تحديد LogChannels في ثلاث مراحل SWS DLT ص. 32:

  1. القنوات التي يتطابق تعيينها بدقة مع الصف الثنائي ApplicationId/ContextId.
  2. القنوات ذات ApplicationId المطابق وContextId برمز عام (Wildcard).
  3. إذا بقيت القائمة فارغة، يتم اختيار LogChannel الافتراضية.

يمكن تغيير التعيينات أثناء وقت التشغيل باستخدام Dlt_SetLogChannelAssignment [SWS_Dlt_00751]. ولا يتم تجاهل الرسالة إلا إذا تجاوزت DltLogChannelMaxMessageLength لجميع القنوات المعينة SWS DLT ص. 31. بخلاف ذلك، يتم نسخها إلى المخازن المؤقتة لجميع القنوات التي تكون قصيرة بما يكفي بالنسبة لها SWS DLT ص. 32.

kanalwahl start filter Filter bestanden? (Log-Level/Trace-Status, LogChannel-Schwelle) start->filter verworfen لم تتم متابعة المعالجة filter->verworfen لا exakt جمع القنوات ذات الصف (ApplicationId/ContextId) المطابق تمامًا filter->exakt نعم wildcard إضافة القنوات ذات ApplicationId المطابق و ContextId ذي حرف البدل (Wildcard) exakt->wildcard leer Liste leer? wildcard->leer default Default-LogChannel (DltDefaultLogChannelRef) leer->default نعم laenge هل الطول <= DltLogChannelMaxMessageLength لقناة واحدة على الأقل؟ leer->laenge لا default->laenge zulang verwerfen, DLT_E_MSG_TOO_LARGE laenge->zulang لا kopie النسخ إلى ذاكرة التخزين المؤقت لجميع القنوات التي يتناسب معها الطول laenge->kopie نعم platz Platz in keinem zugeordneten Puffer? kopie->platz keinpuffer تجاهل، DLT_E_NO_BUFFER، تعيين راية التجاوز platz->keinpuffer نعم ok gepuffert, Versand durch Dlt_TxFunction platz->ok لا

مخطط النشاط: تمر الرسالة عبر المرشح واختيار القناة ثلاثي المراحل والتحقق من الطول والإيداع في التخزين المؤقت. يمكن أن يؤدي كل تفرع إلى التجاهل مع قيمة إرجاع خاصة به. المصادر: SWS DLT ص. 31، SWS DLT ص. 32، [SWS_Dlt_00495]، [SWS_Dlt_00751].

الإرسال عبر PduR منفصل عن استدعاء الإرسال ويعمل في سياق Dlt_TxFunction [SWS_Dlt_91005]. يتم تجميع الترويسة قبل PduR_DltTransmit، ويقوم عداد إرسال بالعد لكل رسالة SWS DLT ص. 35. تتم إزالة الرسالة من المخزن المؤقت في ثلاث حالات SWS DLT ص. 38:

  • PduR_DltTransmit يرجع E_NOT_OK.
  • وصول تأكيد إرسال إيجابي.
  • وصول تأكيد سلبي وتجاوز DltLogChannelMaxNumOfRetries.

تستجيب الطبقة السفلية عبر عمليات الاستدعاء الراجعة (Callbacks) التالية:

إرسال رسالة Dlt عبر LogChannelDlt-Nutzer (SW-C/RTE/Det)DltGptSchMPduRUse Case: القبول في سياق الاستدعاء (متزامن)Dlt_SendLogMessage / Dlt_SendTraceMessage /Dlt_DetForwardErrorTraceNachrichtenfilterung,LogChannel-Schwelle anwendenتحديد LogChannels الهدف،التحقق من الطولZeitstempel holen (Gpt_GetTimeElapsed)verstrichene Zeitin LogChannel-Puffer ablegenStd_ReturnTypeUse Case: Entkoppelter VersandDlt_TxFunction()loopوفقًا لتنظيم حركة المرور (Traffic Shaping)Dlt-Header zusammensetzen,زيادة عداد الإرسالPduR_DltTransmit(DltTxPduId, ...)Dlt_TxConfirmation(TxPduId, result)altE_OK أو استنفاد عمليات إعادة المحاولةإزالة الرسالة من ذاكرة التخزين المؤقتE_NOT_OK، إعادة المحاولة مسموح بهاالاحتفاظ بالرسالة لإعادة الإرسال

مخطط التسلسل: ينتهي استدعاء الإرسال المتزامن بالإيداع في التخزين المؤقت. تتولى Dlt_TxFunction الدورية الإرسال الفعلي والتأكيدات وإعادة المحاولات. المصادر: SWS DLT ص. 92، [SWS_Dlt_91005]، [SWS_Dlt_00273]، SWS DLT ص. 35، SWS DLT ص. 38.

تتبع VFB عبر دوال خطافات RTE المُنشأة

يعني تتبع VFB ما يلي: تقوم RTE بتوجيه اتصالات SW-C ضمنيًا إلى Dlt، دون أن تجري SW-C نفسها أي استدعاء SWS DLT ص. 23. تنفذ Dlt لهذه الغاية دوال خطافات لكل حدث مهيأ يصفه BswModuleEntry بالاسم المختصر «Rte_Dlt…» [SWS_Dlt_00027]. يوفر وصف RTE النموذج الأولي (Prototype) [SWS_Dlt_00335]. Dlt_SendTraceMessage هي واجهة SW-C. لذلك، تستدعي الخطافات دالة داخلية مكافئة [SWS_Dlt_00285]، وتحديدًا في الوضع غير المطوّل (Non-Verbose) [SWS_Dlt_00277] ومع جميع الوسائط كبيانات حمولة [SWS_Dlt_00278].

تنطبق قواعد إضافية على الخطافات:

  • تحصل كل دالة خطاف على ContextId خاصة بها. في حالة وجود عدد كبير جدًا من الإشارات، يُسمح بتجميع الأحداث [SWS_Dlt_00279].
  • قبل الإرسال، يتحقق كل خطاف من حالة التتبع لـ ContextId الخاصة به [SWS_Dlt_00281].
  • تحمل الرسالة DLT_TYPE_APP_TRACE مع DLT_TRACE_VFB [SWS_Dlt_00484] وApplicationID بالقيمة «VFBT» SWS DLT ص. 23.
  • يتم تغيير حالة التتبع للخطافات عبر دالة خاصة تتوافق مع LogTraceSessionControl [SWS_Dlt_00283].

تفسير: نظرًا لأن الدالة الداخلية تتوافق مع Dlt_SendTraceMessage، يُرجح أن تمر رسائل VFB عبر مسار الإرسال المخزن مؤقتًا نفسه مثل رسائل التتبع الصريحة [SWS_Dlt_00285]. سؤال Q-cb77a5e7bde21b01 (مفتوح)

تتبع VFB عبر دالة خطاف RTESW-CRTEDltSchMPduRالاتصال عبر VFBRte_Dlt...-Hookfunktion(Argumente)optحالة التتبع (Trace-Status) لـ ContextId نشطةinternes Dlt_SendTraceMessage (non-verbose),DLT_TYPE_APP_TRACE / DLT_TRACE_VFBvermutlich: Filter, Kanalwahl, PufferungالعودةDlt_TxFunction()PduR_DltTransmit(...)Interpretation: gleicher gepufferter Sendepfadمثل رسائل التتبع الصريحة

مخطط التسلسل: يرسل خطاف RTE رسالة تتبع غير مطوّلة (Non-Verbose) مع DLT_TRACE_VFB فقط عندما تكون حالة التتبع نشطة. واستخدامها لمسار الإرسال المشترك هو مجرد تفسير. المصادر: [SWS_Dlt_00027]، [SWS_Dlt_00281]، [SWS_Dlt_00285]، [SWS_Dlt_00484]، SWS DLT ص. 33.

الجلسات، والتسجيل، والتحكم في وقت التشغيل بواسطة العملاء الخارجيين

ترتبط SW-Cs لكل إدخال تكوين عبر المنافذ التالية:

تُستخدم قيم الوسيطات المحددة عبر المنفذ كـ SessionIds [SWS_Dlt_00022]. وهي تبدأ من 0x1000؛ وتستخدم وحدات BSW معرّف الوحدة الخاص بها (Modul-ID) [SWS_Dlt_00023]. وتكون فريدة ومتسلسلة دون فجوات لكل منفذ [SWS_Dlt_00332]. نوعها هو Dlt_SessionIDType (uint32) [SWS_Dlt_00225]. وإذا تم إنشاء مثيلات متعددة من SW-C، تحصل كل نسخة على جلسة خاصة بها EXP LSA ص. 159.

باستخدام Dlt_RegisterContext، تسجّل الوحدة صفّها المكون من ApplicationId/ContextId مع الأوصاف [SWS_Dlt_00245]. ويتذكر Dlt المنفذ الذي تم تسجيل الصف عبره [SWS_Dlt_00021]. وعند الإيقاف، تستدعي الوحدة Dlt_UnregisterContext [SWS_Dlt_00769]. يحقق التسجيل غرضاً واحداً: يعرف Dlt من خلاله أي SW-C يجب إخطارها عند تغير مستويات السجل أو حالات التتبع SWS DLT ص. 20. ويُستخدم LogLevelChangedNotification وTraceStatusChangedNotification لهذا الغرض [SWS_Dlt_00496].

تصل رسائل التحكم من عميل خارجي إلى Dlt عبر PduR. وفي حالة وحدات PDU المفردة، تصل عبر Dlt_RxIndication [SWS_Dlt_00272]. وعبر TP، تصل عبر Dlt_StartOfReception وDlt_CopyRxData وDlt_TpRxIndication [SWS_Dlt_91006] [SWS_Dlt_91008] [SWS_Dlt_91007]. ويقوم Dlt بعد ذلك بتحديث المرشح، ويخطر اختيارياً SW-C المسجلة ويرسل الاستجابة عبر PduR_DltTransmit SWS DLT ص. 93.

التسجيل وأمر SetLogLevel الخارجيSW-CDltPduRExterner Dlt-ClientUse Case: Registrierungloopje SW-C-KontextDlt_RegisterContext(sessionId, appId, contextId, ...)حفظ الصف والمنفذE_OKUse Case: Steuerkommando SetLogLevelDlt-SteuernachrichtDlt_RxIndication(RxPduId, PduInfoPtr)Log-Level-Filter aktualisierenoptLogLevelChange-Benachrichtigungregistrierte SW-C nachschlagenLogLevelChangedNotification(appId, contextId, logLevel)PduR_DltTransmit (Antwort)الرد على رسالة التحكم

مخطط تسلسلي: تقوم SW-Cs بتسجيل سياقاتها. يقوم أمر SetLogLevel خارجي بتحديث المرشح، ويطلق إخطاراً اختيارياً، ويتم الرد عليه عبر PduR. المصادر: SWS DLT ص 93، [SWS_Dlt_00245]، [SWS_Dlt_00272]، [SWS_Dlt_00496].

تتوفر متغيرات الضبط نفسها كـ API:

توجد فروق مقارنةً بالإصدارات اللاحقة:

  • في R20-11، يحتوي Dlt_GetDefaultTraceStatus على المعلمة logChannelName. بينما تغيب في R25-11 SWS DLT ص. 56.
  • يشفّر Dlt_AssignmentOperation في R20-11 DLT_ASSIGN_ADD = 0x01 و DLT_ASSIGN_REMOVE = 0x02 [SWS_Dlt_00730]. ويستخدم R25-11 القيمة 0x00 لـ REMOVE SWS DLT ص. 87. يسري هذا المتطلب على R20-11.

الاستمرارية: يقوم Dlt_StoreConfiguration بنسخ التكوين الحالي عبر NvM_WriteBlock [SWS_Dlt_00736]. ويحدث هذا فقط عندما يكون DltGeneralNvRAMSupport نشطاً ويتم طلب الحفظ صراحةً [SWS_Dlt_00078] [SWS_Dlt_00451]. يعيد Dlt_ResetToFactoryDefault تعيين مستوى السجل وحالة التتبع إلى القيم الافتراضية المحفوظة. وفي حالة وجود دعم NvRAM، تقوم الدالة أيضاً بمسح القيم المحفوظة [SWS_Dlt_00739]. وعبر Dlt_InjectCall_<SESSION>، يمكن لـ Dlt حقن استدعاءات مخصصة للتطبيق بشكل غير متزامن في SW-C [SWS_Dlt_00259] [SWS_Dlt_00498].

التصرف في حالة الخطأ

رموز الخطأ الخاصة بواجهة SW-C محددة في الواجهة DltSwcMessageService [SWS_Dlt_00495]. وتصف مقاطع الوثائق بالإضافة إلى ذلك السلوك في مسار الإرسال.

  • رسالة طويلة جداً: إرجاع DLT_E_MSG_TOO_LARGE إذا كانت الرسالة طويلة جداً بالنسبة لجميع قنوات LogChannels المخصصة [SWS_Dlt_00495] SWS DLT ص. 31.
  • تجاوز سعة المخزن المؤقت: إرجاع DLT_E_NO_BUFFER. يتم تجاهل الرسالة وتعيين راية التجاوز وإرسال BufferOverflowNotification وفقاً للتكوين. يتحقق Dlt_TxFunction من الراية ووقت إزالة الارتداد SWS DLT ص. 32 SWS DLT ص. 95.
  • جلسة غير معروفة أو خطأ في التسجيل: DLT_E_UNKNOWN_SESSION_ID وDLT_E_CONTEXT_ALREADY_REG وDLT_E_CONTEXT_NOT_YET_REG [SWS_Dlt_00495] [SWS_Dlt_00769].
  • الطابع الزمني غير متاح: يتم تعيين الطابع الزمني على 0x00000000 SWS DLT ص. 30.
  • خطأ في الإرسال: يؤدي الحصول على Dlt_TxConfirmation سالبة إلى إطلاق محاولات إعادة حتى يتم الوصول إلى DltLogChannelMaxNumOfRetries. وإذا أرجع PduR_DltTransmit القيمة E_NOT_OK، تتم إزالة الرسالة [SWS_Dlt_00273] SWS DLT ص. 38.
  • أوامر التحكم: يُجاب عن صف غير معروف في SetLogLevel بـ DLT_E_ERROR SWS DLT ص. 39. وتبلغ واجهات API الخاصة بالتكوين عن E_NOT_OK [SWS_Dlt_00252].
  • الاستمرارية: يتعرف Dlt_StoreConfiguration في R20-11 على قيم الإرجاع E_OK و E_NOT_OK و DLT_E_NOT_SUPPORTED [SWS_Dlt_00736]. ولم تتم إضافة DLT_E_ERROR إلا في R24-11 SWS DLT ص. 1.
  • أخطاء التطوير وأخطاء وقت التشغيل:
    • أخطاء التطوير: DLT_E_PARAM، DLT_E_PARAM_POINTER، DLT_E_INIT_FAILED، DLT_E_REGISTRATION [SWS_Dlt_00727]
    • أخطاء وقت التشغيل: DLT_E_SKIPPED_TRANSMISSION، DLT_E_DEPRECATED_PARAMETER، DLT_E_MULTIPLE_REQUESTS [SWS_Dlt_00728]

أدلة تفصيلية إضافية

دليل وحدات تم إنشاؤه بواسطة الذكاء الاصطناعي استناداً إلى متطلبات R20-11 ومقاطع الوثائق المرتبطة بها؛ وتأتي بعض تفاصيل التسلسل من مقاطع وثائق إصدارات لاحقة وتم تمييزها على هذا النحو. المتطلبات المرتبطة هي الملزمة.

Diagnostic Log and Trace (DLT)

The DLT module collects log messages and trace points and formats them into standardized DLT frames for external tooling.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

دالة Dlt_Init [SWS_Dlt_00239] 📄 PDF

void Dlt_Init (const Dlt_ConfigType* config);

Dlt is using the NVRam Manager and is to be initialized very late in the ECU startup phase. The Dlt_ Init() function should be called after the NVRam Manager is initialized.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 7562b88c65ab المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تقوم الدالة المتزامنة وغير القابلة لإعادة الدخول Dlt_Init (معرف الخدمة 0x01، والمتاحة عبر ملف الترويسة Dlt.h) بالتهيئة الأولية لنمط Diagnostic Log and Trace (DLT) في Classic Platform [SWS_Dlt_00239]. وتستقبل عبر المعلمة config مؤشرًا إلى بنية التهيئة الخاصة بالنمط من النوع Dlt_ConfigType ولا تُرجع أي قيمة [SWS_Dlt_00239].

تسري شروط حدودية محددة على سياق الاستدعاء والتفاعل الزمني مع أنماط BSW الأخرى:

  • ترتيب التهيئة الأولية: يستخدم نمط DLT الـ NVRam Manager ويجب تهيئته أوليًا في مرحلة متأخرة جدًا من بدء تشغيل وحدة التحكم الإلكترونية [SWS_Dlt_00239]. ويجب إلزاميًا ألا يتم استدعاء الدالة Dlt_Init إلا بعد اكتمال التهيئة الأولية لـ NVRam Manager [SWS_Dlt_00239].
  • البيانات الدائمة: إذا تم ضبط معلمة التهيئة DltGeneralNvRAMSupport على TRUE، فإن نمط DLT في Dlt_Init يستخدم الواجهة NvM_ReadBlock لمدير NVRAM لاستعادة القيم الدائمة للمتغيرات المطلوبة [SWS_Dlt_00453].
  • معالجة المخزن المؤقت: بمجرد تهيئة النمط أوليًا بواسطة Dlt_Init وانتهاء المؤقت الاختياري DltGeneralStartUpDelayTimer، تتم معالجة جميع بيانات Log and Trace التي تم تخزينها مؤقتًا في هذه الأثناء وإرسالها وفقًا للمواصفة [SWS_Dlt_00005].

نظرًا لأن الدالة محددة على أنها غير قابلة لإعادة الدخول، يجب على سياق الاستدعاء التأكد من عدم الدخول مجددًا إلى Dlt_Init بشكل متوازٍ أو قاطع أثناء التنفيذ [SWS_Dlt_00239].

تم إنشاء هذا النص بواسطة نظام ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dlt_SendTraceMessage [SWS_Dlt_00243] 📄 PDF

Std_ReturnType Dlt_SendTraceMessage (Dlt_SessionIDType sessionId, const Dlt_MessageTraceInfoType* traceInfo, const uint8* traceData, uint16 traceDataLength);

The service represents the interface to be used by basic software modules or by software components to trace parameters.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: b4775c790e44 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة وقابلة لإعادة الدخول Dlt_SendTraceMessage بواسطة وحدات برمجيات الأساس (BSW) وكذلك مكونات البرمجيات (SW-C) لنقل معلمات التتبع إلى وحدة Dlt [SWS_Dlt_00243].

المعلمات وسياق الاستدعاء

عند الاستدعاء، يتم تمرير معرّف الوحدة أو المنفذ عبر sessionId، والبيانات الوصفية لتصفية الرسائل عبر traceInfo، بالإضافة إلى ذاكرة التخزين المؤقت للبيانات المفيدة عبر traceData مع تحديد الطول traceDataLength [SWS_Dlt_00243]. يمكن للوحدة تخزين رسائل التتبع مؤقتًا بالفعل، حتى لو لم تتم تهيئة Dlt بعد [SWS_Dlt_00003].

قيم الإرجاع ومعالجة الأخطاء

تشير الخدمة إلى الحالة عبر قيم إرجاع محددة [SWS_Dlt_00243]:

  • E_OK: نُفذت العملية بنجاح.
  • DLT_E_MSG_TOO_LARGE: تتجاوز الرسالة الحجم المسموح به لجميع قنوات السجل المخصصة.
  • DLT_E_NO_BUFFER: ذاكرة تخزين مؤقت غير كافية؛ لا يمكن تخزين الرسالة مؤقتًا لقناة سجل واحدة على الأقل.
  • DLT_E_UNKNOWN_SESSION_ID: sessionId الممررة غير معروفة للوحدة.

التفاعل مع دوال الخطاف (Hook)

نظراً لأن Dlt_SendTraceMessage محددة كواجهة لـ SW-Cs، يوجد لدوال الخطاف المُنشأة تنفيذ داخلي مكافئ [SWS_Dlt_00285]، والذي يرسل رسائل التتبع في الوضع غير المطول (Non-Verbose) [SWS_Dlt_00277].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dlt_SendLogMessage [SWS_Dlt_00241] 📄 PDF

Std_ReturnType Dlt_SendLogMessage (Dlt_SessionIDType sessionId, const Dlt_MessageLogInfoType* logInfo, const uint8* logData, uint16 logDataLength);

The service represents the interface to be used by basic software modules or by software component to send Log Messages.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 1ca903195ba8 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة والقابلة لإعادة الدخول Dlt_SendLogMessage (معرف الخدمة 0x03) من قبل وحدات برمجيات الطبقة الأساسية (BSW) ومكونات البرمجيات (SW-C) كواجهة قياسية لإرسال رسائل السجل [SWS_Dlt_00241]. ويتم الاستدعاء عبر ملف الرأس Dlt.h، وبفضل إمكانية إعادة الدخول، صُممت الدالة للاستخدام المتزامن [SWS_Dlt_00241].

عند استدعاء الدالة، يلزم وجود أربع معلمات تمرير، في حين لا تُستخدم أي معلمات إخراج [SWS_Dlt_00241]:

  • sessionId: يمثل معرف الجلسة. بالنسبة لـ SW-Cs، تكون هذه المعلمة غير مرئية كقيمة وسيطة مرتبطة بالمنفذ، بينما تمرر وحدات BSW رقم وحدتها مباشرة.
  • logInfo: مؤشر إلى بنية ثابتة تحتوي على بيانات التعريف ذات الصلة لتصفية رسالة السجل.
  • logData: مؤشر إلى مصفوفة البايتات المحتوية على البيانات المراد تسجيلها، والتي تشكل الحمولة الفعلية (Payload) للرسالة.
  • logDataLength: الطول العددي للمخزن المؤقت للبيانات logData.

تتم معالجة الأخطاء مباشرة عبر قيمة الإرجاع من النوع Std_ReturnType، والتي تشير إلى نجاح العملية أو حالات خطأ محددة [SWS_Dlt_00241]:

  • DLT_OK: تم قبول رسالة السجل ومعالجتها بنجاح.
  • DLT_E_MSG_TOO_LARGE: تتجاوز الرسالة الحد الأقصى المسموح به لحجم المخزن المؤقت لجميع قنوات السجل المخصصة.
  • DLT_E_NO_BUFFER: تعذر تخزين الرسالة مؤقتًا في أي من قنوات السجل المخصصة.
  • DLT_E_UNKNOWN_SESSION_ID: معرف الجلسة الممرر غير صالح أو غير معروف للوحدة.

تم إنشاء إشعار الاستخدام هذا بواسطة ذكاء اصطناعي بناءً على مواصفات AUTOSAR.

دالة Dlt_UnregisterContext [SWS_Dlt_00769] 📄 PDF

Std_ReturnType Dlt_UnregisterContext (Dlt_SessionIDType sessionId, Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId);

The service has to be called when a software module is going to be stopped. Available vi a Dlt.h

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 9c17fc452d0b المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

يتم توفير الدالة المتزامنة Dlt_UnregisterContext (معرّف الخدمة 0x16) عبر ملف الترويسة Dlt.h ويجب استدعاؤها عند إيقاف وحدة برمجية [SWS_Dlt_00769]. وتُستخدم لإلغاء تسجيل سياق مسجَّل مسبقًا لتطبيق ما.

تتوقع الدالة ثلاث معلمات دخل [SWS_Dlt_00769]:

  • sessionId: رقم الوحدة؛ يطابق معرّف الوحدة داخل BSW أو قيمة الوسيطة المحددة بشكل خاص بالمنفذ داخل مكوّن برمجي (SW-C) [SWS_Dlt_00769].
  • appId: معرّف التطبيق الأعلى (Application ID) [SWS_Dlt_00769].
  • contextId: معرّف السياق المراد إلغاء تسجيله (Context ID) [SWS_Dlt_00769].

قيم الإرجاع ومعالجة الأخطاء

توفر قيمة الإرجاع من النوع Std_ReturnType معلومات حول نتيجة التنفيذ [SWS_Dlt_00769]:

  • E_OK: اكتملت العملية المطلوبة بنجاح [SWS_Dlt_00769].
  • DLT_E_CONTEXT_NOT_YET_REG: لم يتم تسجيل سياق الوحدة البرمجية مسبقًا [SWS_Dlt_00769].
  • DLT_E_UNKNOWN_SESSION_ID: معرّف الجلسة الممرر غير معروف [SWS_Dlt_00769].

التزامن والقيود

تم تحديد الدالة على أنها قابلة لإعادة الدخول وتتصرف بشكل متزامن [SWS_Dlt_00769]. يجب على الوحدات المستدعية التأكد من أن معرّف الجلسة الممرر صالح وأن السياق كان مسجلًا بالفعل قبل الإنهاء، لتجنب حدوث أخطاء أثناء إلغاء التسجيل [SWS_Dlt_00769].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفات AUTOSAR CP R20-11.

دالة Dlt_DetForwardErrorTrace [SWS_Dlt_00432] 📄 PDF

void Dlt_DetForwardErrorTrace (uint16 moduleId, uint8 instanceId, uint8 apiId, uint8 errorId);

Service to fo rward error reports from Det to Dlt.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ea1faa559ee0 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام وسياق الاستدعاء

تُستخدم الواجهة المتزامنة Dlt_DetForwardErrorTrace ذات معرف الخدمة 0x07 لإعادة توجيه أخطاء التطوير المبلغ عنها من Default Error Tracer (DET) إلى وحدة Dlt النمطية [SWS_Dlt_00432]. وتوفر وحدة Dlt النمطية هذه الخدمة لضمان قدرة التفريع المطلوبة لـ DET لرسائل الخطأ [SWS_Dlt_00430]. تم تضمين تصريح دالة C هذه عبر ملف الرأس Dlt_Det.h [SWS_Dlt_00432].

المعلمات ومواصفات الواجهة

تستقبل الدالة أربع معلمات إدخال إلزامية ولا تحدد قيم إرجاع أو معلمات إخراج [SWS_Dlt_00432]:

  • moduleId: معرف الوحدة النمطية للبرمجية المستدعية التي حدث فيها الخطأ.
  • instanceId: معرف نسخة الوحدة النمطية المستند إلى الفهرس (يبدأ العد من 0؛ وتمرر الوحدات أحادية النسخة 0).
  • apiId: معرف خدمة API المعنية (المحددة في مواصفة الوحدة النمطية المستدعية).
  • errorId: معرف خطأ التطوير المكتشف (المحدد في مواصفة الوحدة النمطية المستدعية).

التزامن ومعالجة الأخطاء

يتم التنفيذ بشكل متزامن مع تسجيل الخطأ المستدعي. وباعتبارها دالة غير قابلة لإعادة الدخول (Non Reentrant)، تتطلب الواجهة إلزاميًا تجنب عمليات التنفيذ المتزامنة من جانب المستدعي [SWS_Dlt_00432]. لم يتم تخصيص أكواد أخطاء محددة، أو استجابات للأخطاء، أو رسائل DET أو DEM منفصلة لهذه الخدمة في المواصفة [SWS_Dlt_00432].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفات AUTOSAR CP R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dlt_SetLogLevel [SWS_Dlt_00252] 📄 PDF

Std_ReturnType Dlt_SetLogLevel (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, Dlt_MessageLogLevelType newLogLevel);

This service is used to change the Log Level for the given tuple of Application ID/ Context ID.

دالة Dlt_SetTraceStatus [SWS_Dlt_00254] 📄 PDF

Std_ReturnType Dlt_SetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean newTraceStatus);

The service Dlt_ Set Trace Status sets the trace status for a specific tuple of Application ID and Context ID.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: aa592860b6dc المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة Dlt_SetTraceStatus لضبط حالة التتبع لزوج محدد من Application-ID وContext-ID [SWS_Dlt_00254]. تم تعريفها عبر ملف الترويسة Dlt.h وتمتلك معرف الخدمة 0x09 [SWS_Dlt_00254].

الاستخدام

يلزم ثلاثة معلمات إدخال للاستدعاء [SWS_Dlt_00254]:

  • appId: معرف مكون البرمجيات (النوع Dlt_ApplicationIDType).
  • contextId: معرف السياق (النوع Dlt_ContextIDType).
  • newTraceStatus: حالة التتبع الجديدة المطلوب ضبطها كقيمة منطقية (النوع boolean).

معالجة الأخطاء وقيم الإرجاع

تُرجع الدالة بشكل متزامن حالة من النوع Std_ReturnType [SWS_Dlt_00254]:

  • E_OK: لم يحدث أي خطأ وتم تطبيق الحالة بنجاح.
  • E_NOT_OK: تعذر تغيير حالة التتبع. لم يتم ذكر رسائل خطأ DET محددة في مواصفة الدالة (تفسير: يُرجح وجود خطأ في حالة المعرفات غير الصالحة أو حالة النمط الخاطئة). سؤال Q-77e190707462c8f1 (مفتوح)

التزامن والقيود

تم تحديد الواجهة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Dlt_00254]. ولذلك لا يجوز تنفيذها بالتزامن أو بشكل قاطع دون مزامنة مناسبة من قِبل المستدعي.

تم إنشاء ملاحظة الاستخدام هذه آليًا بالاستناد إلى إصدار AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dlt_GetDefaultLogLevel [SWS_Dlt_00733] 📄 PDF

Std_ReturnType Dlt_GetDefaultLogLevel (Dlt_MessageLogLevelType* defaultLogLevel);

Returns the Default Log Level currently used by the Dlt module. The returned Log Level might differ from the one which is stored no n volatile.

دالة Dlt_StoreConfiguration [SWS_Dlt_00736] 📄 PDF

Std_ReturnType Dlt_StoreConfiguration (void);

Copies the current Dlt configuration to Nv RAM by calling Nv M_ Write Block().

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 5604b9adc3ef المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تُستخدم الدالة Dlt_StoreConfiguration ([SWS_Dlt_00736]) لحفظ تهيئة Dlt الحالية في الذاكرة غير المتطايرة (NvRAM). ويتم التخزين داخليًا عبر استدعاء متزامن للواجهة NvM_WriteBlock() الخاصة بـ NVRAM Manager ([SWS_Dlt_00736]). تتوفر واجهة API عبر الترويسة Dlt.h بمعرف الخدمة 0x1a.

تمتلك الدالة التوقيع Std_ReturnType Dlt_StoreConfiguration(void) ولا تعالج معلمات إدخال أو إخراج أو إدخال/إخراج ([SWS_Dlt_00736]).

معالجة الأخطاء وقيم الإرجاع

كخدمة متزامنة، تُرجع الدالة على الفور رمز حالة من النوع Std_ReturnType إلى المستدعي ([SWS_Dlt_00736]):

  • E_OK: تم تسليم التهيئة دون أخطاء إلى NvRAM ([SWS_Dlt_00736]).
  • E_NOT_OK: حدث خطأ أثناء حفظ تهيئة Dlt ([SWS_Dlt_00736]).
  • DLT_E_NOT_SUPPORTED: خدمة حفظ التهيئة غير مدعومة من قِبل النمط ([SWS_Dlt_00736]).

التزامن والقيود

وفقًا لـ [SWS_Dlt_00736]، تم تحديد Dlt_StoreConfiguration على أنها غير قابلة لإعادة الدخول (Non Reentrant). لذلك لا يجوز تنفيذ الدالة بالتزامن من مهام أو سياقات مختلفة، بحيث يجب ضمان التنفيذ التسلسلي من جهة المستدعي.

أُنشئت ملاحظة الاستخدام هذه آليًا استنادًا إلى مواصفات AUTOSAR.

دالة Dlt_ResetToFactoryDefault [SWS_Dlt_00739] 📄 PDF

Std_ReturnType Dlt_ResetToFactoryDefault (void);

The service Dlt_ Reset To Factory Default sets the Log Level and Trace Status back to the pers istently stored default values. If the feature Nv MRAM support is enabled, all stored Dlt values in the Nv M are deleted.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 9a6e51abb1f8 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تُوفَّر الدالة المتزامنة Dlt_ResetToFactoryDefault عبر ملف الرأس Dlt.h ولا تستقبل أي معاملات تمرير [SWS_Dlt_00739]. غرضها الأساسي هو إعادة ضبط تكوين وقت التشغيل لـ Dlt: فهي تعيد ضبط مستوى السجل (Log-Level) وحالة التتبع (Trace-Status) إلى القيم الافتراضية المحفوظة بشكل دائم [SWS_Dlt_00739]. إذا كان دعم NvRAM مفعّلاً بالإضافة إلى ذلك في وحدة Dlt، فإن الاستدعاء يؤدي إلى المسح الكامل لجميع قيم Dlt المخزنة في NvM [SWS_Dlt_00739].

قيم الإرجاع ومعالجة الأخطاء

تتم الإشارة إلى نتيجة العملية بشكل متزامن عبر القيمة المرجعة من النوع Std_ReturnType [SWS_Dlt_00739]:

  • E_OK: تمت إعادة ضبط التكوين بنجاح إلى القيم الافتراضية [SWS_Dlt_00739].
  • E_NOT_OK: فشلت إعادة ضبط التكوين [SWS_Dlt_00739].

رسائل خطأ DET أو DEM المحددة غير معرّفة لهذه الخدمة ضمن نطاق المواصفة الحالي.

التزامن والقيود

تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) (معرّف الخدمة 0x06) [SWS_Dlt_00739]. بالتالي، فإن الاستدعاء المتزامن أو المقاطِع من مهام أو سياقات مختلفة غير مسموح به ويجب منعه بواسطة المتصل.

تستند ملاحظة الاستخدام هذه حصرياً إلى بيانات المواصفة من إصدار AUTOSAR Classic R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dlt_SetDefaultLogLevel [SWS_Dlt_00740] 📄 PDF

Std_ReturnType Dlt_SetDefaultLogLevel (Dlt_MessageLogLevelType newLogLevel);

Called to modify the pass through range for Log Messages for all not explicit set Context Ids.

دالة Dlt_GetTraceStatus [SWS_Dlt_00750] 📄 PDF

Std_ReturnType Dlt_GetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean* traceStatus);

Returns the current Trace Status for a given tuple Application Id/ Context Id.

دالة Dlt_RxIndication [SWS_Dlt_00272] 📄 PDF

void Dlt_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

Indication of a received PDU from a lower layer communication interface module.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 8621cb62489c المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة Dlt_RxIndication للإشارة إلى PDU مستلمة من وحدة واجهة اتصال تابعة إلى وحدة DLT النمطية [SWS_Dlt_00272]. وهي متوفرة عبر ملف الرأس Dlt.h ولها معرف الخدمة 0x42 [SWS_Dlt_00272].

يتم الاستدعاء بدلالات متزامنة ولا يقدم أي قيمة إرجاع (void) [SWS_Dlt_00272]. ويتم تمرير معلمتي إدخال إلى الدالة:

  • RxPduId: معرف وحدة PDU المستلمة (من النوع PduIdType) [SWS_Dlt_00272].
  • PduInfoPtr: مؤشر إلى بنية من النوع PduInfoType. وتحتوي هذه البنية على طول وحدة PDU المستلمة (SduLength)، ومؤشر إلى التخزين المؤقت لبيانات حمولة PDU (SduDataPtr)، بالإضافة إلى بيانات التعريف المقترنة لوحدة PDU [SWS_Dlt_00272].

فيما يتعلق بالتزامن وسياق التنفيذ، تكون الدالة قابلة لإعادة الدخول لمعرفات PDU المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس معرف PDU [SWS_Dlt_00272]. وبالتالي، لا يجوز للوحدة النمطية التابعة المستدعية معالجة نفس RxPduId بشكل متزامن، بينما يُسمح بالاستدعاءات المتوازية بمعرفات PDU مختلفة [SWS_Dlt_00272].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على المواصفات.

دالة Dlt_TriggerTransmit [SWS_Dlt_00754] 📄 PDF

Std_ReturnType Dlt_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);

Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 2f7ee51c3bb5 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة Dlt_TriggerTransmit وفقًا لـ [SWS_Dlt_00754] لنسخ بيانات SDU عند طلب طبقة سفلية إلى ذاكرة تخزين مؤقت مُوفَّرة. وهي مُعلَنة في Dlt.h وتمتلك معرّف الخدمة 0x41.

عند الاستدعاء، يتم تمرير المعلمات التالية:

  • TxPduId: معرّف SDU المطلوب إرسالها.
  • PduInfoPtr: مؤشر إلى بنية من النوع PduInfoType. يمرر المتصل ذاكرة التخزين المؤقت الهدف عبر SduDataPtr والحد الأقصى لحجم ذاكرة التخزين المؤقت المتاح عبر SduLength.

داخل الدالة، تتحقق الوحدة وفقًا لـ [SWS_Dlt_00754] مما إذا كانت البيانات المتاحة تتسع في حجم ذاكرة التخزين المؤقت الممرر:

  • إذا كانت البيانات تتسع، تنسخ الدالة البيانات المفيدة إلى SduDataPtr، وتحدّث SduLength بعدد البايتات المنسوخة فعليًا، وتُرجع E_OK.
  • إذا لم تكن ذاكرة التخزين المؤقت كافية، تُرجع الدالة E_NOT_OK دون تعديل PduInfoPtr.

إذا تم إرجاع E_NOT_OK، فلن يتم نسخ أي بيانات SDU. لا يجوز للمتصل في هذه الحالة الاستمرار في استخدام PduInfoPtr، حيث قد يشير إلى بيانات غير صالحة أو قد يكون مؤشر NULL [SWS_Dlt_00754].

فيما يتعلق بالتزامن، تُعد Dlt_TriggerTransmit قابلة لإعادة الدخول بالنسبة لمعرّفات PDU المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس TxPduId [SWS_Dlt_00754].

تم إنشاء هذا النص تلقائيًا. تستند جميع البيانات إلى مواصفات AUTOSAR المرجعية.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dlt_TxConfirmation [SWS_Dlt_00273] 📄 PDF

void Dlt_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: da9a483662e9 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام وسياق الاستدعاء

تُستخدم الدالة Dlt_TxConfirmation كواجهة تأكيد من طبقة الاتصال الأدنى (lower layer communication interface module) تجاه نمط Diagnostic Log and Trace (DLT) [SWS_Dlt_00273]. وهي تبلغ نمط DLT بشكل متزامن بما إذا كان قد تم نقل PDU المطلوبة سابقًا بنجاح أم أن النقل قد فشل [SWS_Dlt_00273]. تمتلك الدالة معرف الخدمة 0x40 ويتم توفيرها عبر ملف الترويسة Dlt.h [SWS_Dlt_00273].

لا تمتلك الواجهة قيمة مُرجعة (void) وتتوقع معلمتي تمرير [SWS_Dlt_00273]:

  • TxPduId: معرف الـ PDU المنقولة من النوع PduIdType.
  • result: حالة النقل من النوع Std_ReturnType؛ حيث يشير E_OK إلى النقل الناجح وE_NOT_OK إلى فشل نقل PDU.

معالجة الأخطاء والتزامن

لم يتم تحديد معالجة أخطاء صريحة مع قيم إرجاع أخطاء أو رسائل DET أو DEM محددة لهذا الاستدعاء؛ ويتم إبلاغ نمط DLT بفشل عملية الإرسال بحتًا عبر قيمة المعلمة result = E_NOT_OK [SWS_Dlt_00273].

يسري شرط تمايز لإعادة الدخول أثناء التنفيذ: Dlt_TxConfirmation قابلة لإعادة الدخول لمعرفات PDU المختلفة، ولكنها غير قابلة لإعادة الدخول لنفس معرف PDU [SWS_Dlt_00273]. لذا يجب على برامج التشغيل أو الواجهات المستدعية التأكد من استبعاد الاستدعاءات المتزامنة ذات TxPduId المتطابقة، بينما يُسمح بوصول التأكيدات الخاصة بوحدات PDU المختلفة بالتزامن.

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفات AUTOSAR CP R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dlt_TpTxConfirmation [SWS_Dlt_00756] 📄 PDF

void Dlt_TpTxConfirmation (PduIdType id, Std_ReturnType result);

This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission was succe ssful or not.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: d7c3201ac621 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة Dlt_TpTxConfirmation كدالة تأكيد متزامنة لوحدة Dlt بعد إرسال Transport-I-PDU [SWS_Dlt_00756]. وهي متاحة عبر ملف الترويسة Dlt.h بمعرّف الخدمة 0x48 [SWS_Dlt_00756].

الاستخدام والدلالات

يتم الاستدعاء بعد إرسال I-PDU على الشبكة المعنية [SWS_Dlt_00756]. تمتلك الدالة التوقيع void Dlt_TpTxConfirmation (PduIdType id, Std_ReturnType result) ولا تُرجع أي قيمة إرجاع [SWS_Dlt_00756]:

  • id (معلمة دخل، نوع PduIdType): تحديد فريد لـ I-PDU المنقولة [SWS_Dlt_00756].
  • result (معلمة دخل، نوع Std_ReturnType): تحدد حالة الإرسال وتوضح ما إذا كان إرسال I-PDU ناجحًا أم فاشلًا [SWS_Dlt_00756].

التزامن ومعالجة الأخطاء

تحدد المواصفة Dlt_TpTxConfirmation على أنها متزامنة وقابلة لإعادة الدخول (Reentrant) [SWS_Dlt_00756]. لم يتم تعريف رموز أخطاء محددة لـ DET أو DEM لهذه الخدمة؛ وتعتمد معالجة الأخطاء المتعلقة بعملية الإرسال على تقييم المعلمة result [SWS_Dlt_00756]. من المحتمل، في سياق النظام، أن يتم بدء الاستدعاء نموذجيًا بواسطة طبقة نقل سفلية بعد اكتمال إرسال PDU. سؤال Q-0e5ab7c285316701 (مفتوح)

تم إنشاء هذا النص بواسطة نظام ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dlt_CopyTxData [SWS_Dlt_00516] 📄 PDF

BufReq_ReturnType Dlt_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

Service Dlt_CopyTxData.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 131f9d82c4dd المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام والدلالات

تُستخدم الدالة المتزامنة والقابلة لإعادة الدخول Dlt_CopyTxData لاسترداد بيانات الإرسال لجزء I-PDU (N-PDU) من وحدة Dlt النمطية [SWS_Dlt_00516]. عبر id يتم تحديد I-PDU المراد إرسالها، بينما يوفر info المخزن المؤقت الهدف (SduDataPtr) وكذلك طول البايت المطلوب (SduLength) [SWS_Dlt_00516]. يتيح تمرير SduLength = 0 (حيث يُسمح بتمرير SduDataPtr كـ NULL_PTR) إرسال تغييرات الحالة الصرفة عبر retry أو الاستعلام عن كمية البيانات المتبقية في المخزن المؤقت للإرسال [SWS_Dlt_00516]. وعبر معلمة الإخراج availableDataPtr، تبلغ الدالة عن كمية البيانات التي لا تزال متاحة في المخزن المؤقت Tx، مما يتيح، على سبيل المثال، لوحدات TP ذات أطوال الحمولة الديناميكية (مثل FrIsoTp) تحديد أبعاد الأجزاء اللاحقة [SWS_Dlt_00516].

التأكيد ومعالجة الأخطاء

يتم التحكم في الإقرار أو إعادة الإرسال عبر المؤشر retry [SWS_Dlt_00516]:

  • إذا كان retry عبارة عن NULL_PTR، فيجوز تجاهل البيانات المنسوخة من المخزن المؤقت مباشرة بعد عملية النسخ [SWS_Dlt_00516].
  • إذا أشار TpDataState إلى القيمة TP_CONFPENDING، فيجب أن تظل البيانات المنسوخة سابقًا في ذاكرة التخزين المؤقت لمعالجة الأخطاء المحتملة [SWS_Dlt_00516].
  • في حالة TP_DATACONF، تُعتبر جميع البيانات المنقولة قبل الاستدعاء مؤكدة ويمكن تحريرها [SWS_Dlt_00516].
  • في حالة TP_DATARETRY، يستأنف الموديول النسخ مجددًا بدءًا من إزاحة البايت المُمررة في TxTpDataCnt [SWS_Dlt_00516].

القيم المُرجعة والشروط الحدية

يتم الإبلاغ عن نتيجة الطلب كـ BufReq_ReturnType [SWS_Dlt_00516]:

  • BUFREQ_OK: تم نسخ البيانات بالكامل كما هو مطلوب إلى ذاكرة التخزين المؤقت للوجهة [SWS_Dlt_00516].
  • BUFREQ_E_BUSY: كمية البيانات المطلوبة غير متاحة؛ لم يتم نسخ أي بيانات، وتُسمح إعادة المحاولة لاحقًا [SWS_Dlt_00516].
  • BUFREQ_E_NOT_OK: فشل الطلب؛ لم يتم نسخ أي بيانات [SWS_Dlt_00516].

الواجهة متاحة عبر Dlt.h ومصممة لتكون قابلة لإعادة الدخول [SWS_Dlt_00516]. يُرجح أن يكون سياق الاستدعاء عادةً داخل موديول بروتوكول نقل أساسي أثناء الإرسال المجزأ. سؤال Q-a81c439e73e0acc0 (مفتوح)

تم إنشاء ملاحظة الاستخدام هذه بصورة آلية بناءً على مواصفة AUTOSAR Classic R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dlt_StartReception [SWS_Dlt_91006] 📄 PDF

BufReq_ReturnType Dlt_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);

This function is called at the start of receiving an N -

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 768ebb494705 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يتم استدعاء الدالة المتزامنة والقابلة لإعادة الدخول Dlt_StartReception عند بداية استقبال N-SDU، والتي يمكن استقبالها كإطار مفرد (SF) أو مجزأة عبر عدة N-PDUs [SWS_Dlt_91006]. وتُستخدم لبدء اتصال النقل في وحدة Dlt وتوفير ذاكرة التخزين المؤقت المتاحة للاستقبال [SWS_Dlt_91006].

عبر المعلمة id، يتم تحديد I-PDU المستلَمة، بينما تنقل info البيانات المفيدة والبيانات الوصفية للإطار الأول أو تُعيَّن إلى NULL_PTR في حال عدم توفر بيانات أو بيانات وصفية [SWS_Dlt_91006]. وعبر TpSduLength، يتم تمرير الطول الإجمالي لـ N-SDU؛ وإذا تم استدعاء الدالة بطول 0، فإنها تُرجع الحد الأقصى لحجم ذاكرة التخزين المؤقت المتاح حاليًا عبر bufferSizePtr [SWS_Dlt_91006]. يستخدم بروتوكول النقل القيمة من bufferSizePtr لحساب حجم الكتلة (BS) [SWS_Dlt_91006].

إذا تم قبول الاتصال، تُرجع الدالة BUFREQ_OK؛ وإذا لم تكن ذاكرة التخزين المؤقت كافية للحجم المطلوب، تُشير bufferSizePtr إلى حجم ذاكرة تخزين مؤقت قدره 0 لمتابعة الاستقبال [SWS_Dlt_91006]. في حال رفض الاتصال، تُنهي BUFREQ_E_NOT_OK الاستقبال، وإذا كانت الذاكرة الكلية غير كافية، يتم الإبلاغ عن BUFREQ_E_OVFL؛ وفي كلتا حالتي الخطأ، تظل bufferSizePtr دون تغيير [SWS_Dlt_91006].

تستند ملاحظة الاستخدام هذه إلى مواصفة AUTOSAR Classic R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dlt_TpRxIndication [SWS_Dlt_91007] 📄 PDF

void Dlt_TpRxIndication (PduIdType id, Std_ReturnType result);

Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 494394e121a7 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة Dlt_TpRxIndication كإشارة استقبال متزامنة بعد أن تم استقبال I-PDU عبر واجهة برمجة التطبيقات TP-API [SWS_Dlt_91007]. وهي مُعلَنة في ملف الترويسة Dlt.h وتمتلك معرّف الخدمة 0x45 [SWS_Dlt_91007].

الاستخدام والمعلمات

يتم التمرير إلى وحدة DLT عبر معلمتي دخل، حيث لا تُرجع الدالة أي قيمة إرجاع [SWS_Dlt_91007]:

  • id (نوع PduIdType): يحدد معرّف I-PDU المستلَمة [SWS_Dlt_91007].
  • result (نوع Std_ReturnType): يحدد نتيجة الاستقبال ويوضح ما إذا كان الإرسال ناجحًا [SWS_Dlt_91007].

التزامن والقيود

تم تعريف الواجهة على أنها متزامنة وقابلة لإعادة الدخول [SWS_Dlt_91007]. ولا توجد معلمات دخل/خرج أو معلمات خرج فقط [SWS_Dlt_91007].

معالجة الأخطاء والتفاعل

يتم إرسال نتيجة النقل إلى وحدة DLT حصريًا عبر الوسيطة result؛ ولم يتم تحديد رموز أخطاء أو رسائل DET أو DEM معينة [SWS_Dlt_91007].

تفسير: يُرجح أن يتم الاستدعاء بواسطة مكوّن بروتوكول نقل سفلي بمجرد وصول رسالة DLT بالكامل أو عند انقطاع الإرسال [SWS_Dlt_91007]. سؤال Q-7d9c8564a2404acf (مفتوح)

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي استنادًا إلى مواصفات AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dlt_CopyRxData [SWS_Dlt_91008] 📄 PDF

BufReq_ReturnType Dlt_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);

Service Dlt_CopyRxData.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 50201aae16ae المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام والدلالات

يتم استدعاء الدالة المتزامنة Dlt_CopyRxData لتمرير البيانات المستلَمة لمقطع I-PDU (N-PDU) إلى الطبقة العليا [SWS_Dlt_91008]. يوفّر كل استدعاء الجزء التالي من بيانات I-PDU، حيث يُكتب حجم ذاكرة التخزين المؤقت المتبقي في موقع الذاكرة المشار إليه عبر bufferSizePtr [SWS_Dlt_91008]. الإعلان متاح عبر ملف الترويسة Dlt.h [SWS_Dlt_91008].

المعاملات والاستعلام عن المخزن المؤقت

عبر معلمة الدخل id، يتم تحديد I-PDU المستلَمة [SWS_Dlt_91008]. يوفّر المؤشر info ذاكرة التخزين المؤقت المصدر عبر SduDataPtr بالإضافة إلى عدد البايتات المطلوب نسخها عبر SduLength [SWS_Dlt_91008]. إذا تم تمرير SduLength بالقيمة 0، فإن الاستدعاء يُستخدم فقط للاستعلام عن ذاكرة التخزين المؤقت المتاحة حاليًا في الوحدة العليا؛ وفي هذه الحالة، يجوز أن يكون SduDataPtr مؤشر NULL_PTR [SWS_Dlt_91008]. تُرجع معلمة الخرج bufferSizePtr حجم ذاكرة التخزين المؤقت للاستقبال التي لا تزال فارغة بعد عملية النسخ [SWS_Dlt_91008].

التزامن وقيم الإرجاع

صُممت الدالة لتكون قابلة لإعادة الدخول وتمتلك معرّف الخدمة 0x44 [SWS_Dlt_91008]. تُشير قيمة الإرجاع من النوع BufReq_ReturnType إلى نتيجة عملية النسخ: في حال قبول البيانات بنجاح، تُرجع الخدمة BUFREQ_OK، بينما يتم الإبلاغ عن BUFREQ_E_NOT_OK في حالة الخطأ [SWS_Dlt_91008].

ملاحظة: تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Dlt_TxFunction [SWS_Dlt_91005] 📄 PDF

void Dlt_TxFunction (void);

-

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ff1088c39156 المصدر أسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام وسياق الاستدعاء

تم تعريف الدالة Dlt_TxFunction وفقًا للمواصفة [SWS_Dlt_91005] كخدمة بمعرّف الخدمة 0x80 وهي متاحة عبر ملف الترويسة SchM_Dlt.h. توقيع واجهتها هو void Dlt_TxFunction (void) [SWS_Dlt_91005]. ويشير الإعلان في SchM_Dlt.h، كتفسير، إلى أن الاستدعاء يتم بواسطة مجدول BSW في سياق مهمة دورية، ولا ينبغي استدعاؤها مباشرة بواسطة مكونات البرمجيات التطبيقية.

المعلمات وقيم الإرجاع

وفقًا لـ [SWS_Dlt_91005]، لا تستقبل الدالة أي معلمات تمرير ولا تُرجع أي قيمة إرجاع (void). وبناءً على الاسم، يُرجح أن الدالة مسؤولة عن المعالجة والإرسال الدوريين لرسائل إرسال Dlt المعلقة. سؤال (مفتوح) ونظرًا لعدم تحديد قيم إرجاع، فإن معالجة الأخطاء تتم على الأرجح داخل الوحدة أو الحالة فقط.

القيود

نظرًا لأن حمولة البيانات لا تحتوي على أي معلومات بخصوص إمكانية إعادة الدخول أو أخطاء تطوير خاصة، فيجب تنسيق فترات الاستدعاء وتعيينات المهام عبر تكوين مدير الجدولة. ولا توجد رموز أخطاء إضافية أو إدخالات DET موضحة في [SWS_Dlt_91005].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي؛ وهو لا يغني عن دراسة مواصفة AUTOSAR الرسمية.

نوع Dlt_ConfigType [SWS_Dlt_00437] 📄 PDF

This is the type of the data structure containing the initialization data for Dlt.

نوع Dlt_MessageIDType [SWS_Dlt_00228] 📄 PDF

Contains the unique Message Id for a message. This is only relevant in non - verbose mode.

نوع Dlt_MessageNetworkTraceInfoType [SWS_Dlt_00233] 📄 PDF

This type describes transported type of a Dlt BUSMESSAGE.

نوع Dlt_ApplicationIDType [SWS_Dlt_00226] 📄 PDF

This type describes the Application Id. 0x00000000 means the so - called wildcard.

نوع Dlt_ContextIDType [SWS_Dlt_00227] 📄 PDF

This type describes the Context Id. 0x00000000 means the so - called wildcard.

نوع Dlt_MessageArgumentCount [SWS_Dlt_00235] 📄 PDF

This type describes the count of arguments provided to a message.

نوع Dlt_AssignmentOperation [SWS_Dlt_00730] 📄 PDF

Adding or removing a Log Channel assignment for the given tuple of Application Id/ Context Id.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_Dlt
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Dlt@rel:R20-11#4c69d82e
Content hash
4c69d82e
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DiagnosticLogAndTrace.pdf#nameddest=SWS_Dlt_00239

التهيئة والحالة

Returns the version information of this module.

void Dlt_GetVersionInfo (Std_VersionInfoType* versioninfo);
Dlt_Init دالة

Dlt is using the NVRam Manager and is to be initialized very late in the ECU startup phase. The Dlt_ Init() function should be called after the NVRam Manager is initialized.

void Dlt_Init (const Dlt_ConfigType* config);

الخدمات

Service to fo rward error reports from Det to Dlt.

void Dlt_DetForwardErrorTrace (uint16 moduleId, uint8 instanceId, uint8 apiId, uint8 errorId);

Returns the Default Log Level currently used by the Dlt module. The returned Log Level might differ from the one which is stored no n volatile.

Std_ReturnType Dlt_GetDefaultLogLevel (Dlt_MessageLogLevelType* defaultLogLevel);

Called to request information about registered Application Ids, their Context Ids and the corresponding log level.

Std_ReturnType Dlt_GetLogInfo (uint8 options, Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, uint8* status, Dlt_LogInfoType* logInfo);

Returns the current Trace Status for a given tuple Application Id/ Context Id.

Std_ReturnType Dlt_GetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean* traceStatus);

The service Dlt_ Reset To Factory Default sets the Log Level and Trace Status back to the pers istently stored default values. If the feature Nv MRAM support is enabled, all stored Dlt values in the Nv M are deleted.

Std_ReturnType Dlt_ResetToFactoryDefault (void);

The service represents the interface to be used by basic software modules or by software component to send Log Messages.

Std_ReturnType Dlt_SendLogMessage (Dlt_SessionIDType sessionId, const Dlt_MessageLogInfoType* logInfo, const uint8* logData, uint16 logDataLength);

The service represents the interface to be used by basic software modules or by software components to trace parameters.

Std_ReturnType Dlt_SendTraceMessage (Dlt_SessionIDType sessionId, const Dlt_MessageTraceInfoType* traceInfo, const uint8* traceData, uint16 traceDataLength);

Called to modify the pass through range for Log Messages for all not explicit set Context Ids.

Std_ReturnType Dlt_SetDefaultLogLevel (Dlt_MessageLogLevelType newLogLevel);

This service is used to change the Log Level for the given tuple of Application ID/ Context ID.

Std_ReturnType Dlt_SetLogLevel (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, Dlt_MessageLogLevelType newLogLevel);

Switches on/ off the mes sage filtering functionality of the Dlt module.

Std_ReturnType Dlt_SetMessageFiltering (boolean status);

The service Dlt_ Set Trace Status sets the trace status for a specific tuple of Application ID and Context ID.

Std_ReturnType Dlt_SetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean newTraceStatus);

Copies the current Dlt configuration to Nv RAM by calling Nv M_ Write Block().

Std_ReturnType Dlt_StoreConfiguration (void);

-

void Dlt_TxFunction (void);

The service has to be called when a software module is going to be stopped. Available vi a Dlt.h

Std_ReturnType Dlt_UnregisterContext (Dlt_SessionIDType sessionId, Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId);

دوال الاستدعاء الراجع

Service Dlt_CopyRxData.

BufReq_ReturnType Dlt_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);

Service Dlt_CopyTxData.

BufReq_ReturnType Dlt_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

Indication of a received PDU from a lower layer communication interface module.

void Dlt_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

This function is called at the start of receiving an N -

BufReq_ReturnType Dlt_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);

Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not.

void Dlt_TpRxIndication (PduIdType id, Std_ReturnType result);

This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission was succe ssful or not.

void Dlt_TpTxConfirmation (PduIdType id, Std_ReturnType result);

Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.

Std_ReturnType Dlt_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

void Dlt_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

الأنواع

Information about Applications

This type describes the Application Id. 0x00000000 means the so - called wildcard.

Adding or removing a Log Channel assignment for the given tuple of Application Id/ Context Id.

This is the type of the data structure containing the initialization data for Dlt.

Context Information

This type describes the Context Id. 0x00000000 means the so - called wildcard.

This type describes the count of arguments provided to a message.

Contains the unique Message Id for a message. This is only relevant in non - verbose mode.

This type describes the log lev el for each log message.

This type describes transported type of a Dlt BUSMESSAGE.

Bitfield

This type describes labels for trace messages.

This type describes the type of the message.

This type identifies the session.

Type نوع

This type describes the Log Channel name.