AUTOSAR RTE
The RTE realizes the Virtual Functional Bus (VFB) on a specific ECU, providing communication between Software Components and basic software.
Funktionen — Übersicht
Std_ReturnType Rte_Start (void);Rte_Start is intended to allocate and initialize system resources and communication resources used by the RTE.Std_ReturnType Rte_Stop (void);Rte_Stop is used to finalize the RTE on the core it is called.void Rte_StartTiming (void);Rte_StartTiming API is intended to release the activation of RunnableEntitys triggered by TimingEvents and BackgroundEvents...void SchM_Init (const SchM_ConfigType* ConfigPtr);SchM_Init is intended to allocate and initialize system resources used by the Basic Software Scheduler part of the RTE for the...void SchM_Start (void);Basic Software Scheduler initialized.void SchM_StartTiming (void);Start periodical events for BSW/SWCs.void SchM_Deinit (void);SchM_Deinit is used to finalize Basic Software Scheduler part of the RTE of the core on which it is called.void SchM_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of the Basic Software Scheduler.void <name of the Invocation Handler> (void);Performs invocation of server runnables, hard error runnables, ASCR runnables and triggered runnables via a transformer".void Rte_Rips_SchM_Deinit (void);Rte_Rips_SchM_Deinit deinitializes those RTE Implementation Plug-In parts which are relevant for the SchM related operations.
Typen — Übersicht
enum Rte_Rips_SwitchNotificationStatusTypeStatus of the en- and dequeue operation on a mode queue Tags: atp.enum Rte_DsmqStatusTypeStatus of the enqueue operation on a distributed shared mode queueRteCalibrationSwAddrMethodRefParentContainerRteComponentTypeReference to the SwAddrMethod for which software calibration support shall be enabled.
Funktionen & Typen — Detailansicht
دالة Rte_Start [SWS_Rte_03015] 📄 PDF
Std_ReturnType Rte_Start (void);
Rte_Start is intended to allocate and initialize system resources and communication resources used by the RTE.
تُخصص الدالة Rte_Start وتُهيئ موارد النظام والاتصال المستخدمة من قِبل RTE [SWS_Rte_03015]. ويتم دائمًا توليد هذه الـ API [SWS_Rte_01309]، وتمتلك البنية Std_ReturnType Rte_Start (void) [SWS_Rte_02569] ويجب لزامًا أن تعود خلال زمن تنفيذ محدود دون الدخول في حلقة لا نهائية [SWS_Rte_02585].
لا يجوز استدعاء الدالة على كل Core إلا مرة واحدة فقط بواسطة EcuStateManager من سياق OS موثوق، وذلك بعد تهيئة جميع وحدات Basic Software النمطية المطلوبة بواسطة RTE [SWS_Rte_CONSTR_09035]. ويتم تنفيذ الاستدعاء على كل Core بشكل مستقل [SWS_Rte_07615] ويقوم بأنشطة البدء الخاصة بالأقسام لجميع الأقسام المخصصة لهذا Core [SWS_Rte_07616].
أثناء التنفيذ، تقوم RTE بتهيئة المتغيرات المخصصة لكتل RAM اعتمادًا على الاستراتيجية المكونة [SWS_Rte_07632]. وبعد عمليات تهيئة المتغيرات، ولكن قبل تنفيذ Runnables، تستدعي RTE دوال التهيئة Rte_Rips_Rte_Start لجميع RTE Implementation Plug-Ins المشاركة [SWS_Rte_80052]. بعد ذلك، تقوم RTE بتنشيط جميع Runnables التي يتم إطلاقها بواسطة InitEvent لمرة واحدة [SWS_Rte_06761] وتبدأ الانتقال إلى الأوضاع الأولية [SWS_Rte_06766]. وإذا لم تكن API Rte_StartTiming موجودة، يبدأ Rte_Start أيضًا تنشيط Runnables التي يتم إطلاقها بواسطة TimingEvent [SWS_Rte_07575] أو BackgroundEvent [SWS_Rte_07178].
لمعالجة الأخطاء، تبلغ RTE أو SchM، عند تفعيل RteDevErrorDetectUninit، عن الخطأ RTE_E_UNINIT (0x07) إذا تم استدعاء Rte_Start قبل SchM_Init [SWS_Rte_07683]. وقبل تنفيذ Rte_Start، لا يجوز استدعاء واجهات API الخاصة بـ RTE في وقت التشغيل، لأن هذا سيؤدي بخلاف ذلك أيضًا إلى RTE_E_UNINIT [SWS_Rte_07682]؛ بينما يُسمح بالفعل باستدعاء Rte_SetMirror قبل Rte_Start [SWS_Rte_07319].
تم توليد ملاحظة الاستخدام هذه تلقائيًا على أساس مواصفة AUTOSAR.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة Rte_Stop [SWS_Rte_01262] 📄 PDF
Std_ReturnType Rte_Stop (void);
Rte_Stop is used to finalize the RTE on the core it is called. This service releases all system and communication resources allocated by the RTE on that core.
يتم توليد الدالة Rte_Stop ([SWS_Rte_02570]) في كل تكوين ([SWS_Rte_01310]) وتُستخدم لإنهاء RTE على Core المنفذ ([SWS_Rte_01262]). وخلال ذلك، يتم تحرير جميع موارد النظام والاتصال المخصصة بواسطة RTE على هذا Core ([SWS_Rte_01262]). ويضمن الاستدعاء المتزامن العودة في غضون زمن تشغيل محدود ([SWS_Rte_02584]).
في النظام الكلي، يجب استدعاء Rte_Stop بواسطة EcuStateManager قبل إيقاف تشغيل وحدات Basic Software النمطية المطلوبة من قِبل RTE ([SWS_Rte_CONSTR_09038]). وخلال هذا الإجراء، تستدعي RTE دوال الإيقاف Rte_Rips_Rte_Stop لجميع مكونات RTE-Implementation-Plug-Ins المشاركة ([SWS_Rte_80053])، والتي يجب أن توفر واجهات دورة الحياة هذه ([SWS_Rte_70047]). ولا يُسمح بتنفيذ SchM_Deinit إلا بعد الاكتمال التام لـ Rte_Stop ([SWS_Rte_CONSTR_09056]).
بعد استدعاء Rte_Stop على أحد Core، لا تعود RTE تُنشط أو تبدأ أو تُحرر أي مثيلات RunnableEntity هناك ([SWS_Rte_02538]). ويبقى Rte_GetMirror قابلاً للاستدعاء دون أن يتأثر بذلك، طالما أن نظام التشغيل الأساسي لا يزال نشطًا ([SWS_Rte_07350]).
في حالة الخطأ، تُرجع الدالة RTE_E_LIMIT إذا تم تجاوز حد داخلي أو فشل تخصيص مورد مطلوب ([SWS_Rte_01262]). وإذا كانت RteDevErrorDetectUninit مفعلة، تُبلغ RTE عن الخطأ RTE_E_UNINIT (0x07) عند استدعاء واجهات API غير مسموح بها بعد Rte_Stop ([SWS_Rte_07682]).
تم إنشاء ملاحظة الاستخدام هذه بصورة آلية بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة Rte_StartTiming [SWS_Rte_06753] 📄 PDF
void Rte_StartTiming (void);
Rte_StartTiming API is intended to release the activation of RunnableEntitys triggered by TimingEvents and BackgroundEvents after the last call of a Rte_Init function.
تُستخدم الدالة Rte_StartTiming للسماح بتفعيل RunnableEntity التي يتم إطلاقها بواسطة TimingEvent أو BackgroundEvent بعد اكتمال تهيئة RTE ([SWS_Rte_06753]، [SWS_Rte_06756]). يتم تنفيذها كدالة بدون معاملات وبدون قيمة إرجاع ([SWS_Rte_06754]، [SWS_Rte_06758]) ويجب أن تعود ضمن وقت تنفيذ محدد ([SWS_Rte_06757]).
فيما يتعلق بسياق الاستدعاء والترتيب، تخضع API لشروط عامة صارمة:
- لا يجوز استدعاء الدالة إلا بعد تهيئة RTE بالكامل، وبالتحديد بعد انتهاء استدعاء
Rte_Start([SWS_Rte_CONSTR_09061]). - وهي مخصصة ليتم تنفيذها بعد آخر استدعاء لدالة
Rte_Init([SWS_Rte_06753]). - يتم توليد API أو توفيرها بمجرد إنشاء API واحدة على الأقل من
Rte_Init([SWS_Rte_06755]).
عند استدعاء Rte_StartTiming، فإنها تبدأ فورًا عمليات التفعيل الدورية والقائمة على العمليات الخلفية ([SWS_Rte_06759]، [SWS_Rte_06760]). وإذا كانت API غير موجودة في التكوين، فإن استدعاء Rte_Start يتولى بدلاً من ذلك تمكين الـ Runnables التي يتم إطلاقها بواسطة TimingEvent وBackgroundEvent ([SWS_Rte_07178]، [SWS_Rte_07575]). لم يتم تحديد رموز أخطاء أو قيم إرجاع معينة لهذا الاستدعاء ([SWS_Rte_06754]).
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفات AUTOSAR.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة SchM_Init [SWS_Rte_08060] 📄 PDF
void SchM_Init (const SchM_ConfigType* ConfigPtr);
SchM_Init is intended to allocate and initialize system resources used by the Basic Software Scheduler part of the RTE for the core on which it is called.
الاستخدام والدلالات
تخصص الدالة SchM_Init وتهيئ موارد النظام التي يستخدمها Basic Software Scheduler (SchM) الخاص بـ RTE على النواة المستدعية (Core) ([SWS_Rte_08060]). ويتم توليد الواجهة دائمًا ([SWS_Rte_07271]) وتمتلك التوقيع void SchM_Init(const SchM_ConfigType* ConfigPtr) ([SWS_Rte_07270]). وتُنفذ بشكل متزامن ويجب بالضرورة أن تعود خلال وقت تنفيذ محدود، دون الدخول في حلقة لا نهائية ([SWS_Rte_07273]).
أثناء تسلسل التهيئة، تنفذ SchM_Init الخطوات التالية:
- تبدأ الانتقال إلى الوضع الأولي لكل مثيل آلة وضع (Mode-Machine-Instance) ينتمي إلى Basic Software Scheduler ([SWS_Rte_07532]).
- تبدأ تنشيط مثيلات
BswSchedulableEntityالتي يتم إطلاقها بواسطة أحداثBswBackgroundEvent([SWS_Rte_07584]). - تستدعي دوال التهيئة
Rte_Rips_SchM_Initلجميع RTE Implementation Plug-Ins المشاركة ([SWS_Rte_80051]).
سياق الاستدعاء وشروط الترتيب
لا يجوز استدعاء SchM_Init على كل Core إلا مرة واحدة فقط بالضبط بواسطة EcuStateManager، بمجرد تهيئة وحدات BSW التي يتطلبها Basic Software Scheduler ([SWS_Rte_CONSTR_09055]). ولا يجوز استدعاء واجهات برمجة التطبيقات اللاحقة مثل Rte_Start إلا بعد الانتهاء الكامل من SchM_Init ([SWS_Rte_CONSTR_09036]).
معالجة الأخطاء
إذا تم استدعاء SchM_Init مع مؤشر NULL كمعلمة، فإن Basic Software Scheduler يبلغ عن الخطأ RTE_E_DET_ILLEGAL_VARIANT_CRITERION_VALUE (0x02) ([SWS_Rte_07684]). وإذا تم استدعاء واجهات برمجة تطبيقات المجدول (مثل SchM_Switch أو SchM_Mode أو SchM_Start) أو Rte_Start قبل SchM_Init، فسيتم الإبلاغ عن الخطأ RTE_E_UNINIT (0x07) عند تفعيل RteDevErrorDetectUninit ([SWS_Rte_07683]).
تم توليد ملاحظة الاستخدام هذه بواسطة نظام ذكاء اصطناعي بناءً على مواصفات AUTOSAR.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة SchM_Start [SWS_Rte_07273] 📄 PDF
void SchM_Start (void);
Basic Software Scheduler initialized. Shall be called before BswM_Init().
الاستخدام
تُستخدم الدالة SchM_Start لتشغيل Basic Software Scheduler في الوحدة النمطية RTE، وتتوفر دائمًا من حيث المبدأ كجزء من توليد الواجهة [SWS_Rte_04547]. وتمتلك بنية C الخالية من المعلمات void SchM_Start(void) [SWS_Rte_04546] ولا تُرجع أي قيمة إرجاع. ويُطبق شرط إلزامي على التنفيذ يقضي بضرورة عودة الاستدعاء خلال زمن تشغيل محدود وألا يدخل بأي حال من الأحوال في حلقة لا نهائية [SWS_Rte_04548]. وفي ظل غياب آليات الاستدعاء الراجع غير المتزامنة، يُرجح أنه استدعاء تهيئة متزامن وحاجب (blocking). سؤال Q-b6ad9ed696841d7a (مفتوح)
سياق الاستدعاء والتزامن
تنطبق قيود صارمة على سياق الاستدعاء والتفاعل مع مكونات النظام الأخرى:
- المُستدعي والتكرار: لا يجوز استدعاء الدالة على كل نواة معالج إلا حصريًا بواسطة
EcuStateManagerولمرة واحدة فقط هناك [SWS_Rte_CONSTR_09055]. - شروط الترتيب: لا يجوز إجراء الاستدعاء إلا بعد التهيئة الكاملة لجميع وحدات Basic Software النمطية التي يحتاجها جزء Basic Software Scheduler في RTE [SWS_Rte_CONSTR_09055].
- التفاعل عند بدء تشغيل النظام: بعد التنفيذ، يصبح Basic Software Scheduler جاهزًا للتشغيل؛ ويجب أن يتم الاستدعاء لزامًا قبل تهيئة مدير BSW عبر
BswM_Init()[SWS_Rte_07273].
معالجة الأخطاء
لا تتوفر في حمولة البيانات (Payload) أي تعريفات لرموز أخطاء محددة أو قيم إرجاع أو إشعارات إلى DET أو DEM لهذه الدالة.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة SchM_StartTiming [SWS_Rte_04548] 📄 PDF
void SchM_StartTiming (void);
Start periodical events for BSW/SWCs. SchM_Init() has to be called before.
الاستخدام
تمتلك الدالة SchM_StartTiming التوقيع الخالي من المعلمات void SchM_StartTiming(void) [SWS_Rte_04549] ويتم إنشاؤها دائماً بواسطة منشئ RTE [SWS_Rte_04550]. يبدأ استدعاؤها الأحداث الدورية لـ BSW وSWCs [SWS_Rte_04548] عن طريق بدء تنشيط مثيلات BswSchedulableEntity التي يتم إطلاقها بواسطة BswTimingEvents [SWS_Rte_07574]. يجب أن تعود الدالة خلال وقت تنفيذ محدود ويجب ألا تنفذ حلقة لا نهائية [SWS_Rte_04551].
سياق الاستدعاء والقيود
قبل استدعاء SchM_StartTiming، يجب بالضرورة أن يكون قد تم استدعاء SchM_Init [SWS_Rte_04548]. بالإضافة إلى ذلك، ينطبق القيد الإلزامي بأنه لا يجوز استدعاء SchM_StartTiming على كل Core إلا مرة واحدة بالضبط بواسطة EcuStateManager بعد تهيئة جميع وحدات برمجيات الأساس المطلوبة لـ Basic Software Scheduler [SWS_Rte_CONSTR_09055].
معالجة الأخطاء
إذا تم استدعاء SchM_StartTiming قبل SchM_Init، يبلغ Basic Software Scheduler أو RTE عن الخطأ RTE_E_UNINIT (0x07)، بشرط تفعيل اكتشاف أخطاء التطوير RteDevErrorDetectUninit [SWS_Rte_07683].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند إلى مواصفات الإصدار R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة SchM_Deinit [SWS_Rte_04551] 📄 PDF
void SchM_Deinit (void);
SchM_Deinit is used to finalize Basic Software Scheduler part of the RTE of the core on which it is called. This service releases all system resources allocated by the Basic Software Scheduler part on that core.
الاستخدام ونطاق الوظائف
تُستخدم الدالة SchM_Deinit لإنهاء جزء Basic Software Scheduler في RTE على Core الذي تُستدعى عليه [SWS_Rte_04551]. عند هذه العملية، تحرر الخدمة كافة موارد النظام التي شغلها مُجدوِل BSW على هذا Core [SWS_Rte_04551]. لا تمتلك الدالة أية معلمات ولا قيمة إرجاع (void SchM_Deinit(void)) [SWS_Rte_07274]، ويُولّدها مُولّد RTE دائمًا بشكل أساسي [SWS_Rte_07275]. فيما يتعلق بالسلوك الزمني، تتطلب المواصفة أن تعود SchM_Deinit خلال زمن تنفيذ منتهٍ [SWS_Rte_07277].
سياق الاستدعاء وشروط الترتيب
تنطبق متطلبات ترتيب إلزامية على الاستدعاء أثناء مرحلة إيقاف تشغيل وحدة التحكم الإلكترونية:
- لا يجوز استخدام الدالة
SchM_Deinitإلا بعد إنهاء RTE بالكامل، أي بعد انتهاءRte_Stop[SWS_Rte_CONSTR_09056]. - يجب أن يتم الاستدعاء بواسطة
EcuStateManagerقبل إيقاف تشغيل الطبقات الأساسية المطلوبة لتشغيل Basic Software Scheduler [SWS_Rte_CONSTR_09057]. - بعد استدعاء
SchM_Deinitعلى Core ما، لا يجوز لمُجدوِل BSW على هذا Core تنشيط أو بدء أي حالات منBswSchedulableEntityبعد ذلك [SWS_Rte_07586].
تنظيف المكون الإضافي
في إطار إلغاء التهيئة، تستدعي RTE داخل SchM_Deinit بشكل إلزامي الدوال Rte_Rips_SchM_Deinit لجميع RTE Implementation Plug-Ins المشاركة لإتمام تنظيفها [SWS_Rte_80054].
تم إنشاء ملاحظة الاستخدام هذه تلقائياً بناءً على مواصفة AUTOSAR Classic الإصدار R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة SchM_GetVersionInfo [SWS_Rte_07277] 📄 PDF
void SchM_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of the Basic Software Scheduler.
دالة <name of the Invocation Handler> [SWS_Rte_89015] 📄 PDF
void <name of the Invocation Handler> (void);
Performs invocation of server runnables, hard error runnables, ASCR runnables and triggered runnables via a transformer".
تتولى دالة المعالج <name of the Invocation Handler> في وحدة Rte الاستدعاء المتزامن لمختلف أنواع الـ Runnable عبر محوّل [SWS_Rte_89015]. وتشمل الوحدات المدعومة كلاً من Server-Runnables وHard-Error-Runnables وASCR-Runnables بالإضافة إلى Runnables المُطلقة [SWS_Rte_89015].
لا تمتلك الواجهة أي معاملات دخل، أو دخل/خرج، أو خرج، ولا تُرجع أي قيمة (التوقيع void (void)) [SWS_Rte_89015]. تتم معالجة الاستدعاء بشكل متزامن ويتميز بمعرّف الخدمة 0xEE [SWS_Rte_89015]. يتم توفير التصريح عبر ملف الرأس Rte_Rips_<PlugIn>.h [SWS_Rte_89015].
فيما يتعلق بالتزامن، تم التصريح عن الدالة على أنها قابلة لإعادة الدخول بشكل مشروط (Conditional Reentrant) [SWS_Rte_89015]. ويُرجَّح أن يعني هذا أن الاستدعاء المتزامن لا يُسمح به إلا عند وجود سياقات تنفيذ مختلفة أو مثيلات ملحقات (Plug-in Instances) منفصلة. سؤال Q-24aabb36a2be58f4 (مفتوح) يمثل المعرّف <name of the Invocation Handler> وكذلك تسمية الرأس <PlugIn> عناصر نائبة؛ ويُرجَّح تحديد الاسم الفعلي أثناء تكوين الملحق البرمجي.
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR R20-11.
دالة Rte_Rips_SchM_Deinit [SWS_Rte_89019] 📄 PDF
void Rte_Rips_SchM_Deinit (void);
Rte_Rips_SchM_Deinit deinitializes those RTE Implementation Plug-In parts which are relevant for the SchM related operations.
تُستخدم الدالة Rte_Rips_SchM_Deinit لإلغاء تهيئة تلك المكونات في RTE Implementation Plug-In ذات الصلة بعمليات Basic Software Scheduler (SchM) [SWS_Rte_89019]. وهي تنتمي إلى واجهات دورة الحياة الإلزامية التي يجب أن يوفرها كل RTE Implementation Plug-In إلى جانب Rte_Rips_SchM_Init وRte_Rips_Rte_Start وRte_Rips_Rte_Stop [SWS_Rte_70047].
تسري المحددات التالية على التكامل والاستخدام:
- سياق الاستدعاء والتسلسل: تمتلك الواجهة التوقيع
void Rte_Rips_SchM_Deinit (void)، ولا تستقبل أية معلمات ولا تُرجع أية قيمة إرجاع [SWS_Rte_89019]. وتُنفذ بشكل متزامن [SWS_Rte_89019]. ولا يتم الاستدعاء بواسطة مكونات البرمجيات، بل يتم تنسيقه بواسطة RTE داخلSchM_Deinitلجميع Plug-Ins المشاركة [SWS_Rte_80054]. - تضمين الملف والتعريف: يتوفر التصريح عبر الترويسة
Rte_Rips_<PlugIn>.h؛ وتمتلك الدالة معرّف الخدمة0xF3[SWS_Rte_89019]. - التزامن والقيود: الدالة محددة بأنها غير قابلة لإعادة الدخول (
Non Reentrant) [SWS_Rte_89019]. ومن المرجح أن يترتب على ذلك أنه أثناء الاستدعاء فيSchM_Deinitلا يجوز لأية أنشطة SchM متزامنة الوصول إلى Plug-In بعد ذلك. سؤال Q-60aec1abc9e891b2 (مفتوح) - معالجة الأخطاء: لا تنص المواصفة على أية أكواد أخطاء أو قيم إرجاع لـ
Rte_Rips_SchM_Deinit، ولا تحدد أية رسائل خطأ إلى DET أو DEM [SWS_Rte_89019].
تم إنشاء ملاحظة الاستخدام هذه آلياً بناءً على مواصفة AUTOSAR Classic R20-11.
نوع Rte_Rips_SwitchNotificationStatusType [SWS_Rte_91113] 📄 PDF
Status of the en- and dequeue operation on a mode queue Tags: atp.Status=draft
يعتمد نوع البيانات Rte_Rips_SwitchNotificationStatusType ([SWS_Rte_91113]) على uint8 ويتم توفيره عبر Rte_Type.h. يُستخدم للإشارة إلى حالة عمليات الإدراج (Enqueue) والسحب (Dequeue) في قائمة انتظار الوضع (Mode Queue) في سياق RTE Implementation Plug-Ins.
يتضمن نطاق القيم رموز الحالة لكلا اتجاهي العمليات ([SWS_Rte_91113]):
RTE_SWITCH_NOTIFICATION_SKIP(0x00): يتعذر سحب إشعار تغيير النمط.RTE_SWITCH_NOTIFICATION_ENQUEUED_FIRST(0x01): تم إدراج الإشعار في قائمة انتظار فارغة.RTE_SWITCH_NOTIFICATION_ENQUEUED_NOT_FIRST(0x02): تم إدراج الإشعار في قائمة انتظار مشغولة بالفعل.RTE_SWITCH_NOTIFICATION_ENQUEUE_FAILED(0x03): فشل الإدراج في قائمة انتظار غير فارغة.RTE_SWITCH_NOTIFICATION_DEQUEUED_LAST(0x04): تم سحب آخر إشعار لتغيير الوضع من قائمة الانتظار.RTE_SWITCH_NOTIFICATION_DEQUEUED_NOT_LAST(0x05): تم سحب إشعار؛ وتظل إشعارات أخرى في قائمة الانتظار.
أثناء الاستخدام، يظهر النوع في واجهتين متزامنتين وقابلتين لإعادة الدخول: تستقبل الدالة Rte_Rips_<PlugIn>_Switch_<BswSwcI>_<MMI> ([SWS_Rte_91114]) الحالة كمعلمة إدخال switchNotificationStatus لإخطار المكون الإضافي بعمليات الإدراج. في المقابل، تُرجع الدالة Rte_Rips_<PlugIn>_DequeueModeSwitch_<MMI>_<OsTask> ([SWS_Rte_91115]) النوع كقيمة إرجاع عند سحب إشعار من قائمة الانتظار بعد انتهاء آخر ExecutableEntity من نوع On-Entry.
يتم الإبلاغ وظيفياً عن أخطاء الإدراج عبر قيمة الحالة RTE_SWITCH_NOTIFICATION_ENQUEUE_FAILED ([SWS_Rte_91113])؛ ولا تظهر إدخالات DET أو DEM منفصلة في حمولة البيانات (Payload). تفسير: من المرجح أن يكون نص المواصفة «was enqueued from mode queue» للثوابت الخاصة بالسحب ناتجاً عن صياغة تحريرية والمقصود به عملية السحب. سؤال Q-6e9e040dcd341f66 (مفتوح) تم تمييز العنصر والواجهات المرتبطة به كمسوّدة (Draft) ([SWS_Rte_91113]).
تم إنشاء ملاحظة الاستخدام هذه تلقائياً وتستند حصرياً إلى بيانات مواصفات إصدار AUTOSAR رقم R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
نوع Rte_DsmqStatusType [SWS_Rte_91102] 📄 PDF
Status of the enqueue operation on a distributed shared mode queue
يعتمد نوع البيانات Rte_DsmqStatusType على uint8 ويتم تعريفه وفقًا لـ [SWS_Rte_80085] بالإضافة إلى [SWS_Rte_91102] مع قيمه الحرفية (Literals) في ملف الترويسة Rte_Type.h. ويُستخدم للإشارة إلى حالة عمليات Enqueue وDequeue لإشعارات تغيير الوضع في Distributed Shared Mode Queue (DSMQ) [SWS_Rte_91102].
يشمل نطاق القيم القيم الحرفية (Literals) التالية [SWS_Rte_91102]:
RTE_DSMQ_ENQUEUED_FIRST(0x01): تم إدراج الإشعار في قائمة انتظار DSMQ كانت فارغة سابقًا.RTE_DSMQ_ENQUEUED_NOT_FIRST(0x02): تم الإدراج في قائمة انتظار DSMQ ممتلئة بالفعل (غير فارغة).RTE_DSMQ_ENQUEUE_FAILED(0x03): فشل الإدراج في قائمة انتظار DSMQ غير فارغة.RTE_DSMQ_DEQUEUED_LAST(0x04): تم سحب آخر إشعار لتغيير النمط من DSMQ.RTE_DSMQ_DEQUEUED_NOT_LAST(0x05): تم سحب إشعار بينما تظل إشعارات أخرى في قائمة الانتظار.
لمعالجة الأخطاء، يُشير الثابت الحرفي RTE_DSMQ_ENQUEUE_FAILED إلى فشل عملية الإدراج عندما لا تكون قائمة الانتظار [SWS_Rte_91102] فارغة.
يُستخدم النوع كمعلمة تمرير dsmqstatus إلى واجهات RTE Implementation Plug-In (RIPS). تُخطر الدالة Rte_Rips_<PlugIn>_DsmqSwitch_<BswSwcI>_<MMI> المكون الإضافي بشكل متزامن بعملية الإدراج في DSMQ [SWS_Rte_91103]. بالإضافة إلى ذلك، تُبلّغ Rte_Rips_<PlugIn>_DsmqTransitionEnd_<BswSwcI>_<MMI> بشكل متزامن عن اكتمال انتقال الوضع في DSMQ-Transition-OsTask إلى RIPS [SWS_Rte_91106]. تم التصريح عن كلتا خدمتي رد النداء بأنهما متزامنتان وقابلتان لإعادة الدخول [SWS_Rte_91103]، [SWS_Rte_91106].
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي استنادًا إلى مواصفات AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
نوع RteCalibrationSwAddrMethodRefParentContainerRteComponentType [SWS_Rte_05145] 📄 PDF
Reference to the SwAddrMethod for which software calibration support shall be enabled. Multiplicity 0..* Type Foreign reference to SW-ADDR-METHOD Post-Build Variant Multiplicity false Post-Build Variant Value false Multiplicity Configuration Class Pre-compile time X All Variants Link time Post-build time Value Configuration Class Pre-compile time X All Variants Link time Post-build time Scope / Dependency scope: local No Included Containers 8.7 Implicit communication configuration Figure 8.22: Configuration of the implicit communication SWS Item [ECUC_Rte_09034] Container Name
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Rte- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Rte@rel:R20-11#af074274- Content hash
af074274- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_RTE.pdf#nameddest=SWS_Rte_03015
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني