DEENESPTFRRUARHIKOZHNL

AUTOSAR RTE

ModulRte (Runtime Environment)
BSW-Modul-ID2
Standard-Header#include "Rte.h"
SWS-SpezifikationAUTOSAR_SWS_RTE.pdf
ClusterRuntime Environment (RTE)

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

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

يربط مكونات البرمجيات ببعضها البعض وكذلك مع البرمجيات الأساسية وينسق تنفيذها.

تربط Runtime Environment (RTE) مكونات برمجيات AUTOSAR ببعضها البعض وكذلك مع وحدات البرمجيات الأساسية، وتنظم الجدولة الحتمية على Classic Platform عبر Basic Software Scheduler (SchM) (SWS_RTE ص. 100). ويتم تنسيق دورة الحياة عبر واجهات معيارية تمتد من SchM_Init وRte_Start إلى Rte_Stop وSchM_Deinit [SWS_Rte_08060]، [SWS_Rte_03015]. وإلى جانب أنماط المرسل-المستقبل والعميل-الخادم، تضمن أساليب مؤشرات البرمجيات لمعاملات المعايرة وكذلك عمليات فحص حماية الذاكرة عند حدود الأقسام تشغيلًا قويًا في الوقت الحقيقي [SWS_Rte_03914]، [SWS_Rte_02752].

تفصل Runtime Environment (RTE) مكونات برمجيات AUTOSAR عن عتاد وحدة التحكم الإلكترونية (ECU)، وتنسق بالاشتراك مع Basic Software Scheduler (SchM) تنفيذ كافة تدفقات التطبيقات والبرمجيات الأساسية (SWS_RTE ص. 100). ويتم بدء التشغيل المنضبط تدريجيًا عبر EcuStateManager: في البداية يقوم SchM_Init بتهيئة هياكل المجدول، يليه SchM_Start قبل استدعاء BswM_Init وكذلك SchM_StartTiming لتمكين أحداث BSW الدورية [SWS_Rte_08060]، [SWS_Rte_07273]، [SWS_Rte_04548]. ويتم بعد ذلك بدء مكونات البرمجيات التطبيقية (Application SW-Cs) عبر Rte_Start، وإيقافها عند إيقاف التشغيل بواسطة Rte_Stop قبل إلغاء التهيئة عبر SchM_Deinit [SWS_Rte_03015]، [SWS_Rte_01262]، [SWS_Rte_04551].

تنسيق بدء التشغيل وإيقاف التشغيل بين EcuM وSchM وRTEEcuMSchMBswMRTEUse Case: BSW-Scheduler HochlaufphaseSchM_Init(ConfigPtr)Interne Datenstrukturen & initial ModeMachines initialisierenSchM_Start()BswM_Init(ConfigPtr)SchM_StartTiming()BswTimingEvents periodisch aktivierenUse Case: RTE ApplikationsstartRte_Start()Applikations-Runnables & ModeTransitions freigebenRTE_E_OKUse Case: Herunterfahren (Shutdown)Rte_Stop()Runnables stoppen, Kommunikation ignorierenRTE_E_OKSchM_Deinit()Rte_Rips_SchM_Deinit() & Ressourcen freigeben

مخطط التسلسل: التنسيق الزمني لبدء التشغيل وإيقاف التشغيل بين EcuM وSchM وRTE. المصادر: [SWS_Rte_08060]، [SWS_Rte_07273]، [SWS_Rte_04548]، [SWS_Rte_03015]، [SWS_Rte_01262]، [SWS_Rte_04551]، [SWS_Rte_89019].

تغطي الاتصالات أنماط المرسل-المستقبل والعميل-الخادم داخل وحدة التحكم الإلكترونية نفسها (intra-ECU) وعبر وحدات متعددة (inter-ECU) (SWS_RTE ص. 286). وتضمن عناصر البيانات غير المخزنة مؤقتًا قيم إخراج متسقة عبر initValue، بينما تتم معالجة الأحداث المخزنة مؤقتًا عبر طوابير FIFO [SWS_Rte_06009]، [SWS_Rte_02521]. وفي تفاعلات العميل-الخادم، تربط مقابض المعاملات (Transaction Handles) الثنائية الطلبات غير المتزامنة باستجاباتها المقابلة [SWS_Rte_02649]. وتُنفذ تغييرات الأوضاع عبر Rte_Switch تسلسلًا حتميًا من عشر مراحل، حيث تضمن Distributed Shared Mode Queues الترتيب الصارم لمعالجة آلات الأوضاع المتعددة [SWS_Rte_02631]، [SWS_Rte_02665]، [SWS_Rte_91102].

CalprmPointered cluster_single Single Pointered Method cluster_double Double Pointered Method refTabSingle <RteParameterRefTab> (مصفوفة من مؤشرات void في RAM) grpSingle1 ParameterElementGroup 1 (RAM / PIM / Flash) refTabSingle->grpSingle1 grpSingle2 ParameterElementGroup 2 (RAM / PIM / Flash) refTabSingle->grpSingle2 baseRef مرجع أساسي Base reference (متغير مؤشر في RAM) refTabRom Calibration reference table (ROM / Flash) baseRef->refTabRom Initial refTabRam جدول مراجع المعايرة Calibration reference table (نسخة في RAM) baseRef->refTabRam بعد التبديل grpRom ParameterElementGroup (Flash-Originaldaten) refTabRom->grpRom grpRam ParameterElementGroup (Modifizierte RAM-Kopie) refTabRam->grpRam

مخطط السياق: هياكل العنونة والتوجيه غير المباشر لطرق المعايرة Single Pointered وDouble Pointered. المصادر: [SWS_Rte_03913]، [SWS_Rte_03914]، [SWS_Rte_03947]، AUTOSAR_SWS_RTE ص. 180، AUTOSAR_SWS_RTE ص. 181.

للمعايرة عبر الإنترنت (Online Calibration)، تُنشئ RTE هياكل مؤشرات وفقًا لمبدأ Single Pointered أو Double Pointered، مما يتيح تعديل مجموعات المعلمات في RAM دون الحاجة إلى محاكاة عتادية [SWS_Rte_03913]، [SWS_Rte_03914]. ويتم الإبلاغ عن التجاوزات غير الصحيحة للنطاق أو انتهاء المهلة عبر Std_ReturnType إلى المكون المستدعي، بينما تمنع عمليات التحقق من حماية الذاكرة عند حدود الأقسام التلاعب غير المصرح به [SWS_Rte_01034]، [SWS_Rte_03845]، [SWS_Rte_02752].

دور RTE وحدود النظام الخاصة بها في Classic Platform

تُشكّل Runtime Environment (RTE) العمود الفقري الوظيفي لبنية AUTOSAR Classic، حيث تفصل مكونات البرمجيات (SW-Cs) تمامًا عن عتاد الحاسوب الأساسي وكذلك عن وحدات Basic Software (BSW) القريبة من العتاد (SWS_RTE ص. 100). يُنشئ مولد RTE واجهة مخصصة لكل ECU، حيث يحل كافة علاقات الاتصال — محليًا على وحدة تحكم دقيقة (Intra-ECU) وكذلك عبر الشبكة من خلال نواقل الاتصال (Inter-ECU) — عبر استدعاءات API موحدة مثل Rte_Read أو Rte_Write أو Rte_Call [SWS_Rte_01091]، [SWS_Rte_01102]. ومن خلال توفير عنصر BswModuleDescription مُولَّد بالإضافة إلى أوصاف BswInternalBehavior المرتبطة به، تتكامل RTE كعنصر أساسي في مخطط التكوين والتحزيم لـ AUTOSAR [SWS_Rte_05165]، [SWS_Rte_05166].

تتم معالجة مثيلات التعدد لنفس مكون البرمجيات بواسطة RTE حصريًا عبر Runnable Entities قابلة لإعادة الدخول وتعتمد مشاركة الشيفرة (Code-Sharing)؛ ولا يتم دعم تكرار الشيفرة صراحةً [SWS_Rte_03015]، [SWS_Rte_02002]. ولكل مثيل، يتم تمرير معرف مثيل فريد في شيفرة C أو عنونته عبر Component Data Structure (CDS)، مما يضمن تنفيذ المثيلات بالتوازي ضمن سياقات مهام مشتركة دون حدوث تلف متبادل للبيانات (SWS_RTE ص. 126، SWS_RTE ص. 804). بالإضافة إلى SW-Cs التطبيقية، تغطي RTE عبر Basic Software Scheduler (SchM) الجدولة الدورية وإدارة الأنماط لكافة وحدات BSW [SWS_Rte_08060]، [SWS_Rte_07273].

دورة الحياة وتنسيق بدء التشغيل لـ SchM وRTE

يتطلب بدء تشغيل النظام تسلسلًا مضبوطًا بصرامة بين مجدول BSW (SchM) وRTE الموجهة للتطبيقات (SWS_RTE ص. 459). وقبل تهيئة SchM، تتوفر حصريًا دالتا القفل SchM_Enter وSchM_Exit لأسباب تتعلق بسلامة النظام. يستدعي EcuStateManager أولاً الدالة SchM_Init، والتي يتم من خلالها تهيئة هياكل البيانات الداخلية وآلات الأنماط وكذلك بدء BswSchedulableEntities ذات Background-Events [SWS_Rte_08060]، [SWS_Rte_07584]. وقبل استدعاء BswM_Init، يجب استدعاء SchM_Start [SWS_Rte_07273]، [SWS_Rte_04548]. بعد ذلك، يتم تمكين تنشيط عمليات BSW الدورية (BswTimingEvents) عبر SchM_StartTiming [SWS_Rte_04548]، [SWS_Rte_04551]، [SWS_Rte_07574].

تنسيق بدء التشغيل وإيقاف التشغيل بين EcuM وSchM وRTEEcuMSchMBswMRTEUse Case: BSW-Scheduler HochlaufphaseSchM_Init(ConfigPtr)Interne Datenstrukturen & initial ModeMachines initialisierenSchM_Start()BswM_Init(ConfigPtr)SchM_StartTiming()BswTimingEvents periodisch aktivierenUse Case: RTE ApplikationsstartRte_Start()Applikations-Runnables & ModeTransitions freigebenRTE_E_OKUse Case: Herunterfahren (Shutdown)Rte_Stop()Runnables stoppen, Kommunikation ignorierenRTE_E_OKSchM_Deinit()Rte_Rips_SchM_Deinit() & Ressourcen freigeben

مخطط التسلسل: التنسيق الزمني لبدء التشغيل وإيقاف التشغيل بين EcuM وSchM وRTE. المصادر: [SWS_Rte_08060]، [SWS_Rte_07273]، [SWS_Rte_04548]، [SWS_Rte_03015]، [SWS_Rte_01262]، [SWS_Rte_04551]، [SWS_Rte_89019].

فقط عندما تكون الخدمات الأساسية المطلوبة قيد التشغيل، يقوم EcuStateManager بتنشيط تنفيذ SW-Cs التطبيقية باستخدام Rte_Start ويبدأ عمليات انتقال الأنماط لـ On-Entry-Runnables غير المجمعة [SWS_Rte_03015]، [SWS_Rte_06766]. وإذا فشل تخصيص الموارد عند Rte_Start، تُرجع الدالة رمز الخطأ RTE_E_LIMIT [SWS_Rte_01262]. عند إيقاف تشغيل ECU، يُنهي Rte_Stop أولاً تنفيذ التطبيق ويتجاهل من هذه اللحظة الطلبات والبيانات الواردة [SWS_Rte_02538]، [SWS_Rte_02535]، [SWS_Rte_02536]. وفقط بعد الإنهاء الكامل لـ Rte_Stop، يُسمح باستدعاء SchM_Deinit، الذي يحرر جميع موارد النظام الخاصة بالمجدول ويبدأ عمليات التنظيف الخاصة بالمكونات الإضافية عبر Rte_Rips_SchM_Deinit [SWS_Rte_04551]، [SWS_Rte_07277]، [SWS_Rte_89019].

أنماط الاتصال: Sender-Receiver وClient-Server

تميز RTE في نموذج Sender-Receiver بشكل أساسي بين دلالات البيانات ودلالات الأحداث (SWS_RTE ص. 286). في حالة دلالات البيانات (swImplPolicy != queued)، يتم الاحتفاظ بآخر قيمة مكتوبة في المخزن المؤقت ويتم استهلاكها صراحةً باستخدام Rte_Read أو ضمنيًا عبر Rte_IRead [SWS_Rte_01091]، [SWS_Rte_06000]. وفي القراءة الضمنية، تضمن RTE نسخة متسقة من قيمة البيانات طوال مدة تنفيذ Runnable Entity بأكملها [SWS_Rte_06001]. وقبل الاستقبال الأول، توفر RTE قيمة initValue المكونة، بحيث لا تتم معالجة حالات ذاكرة غير مهيأة [SWS_Rte_06009]، [SWS_Rte_06010].

اتصال Sender-Receiver بين وحدات ECU مع DataSemanticsSender-SWCSender-RTECOM-StackEmpfaenger-RTEEmpfaenger-SWCUse Case: Initialisierungsphaseملء المخزن المؤقت بالقيمة initValue مسبقًاRte_Read_p_o(&data)data = initValue (RTE_E_OK)Use Case: نقل البياناتRte_Write_p_o(data)Com_SendSignal(signalId, &data)RTE_E_OKSignalempfang via Bus & Rte_COMCbkتحديث المخزن المؤقت الداخلي للإشارةRte_Read_p_o(&data)data = empfangener Wert (RTE_E_OK)

مخطط تسلسلي: اتصال Sender-Receiver بين وحدات ECU (Inter-ECU) للإشارات غير المخزنة مؤقتًا مع تأمين القيمة الأولية. المصادر: [SWS_Rte_01091]، [SWS_Rte_06009]، [SWS_Rte_01289]، AUTOSAR_SWS_RTE ص. 148.

على النقيض من ذلك، تعالج دلالات الأحداث (swImplPolicy = queued) تسلسلات البيانات دون فقدان عبر هياكل مخازن مؤقتة FIFO، والتي يتم ملؤها بواسطة Rte_Send وخفضها بواسطة Rte_Receive [SWS_Rte_01072]، [SWS_Rte_01092]، [SWS_Rte_02521]. وإذا تم الوصول إلى حد المخزن المؤقت المحدد عبر RteQueuedReceiverQueueLength، تتجاهل RTE البيانات الواردة حديثًا وتضبط راية خطأ مقابلة [SWS_Rte_08940]، [SWS_Rte_02523]. ولكميات البيانات الكبيرة، تستخدم RTE مسارات نقل متخصصة مثل LdCom أو Large-Data-COM مع تأمين مخزن الإشارة المؤقت (Signalbuffer-Locking) [SWS_Rte_01376]، [SWS_Rte_01379].

يدعم اتصال Client-Server الاستدعاءات المتزامنة (Rte_Call) وكذلك التفاعلات غير المتزامنة مع استعلام منفصل عن النتائج عبر Rte_Result [SWS_Rte_01102]، [SWS_Rte_01111]. في جانب الخادم، تخزن RTE الطلبات الواردة مؤقتًا في قائمة انتظار FIFO، ما لم يتم تكوين استدعاء مباشر، بينما يتم تخزين الاستجابة مؤقتًا في جانب العميل في مخزن مؤقت بطول 1 [SWS_Rte_02527]، [SWS_Rte_02528]. في الاستدعاءات عبر الأقسام أو عبر وحدات ECU، يضمن مقبض المعاملة (Transaction Handle) المكون من جزأين، والمؤلف من معرف العميل (Client Identifier) وعداد التسلسل (Sequence Counter)، المطابقة الدقيقة لحزم الاستجابة مع الطلب الأصلي [SWS_Rte_02649]، [SWS_Rte_08711].

إدارة الأنماط، انتقالات الحالة وDistributed Shared Mode Queues

تتيح إدارة الأنماط التبديل المنسق لحالات التشغيل عبر آلات أنماط مخصصة (ModeMachineInstances)، والتي يتم التحكم فيها عبر Rte_Switch [SWS_Rte_02631]. يمر كل انتقال للحالة بتسلسل حتمي مكون من عشر خطوات فردية، يشمل من بين أمور أخرى تنشيط أقفال الأنماط، والانتظار المنضبط لإنهاء Runnables المعنية، وكذلك التنفيذ التسلسلي لكيانات OnExit وOnTransition وOnEntry [SWS_Rte_02665]. وفقط بعد الاكتمال التام لجميع المراحل، يتم إطلاق حدث الإقرار ModeSwitchedAckEvent، والذي يمكن الاستعلام عن حالته عبر Rte_SwitchAck [SWS_Rte_02679]، [SWS_Rte_02725]، [SWS_Rte_02758].

ModeTransition s1 1. تفعيل تعطيل الأوضاع Mode Disablings s2 2. انتظار إنهاء كينونات ExecutableEntities المعنية s1->s2 s3 3. تنفيذ كينونات ExecutableEntities عند الخروج OnExit s2->s3 s4 4. انتظار انتهاء جميع كينونات OnExit Entities s3->s4 s5 5. تنفيذ كينونات ExecutableEntities أثناء الانتقال OnTransition s4->s5 s6 6. انتظار انتهاء جميع كينونات OnTransition Entities s5->s6 s7 7. تنفيذ كينونات ExecutableEntities عند الدخول OnEntry s6->s7 s8 8. انتظار انتهاء جميع كينونات OnEntry Entities s7->s8 s9 9. تبديل تعطيل الأوضاع Mode Disablings s8->s9 s10 10. إطلاق أحداث ModeSwitchAckEvents s9->s10

مخطط نشاط: تسلسل حتمي من عشر مراحل لانتقال نمط داخل ModeMachineInstance. المصادر: [SWS_Rte_02665]، [SWS_Rte_02679]، EXP_ModeManagementGuide ص. 16.

لفرض ترتيب صارم لتغييرات الأنماط في حالة وجود عدة آلات أنماط — على سبيل المثال بين حالة الإشعال وحالة المحرك — توفر RTE قوائم انتظار Distributed Shared Mode Queues (DSMQ) (SWS_RTE ص. 442). ويتم الإشارة إلى حالة عمليات الإدراج والإخراج في قوائم الانتظار هذه عبر النوع Rte_DsmqStatusType [SWS_Rte_91102]. وبالنسبة لانتقالات مجموعات البرمجيات (Software Cluster)، يمثل Rte_Rips_SwitchNotificationStatusType حالتي الإدراج في قائمة الانتظار والإخراج منها (Enqueue وDequeue) المقابلتين [SWS_Rte_91113]. تفسير: في مجدول BSW، يُرجح اختيار تكوين نقاط المزامنة قبل Rte_Start، لتأسيس حالات نظام حتمية قبل تمكين المهام الدورية [SWS_Rte_06767]. سؤال Q-d194460a04c885f3 (مفتوح)

المعايرة ومحاكاة البيانات وطوبولوجيا الذاكرة

تحدد RTE مواضع معلمات المعايرة مركزيًا في الذاكرة، نظرًا لأن مولد RTE فقط هو من يعرف التوزيع الإجمالي لجميع المكونات والأقسام على ECU [SWS_Rte_03961]. ولتمكين المعايرة عبر الإنترنت دون عتاد محاكاة متخصص، تدعم RTE طرق المحاكاة البرمجية مثل Single Pointered Method وDouble Pointered Method (SWS_RTE ص. 236، SWS_RTE ص. 237). في طريقة Single Pointered Method، يوجد في RAM جدول مؤشرات (<RteParameterRefTab>) يتكون من مدخلات void*، والتي تشير إلى ParameterElementGroups [SWS_Rte_03913]، [SWS_Rte_03947].

CalprmPointered cluster_single Single Pointered Method cluster_double Double Pointered Method refTabSingle <RteParameterRefTab> (مصفوفة من مؤشرات void في RAM) grpSingle1 ParameterElementGroup 1 (RAM / PIM / Flash) refTabSingle->grpSingle1 grpSingle2 ParameterElementGroup 2 (RAM / PIM / Flash) refTabSingle->grpSingle2 baseRef مرجع أساسي Base reference (متغير مؤشر في RAM) refTabRom Calibration reference table (ROM / Flash) baseRef->refTabRom Initial refTabRam جدول مراجع المعايرة Calibration reference table (نسخة في RAM) baseRef->refTabRam بعد التبديل grpRom ParameterElementGroup (Flash-Originaldaten) refTabRom->grpRom grpRam ParameterElementGroup (Modifizierte RAM-Kopie) refTabRam->grpRam

مخطط السياق: هياكل العنونة والتوجيه غير المباشر لطرق المعايرة Single Pointered وDouble Pointered. المصادر: [SWS_Rte_03913]، [SWS_Rte_03914]، [SWS_Rte_03947]، AUTOSAR_SWS_RTE ص. 180، AUTOSAR_SWS_RTE ص. 181.

في المقابل، تستخدم Double Pointered Method إسنادًا غير مباشر ثنائي المراحل: يشير جدول مرجعي مخزن في ROM/Flash إلى مجموعات المعلمات، بينما يشير مؤشر أساسي قابل للتعديل (Base reference) في RAM مبدئيًا إلى جدول Flash هذا، ويمكن تحويله عند إجراء المعايرة ليشير إلى نسخة RAM معدلة [SWS_Rte_03914]. ويتم هنا فصل ParameterDataPrototypes إلى مجموعات متمايزة استنادًا إلى swAddrMethod الخاصة بها [SWS_Rte_03908]. يُصدّر مولد RTE كافة معلومات الهيكل والمؤشرات في الحاوية McSupportData عبر McSwEmulationMethodSupport، لمنح أدوات المعايرة (مثل INCA أو CANape) وصولاً دقيقًا إلى عنونة A2L [SWS_Rte_05118]، [SWS_Rte_05137]، [SWS_Rte_05138]. تفسير: بالنسبة لوحدات ECU الخاصة بالسلامة عالية التكامل، يُرجح تفضيل Double Pointered Method، نظرًا لأن جدول المؤشرات نفسه يظل أساسًا في ذاكرة Flash المحمية ولا يحجز مخازن RAM مؤقتة إلا أثناء المعايرة النشطة. سؤال Q-fb532d79c1eb906d (مفتوح)

التقسيم وحماية الذاكرة والاتصال بين تطبيقات نظام التشغيل (Inter-OS-Application)

في البنى متعددة الأنوية والمحمية الذاكرة، تربط RTE مكونات البرمجيات عبر حدود الأقسام (OS-Applications) باستخدام Inter-OS-Application Communication (IOC) (SWS_RTE ص. 372). وتستبدل RTE هنا مخازن الإشارات المؤقتة الداخلية بمخازن IOC مؤقتة قريبة من العتاد ودوال حماية مُولَّدة. وللوصول إلى المناطق الحصرية (ExclusiveAreas)، يختار مسؤول التكامل معلمات تكوين خاصة بالآلية (RteExclusiveAreaImplMechanism)، تتراوح من عمليات حظر المقاطعات إلى أقفال OS-Spinlocks للوصول عبر الأنوية (SWS_RTE ص. 203).

إذا مرر قسم غير مختبر أو غير موثوق به (Non-Trusted) معلمات مؤشرات إلى قسم BSW أو SWC موثوق به، تُجري RTE إلزاميًا عمليات تحقق من العناوين ونطاقات الذاكرة [SWS_Rte_02752]، [SWS_Rte_02753]. ولا يتم توجيه المؤشر إلا إذا كان كائن الذاكرة المشار إليه بأكمله ملكًا للقسم المستدعي، مما يمنع بفعالية انتهاكات نطاق الحماية والكتابة غير المصرح بها فوق نطاقات الذاكرة الأخرى (SWS_RTE ص. 378).

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

تفصل معالجة الأخطاء في RTE بصرامة بين أخطاء البنية التحتية وأخطاء التطبيق (SWS_RTE ص. 579). ويتم إبلاغ المستدعي بجميع حالات الخطأ مباشرة عبر نوع الإرجاع Std_ReturnType [SWS_Rte_01034]. وتشمل أخطاء البنية التحتية المباشرة، من بين أمور أخرى، RTE_E_TIMEOUT (129)، RTE_E_LIMIT (130)، RTE_E_NO_DATA (131)، RTE_E_UNCONNECTED (134)، RTE_E_IN_EXCLUSIVE_AREA (135) وكذلك RTE_E_SEG_FAULT (136) (SWS_RTE ص. 586).

فحص النطاق ونشر الأخطاء عند Rte_ReadCOM-StackRTE-EmpfangRTE-PufferApplikations-SWCNeuer Signalwert empfangenإجراء فحص النطاق لـ DataSemanticsaltالقيمة ضمن النطاق المحددPufferwert aktualisieren, Status = RTE_E_OKالقيمة خارج النطاق (Out of Range)Pufferstatus = RTE_E_OUT_OF_RANGERte_Read_p_o(&data)القيمة المعادة: RTE_E_OUT_OF_RANGE

مخطط تسلسلي: اكتشاف أخطاء نطاق القيم ونشرها عبر Rte_Read. المصادر: [SWS_Rte_01091]، [SWS_Rte_01371]، [SWS_Rte_03845]، AUTOSAR_CP_SWS_RTE ص. 409.

عند تفعيل التحقق من صحة البيانات (DataSemantics range check)، تتحقق RTE من قيم الإشارات الواردة مقابل نطاقات القيم المحددة [SWS_Rte_01371]. وإذا كانت القيمة المستلمة خارج الحدود، تُرجع واجهة برمجة التطبيقات للقراءة (Lese-API) RTE_E_OUT_OF_RANGE [SWS_Rte_03845]، [SWS_Rte_03846]. وبالنسبة للإشارات ذات سياسة الإبطال (Invalidation-Policy)، تستبدل RTE القيمة عند replace بـ initValue، أو تحتفظ بالقيمة السابقة عند keep وتضبط حدث خطأ [SWS_Rte_05030]، [SWS_Rte_05049]. وعند مراقبة انتهاء المهلة عبر aliveTimeout، تسجل RTE عدم الحضور عبر Rte_COMCbkRxTOut وتنشر RTE_E_TIMEOUT إلى SW-Cs المنتظرة [SWS_Rte_08061]، [SWS_Rte_03763].

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

يستند التصميم الفني الدقيق لـ RTE والمجدول إلى المتطلبات الأساسية التالية لـ Payload:

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

AUTOSAR RTE

The RTE realizes the Virtual Functional Bus (VFB) on a specific ECU, providing communication between Software Components and basic software.

Funktionen — Übersicht

Typen — Übersicht

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.

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

تُخصص الدالة 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.

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

يتم توليد الدالة 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.

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

تُستخدم الدالة 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.

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

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

تخصص الدالة 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().

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

الاستخدام

تُستخدم الدالة 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.

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

الاستخدام

تمتلك الدالة 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.

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

الاستخدام ونطاق الوظائف

تُستخدم الدالة 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)

دالة <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".

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

تتولى دالة المعالج <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.

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

تُستخدم الدالة 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

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

يعتمد نوع البيانات 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

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

يعتمد نوع البيانات 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

خريطة المواضيع

عرض التفاصيل

اختر عنصرًا من المخطط.

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

Rte_Rips_SchM_Deinit deinitializes those RTE Implementation Plug-In parts which are relevant for the SchM related operations.

void Rte_Rips_SchM_Deinit (void);
SchM_Deinit دالة

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.

void SchM_Deinit (void);

Returns the version information of the Basic Software Scheduler.

void SchM_GetVersionInfo (Std_VersionInfoType* versioninfo);
SchM_Init دالة

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.

void SchM_Init (const SchM_ConfigType* ConfigPtr);

الخدمات

Rte_Start دالة

Rte_Start is intended to allocate and initialize system resources and communication resources used by the RTE.

Std_ReturnType Rte_Start (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.

void Rte_StartTiming (void);
Rte_Stop دالة

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.

Std_ReturnType Rte_Stop (void);
SchM_Start دالة

Basic Software Scheduler initialized. Shall be called before BswM_Init().

void SchM_Start (void);

Start periodical events for BSW/SWCs. SchM_Init() has to be called before.

void SchM_StartTiming (void);

دوال Callout والواجهات المتوقعة

Performs invocation of server runnables, hard error runnables, ASCR runnables and triggered runnables via a transformer".

void <name of the Invocation Handler> (void);

الأنواع

Status of the enqueue operation on a distributed shared mode queue

Status of the en- and dequeue operation on a mode queue Tags: atp.Status=draft

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