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 सॉफ़्टवेयर घटकों को आपस में तथा बेसिक सॉफ़्टवेयर मॉड्यूल के साथ जोड़ती है और Basic Software Scheduler (SchM) के माध्यम से Classic Platform पर नियतात्मक (deterministic) शेड्यूलिंग को नियंत्रित करती है (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 हार्डवेयर से अलग (decouple) करती है और Basic Software Scheduler (SchM) के साथ मिलकर सभी एप्लिकेशन और बेसिक सॉफ़्टवेयर प्रक्रियाओं के निष्पादन का समन्वय करती है (SWS_RTE पृ. 100)। नियंत्रित स्टार्टअप EcuStateManager के माध्यम से चरणों में होता है: प्रारंभ में SchM_Init शेड्यूलर संरचनाओं को प्रारंभ करता है, इसके बाद BswM_Init को कॉल करने से पहले SchM_Start और आवधिक BSW घटनाओं को सक्षम करने के लिए SchM_StartTiming आता है [SWS_Rte_08060], [SWS_Rte_07273], [SWS_Rte_04548]। एप्लिकेशन SW-Cs को बाद में Rte_Start के माध्यम से प्रारंभ किया जाता है और शटडाउन के समय SchM_Deinit के माध्यम से वि-प्रारंभीकरण (deinitialization) से पहले Rte_Stop द्वारा रोका जाता है [SWS_Rte_03015], [SWS_Rte_01262], [SWS_Rte_04551]।

EcuM, SchM और RTE के बीच स्टार्टअप और शटडाउन समन्वयEcuMSchMBswMRTEUse 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]।

संचार सेंडर-रिसीवर और क्लाइंट-सर्वर पैटर्न को इंट्रा- तथा इंटर-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> (RAM में void पॉइंटर्स की ऐरे) 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

संदर्भ आरेख (Context diagram): Single Pointered और Double Pointered कैलिब्रेशन विधियों की एड्रेसिंग और इनडायरेक्शन संरचनाएँ। स्रोत: [SWS_Rte_03913], [SWS_Rte_03914], [SWS_Rte_03947], AUTOSAR_SWS_RTE पृ. 180, AUTOSAR_SWS_RTE पृ. 181।

ऑनलाइन कैलिब्रेशन के लिए, RTE Single Pointered या Double Pointered सिद्धांत के अनुसार पॉइंटर संरचनाएँ उत्पन्न करती है, जिससे पैरामीटर समूहों को हार्डवेयर इम्यूलेशन के बिना RAM में संशोधित किया जा सकता है [SWS_Rte_03913], [SWS_Rte_03914]। त्रुटिपूर्ण सीमा उल्लंघन या टाइमआउट Std_ReturnType के माध्यम से कॉलिंग घटक को सूचित किए जाते हैं, जबकि पार्टिशन सीमाओं पर मेमोरी सुरक्षा जाँचें अनधिकृत हेरफेर को रोकती हैं [SWS_Rte_01034], [SWS_Rte_03845], [SWS_Rte_02752]।

Classic Platform में RTE की भूमिका और सिस्टम सीमाएँ

Runtime Environment (RTE) AUTOSAR Classic आर्किटेक्चर की कार्यात्मक रीढ़ बनाती है, क्योंकि यह सॉफ़्टवेयर घटकों (SW-Cs) को अंतर्निहित कंप्यूटर हार्डवेयर और हार्डवेयर-निकटवर्ती बेसिक सॉफ़्टवेयर मॉड्यूल (BSW) से पूरी तरह से अलग करती है (SWS_RTE पृ. 100)। RTE जनरेटर प्रत्येक ECU के लिए एक अनुकूलित इंटरफ़ेस तैयार करता है, जो सभी संचार संबंधों को — स्थानीय रूप से माइक्रोकंट्रोलर पर (Intra-ECU) और नेटवर्क-व्यापी संचार बसों के माध्यम से (Inter-ECU) दोनों — Rte_Read, Rte_Write या Rte_Call जैसे एकीकृत API कॉल्स के माध्यम से हल करता है [SWS_Rte_01091], [SWS_Rte_01102]। जनरेट किए गए BswModuleDescription तत्व और संबंधित BswInternalBehavior विवरणों के प्रावधान के माध्यम से, RTE AUTOSAR की कॉन्फ़िगरेशन और पैकेजिंग योजना में एक अभिन्न अंग के रूप में एकीकृत होती है [SWS_Rte_05165], [SWS_Rte_05166]।

एक ही सॉफ्टवेयर घटक के मल्टीपल इंस्टैंशिएशन को RTE द्वारा विशेष रूप से कोड-शेयरिंग रीएंट्रेंट Runnable Entities के माध्यम से हल किया जाता है; इसमें कोड-डुप्लिकेशन स्पष्ट रूप से समर्थित नहीं है [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-Scheduler (SchM) और एप्लिकेशन-उन्मुख RTE (SWS_RTE पृ. 459) के बीच एक कड़ाई से विनियमित क्रम की आवश्यकता होती है। SchM के इनिशियलाइज़ होने से पहले, सिस्टम सुरक्षा कारणों से केवल लॉकिंग फ़ंक्शन SchM_Enter और SchM_Exit उपलब्ध होते हैं। EcuStateManager सबसे पहले फ़ंक्शन SchM_Init को कॉल करता है, जिसके द्वारा आंतरिक डेटा संरचनाएं और मोड मशीनें इनिशियलाइज़ होती हैं तथा बैकग्राउंड-इवेंट्स के साथ BswSchedulableEntities शुरू की जाती हैं [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 और RTE के बीच स्टार्टअप और शटडाउन समन्वयEcuMSchMBswMRTEUse 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 Rte_Start के साथ एप्लिकेशन SW-Cs के निष्पादन को सक्रिय करता है और अनबंडल्ड 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]।

संचार पैटर्न: प्रेषक-रिसीवर और क्लाइंट-सर्वर

RTE सेंडर-रिसीवर प्रतिमान में डेटा और इवेंट सिमेंटिक्स (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]।

DataSemantics के साथ इंटर-ECU प्रेषक-प्राप्तकर्ता संचारSender-SWCSender-RTECOM-StackEmpfaenger-RTEEmpfaenger-SWCUse Case: InitialisierungsphaseinitValue के साथ बफ़र को पूर्व-आबाद करें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)

अनुक्रम आरेख: प्रारंभिक मान सुरक्षा के साथ अनबफ़र्ड सिग्नल के लिए इंटर-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 जैसे विशेष परिवहन मार्गों का उपयोग करता है [SWS_Rte_01376], [SWS_Rte_01379]।

क्लाइंट-सर्वर संचार सिंक्रोनस कॉल (Rte_Call) के साथ-साथ Rte_Result के माध्यम से अलग परिणाम क्वेरी के साथ एसिंक्रोनस इंटरैक्शन का समर्थन करता है [SWS_Rte_01102], [SWS_Rte_01111]। सर्वर पक्ष पर, यदि कोई सीधा कॉल कॉन्फ़िगर नहीं किया गया है, तो RTE आने वाले अनुरोधों को FIFO कतार में बफ़र करता है, जबकि क्लाइंट पक्ष पर प्रतिक्रिया लंबाई 1 के बफ़र में अस्थायी रूप से संग्रहीत की जाती है [SWS_Rte_02527], [SWS_Rte_02528]। क्रॉस-पार्टीशन या क्रॉस-ECU कॉल के मामले में, क्लाइंट पहचानकर्ता और अनुक्रम काउंटर से मिलकर बना एक दो-भागों वाला Transaction Handle मूल अनुरोध के साथ प्रतिक्रिया पैकेट का सटीक असाइनमेंट सुनिश्चित करता है [SWS_Rte_02649], [SWS_Rte_08711]।

मोड प्रबंधन, स्थिति संक्रमण और Distributed Shared Mode Queues

मोड प्रबंधन समर्पित मोड मशीनों (ModeMachineInstances) के माध्यम से ऑपरेटिंग स्थितियों के समन्वित स्विचिंग को सक्षम बनाता है, जिन्हें Rte_Switch के माध्यम से नियंत्रित किया जाता है [SWS_Rte_02631]। प्रत्येक स्थिति संक्रमण दस अलग-अलग चरणों के एक नियतात्मक अनुक्रम से गुजरता है, जिसमें अन्य बातों के अलावा मोड लॉक्स को सक्रिय करना, प्रभावित रननेबल्स के पूरा होने का नियंत्रित रूप से प्रतीक्षा करना, साथ ही OnExit-, OnTransition- और OnEntry-Entities का क्रमिक निष्पादन शामिल है [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. OnExit ExecutableEntities का निष्पादन s2->s3 s4 4. सभी OnExit Entities के समापन की प्रतीक्षा s3->s4 s5 5. OnTransition ExecutableEntities का निष्पादन s4->s5 s6 6. सभी OnTransition Entities के समापन की प्रतीक्षा s5->s6 s7 7. OnEntry ExecutableEntities का निष्पादन 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]। सॉफ्टवेयर क्लस्टर संक्रमणों के लिए, Rte_Rips_SwitchNotificationStatusType संबंधित एन्क्यू और डीक्यू स्थितियों को मैप करता है [SWS_Rte_91113]। व्याख्या: BSW-Scheduler के साथ, चक्रीय कार्यों को सक्षम करने से पहले नियतात्मक सिस्टम स्थितियों को स्थापित करने के लिए Rte_Start से पहले सिंक्रोनाइज़ेशन बिंदुओं का कॉन्फ़िगरेशन चुना जा सकता है [SWS_Rte_06767]। प्रश्न Q-d194460a04c885f3 (खुला)

अंशांकन, डेटा अनुकरण और मेमोरी टोपोलॉजी

अंशांकन पैरामीटर RTE द्वारा मेमोरी में केंद्रीय रूप से रखे जाते हैं, क्योंकि केवल RTE जनरेटर ही ECU पर सभी घटकों और विभाजनों के समग्र आवंटन को जानता है [SWS_Rte_03961]। विशेष अनुकरण हार्डवेयर के बिना ऑनलाइन अंशांकन को सक्षम करने के लिए, RTE सिंगल पॉइंटर्ड मेथड और डबल पॉइंटर्ड मेथड (SWS_RTE पृ. 236, SWS_RTE पृ. 237) जैसी सॉफ्टवेयर इम्यूलेशन विधियों का समर्थन करता है। सिंगल पॉइंटर्ड मेथड में, RAM में void* प्रविष्टियों की एक पॉइंटर तालिका (<RteParameterRefTab>) होती है, जो ParameterElementGroups को संदर्भित करती है [SWS_Rte_03913], [SWS_Rte_03947]।

CalprmPointered cluster_single Single Pointered Method cluster_double Double Pointered Method refTabSingle <RteParameterRefTab> (RAM में void पॉइंटर्स की ऐरे) 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

संदर्भ आरेख (Context diagram): Single Pointered और Double Pointered कैलिब्रेशन विधियों की एड्रेसिंग और इनडायरेक्शन संरचनाएँ। स्रोत: [SWS_Rte_03913], [SWS_Rte_03914], [SWS_Rte_03947], AUTOSAR_SWS_RTE पृ. 180, AUTOSAR_SWS_RTE पृ. 181।

डबल पॉइंटर्ड मेथड इसके विपरीत दो-चरणीय अप्रत्यक्षता का उपयोग करता है: ROM/Flash में संग्रहीत एक संदर्भ तालिका पैरामीटर समूहों को संदर्भित करती है, जबकि RAM में एक परिवर्तनीय आधार पॉइंटर (Base reference) शुरू में इस 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]। व्याख्या: अत्यधिक एकीकृत सुरक्षा नियंत्रण इकाइयों के लिए, डबल पॉइंटर्ड मेथड को प्राथमिकता दी जा सकती है, क्योंकि पॉइंटर तालिका स्वयं मुख्य रूप से संरक्षित Flash में रहती है और केवल सक्रिय अंशांकन के दौरान ही RAM बफ़र बांधती है। प्रश्न Q-fb532d79c1eb906d (खुला)

विभाजन, मेमोरी सुरक्षा और इंटर-OS-एप्लिकेशन संचार

मल्टी-कोर और मेमोरी-संरक्षित आर्किटेक्चर में, RTE पार्टीशन सीमाओं (OS-Applications) के पार इंटर-OS-एप्लिकेशन कम्युनिकेशन (IOC) (SWS_RTE पृ. 372) के माध्यम से सॉफ्टवेयर घटकों को जोड़ता है। RTE आंतरिक सिग्नल बफ़र्स को हार्डवेयर-निकट IOC बफ़र्स और जनरेट किए गए सुरक्षा फ़ंक्शनों से बदल देता है। अनन्य क्षेत्रों (ExclusiveAreas) तक पहुँच के लिए, इंटीग्रेटर तंत्र-विशिष्ट कॉन्फ़िगरेशन पैरामीटर (RteExclusiveAreaImplMechanism) चुनता है, जो क्रॉस-कोर एक्सेस के लिए इंटरप्ट लॉक्स से लेकर OS-स्पिन लॉक्स तक होते हैं (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_Read पर रेंज जांच और त्रुटि प्रसारCOM-StackRTE-EmpfangRTE-PufferApplikations-SWCNeuer Signalwert empfangenDataSemantics रेंज जांच निष्पादित करेंaltमान परिभाषित सीमा के भीतर है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] के विरुद्ध आने वाले सिग्नल मानों की जाँच करता है। यदि प्राप्त मान सीमाओं से बाहर है, तो रीड API RTE_E_OUT_OF_RANGE [SWS_Rte_03845], [SWS_Rte_03846] लौटाता है। अमान्यता नीति वाले सिग्नलों के लिए, RTE replace पर मान को initValue से बदल देता है या keep पर पिछले मान को बनाए रखता है और एक त्रुटि घटना सेट करता है [SWS_Rte_05030], [SWS_Rte_05049]। aliveTimeout के माध्यम से टाइमआउट निगरानी के मामले में, RTE Rte_COMCbkRxTOut के माध्यम से अनुपस्थिति दर्ज करता है और प्रतीक्षा कर रहे SW-Cs [SWS_Rte_08061], [SWS_Rte_03763] में RTE_E_TIMEOUT का प्रसार करता है।

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

RTE और शेड्यूलर का सटीक तकनीकी डिज़ाइन पेलोड की निम्नलिखित मुख्य आवश्यकताओं पर आधारित है:

यह मॉड्यूल गाइड R20-11 के लिए AUTOSAR विनिर्देश के आधार पर एक AI क्यूरेशन सहायक द्वारा बनाया गया था।

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]।

RTE द्वारा आवश्यक सभी बेसिक सॉफ़्टवेयर मॉड्यूल के इनिशियलाइज़ होने के बाद, प्रत्येक Core पर विश्वसनीय OS संदर्भ से EcuStateManager द्वारा केवल एक ही बार फ़ंक्शन को कॉल किया जा सकता है [SWS_Rte_CONSTR_09035]। कॉल प्रत्येक Core पर स्वतंत्र रूप से निष्पादित किया जाता है [SWS_Rte_07615] और इस Core को सौंपे गए सभी विभाजनों के लिए विभाजन-विशिष्ट स्टार्ट गतिविधियों को निष्पादित करता है [SWS_Rte_07616]।

प्रक्रिया के दौरान, RTE कॉन्फ़िगर की गई रणनीति के आधार पर RAM ब्लॉकों के लिए आवंटित चरों को इनिशियलाइज़ करता है [SWS_Rte_07632]। चर इनिशियलाइज़ेशन के बाद, लेकिन रनेबल्स के निष्पादन से पहले, RTE सभी शामिल RTE Implementation Plug-Ins के इनिशियलाइज़ेशन फ़ंक्शनों Rte_Rips_Rte_Start को कॉल करता है [SWS_Rte_80052]। इसके बाद, RTE InitEvent द्वारा ट्रिगर किए गए सभी रनेबल्स को एक बार सक्रिय करता है [SWS_Rte_06761] और प्रारंभिक मोड में संक्रमण शुरू करता है [SWS_Rte_06766]। यदि API Rte_StartTiming मौजूद नहीं है, तो Rte_Start उन रनेबल्स के सक्रियण को भी शुरू करता है जो TimingEvent [SWS_Rte_07575] या BackgroundEvent [SWS_Rte_07178] द्वारा ट्रिगर किए जाते हैं।

त्रुटि प्रबंधन के लिए, RTE या SchM सक्रिय RteDevErrorDetectUninit के साथ त्रुटि RTE_E_UNINIT (0x07) की रिपोर्ट करता है, यदि Rte_Start को SchM_Init से पहले कॉल किया जाता है [SWS_Rte_07683]। Rte_Start के निष्पादन से पहले, RTE के रनटाइम API को कॉल नहीं किया जाना चाहिए, अन्यथा यह 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]) और निष्पादित करने वाले Core पर RTE को अंतिम रूप देने का कार्य करता है ([SWS_Rte_01262])। ऐसा करते समय, इस Core पर RTE द्वारा आवंटित सभी सिस्टम और संचार संसाधन मुक्त हो जाते हैं ([SWS_Rte_01262])। सिंक्रोनस कॉल निश्चित रूप से सीमित रनटाइम के भीतर वापस आ जाता है ([SWS_Rte_02584])।

समग्र प्रणाली में, RTE द्वारा आवश्यक बेसिक सॉफ़्टवेयर मॉड्यूल बंद होने से पहले Rte_Stop को EcuStateManager द्वारा कॉल किया जाना चाहिए ([SWS_Rte_CONSTR_09038])। प्रक्रिया के दौरान, RTE सभी शामिल RTE Implementation Plug-Ins के स्टॉप फ़ंक्शनों Rte_Rips_Rte_Stop को कॉल करता है ([SWS_Rte_80053]), जिन्हें इन लाइफसाइकिल इंटरफ़ेस को प्रदान करना चाहिए ([SWS_Rte_70047])। Rte_Stop के पूर्ण समापन के बाद ही SchM_Deinit को निष्पादित करने की अनुमति है ([SWS_Rte_CONSTR_09056])।

किसी Core पर Rte_Stop के कॉल के बाद, वहां RTE द्वारा कोई RunnableEntity उदाहरण अब सक्रिय, शुरू या जारी नहीं किए जाते हैं ([SWS_Rte_02538])। यह Rte_GetMirror को अप्रभावित छोड़ता है जो कॉल करने योग्य बना रहता है, बशर्ते अंतर्निहित ऑपरेटिंग सिस्टम सक्रिय हो ([SWS_Rte_07350])।

त्रुटि के मामले में, फ़ंक्शन RTE_E_LIMIT लौटाता है यदि कोई आंतरिक सीमा पार हो गई है या किसी आवश्यक संसाधन का आवंटन विफल हो जाता है ([SWS_Rte_01262])। यदि RteDevErrorDetectUninit सक्रिय है, तो RTE त्रुटि RTE_E_UNINIT (0x07) की रिपोर्ट करता है यदि Rte_Stop के बाद अमान्य API को कॉल किया जाता है ([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 RTE इनिशियलाइज़ेशन पूरा होने के बाद RunnableEntitys के सक्रियण को सक्षम करने का कार्य करता है, जो TimingEvents या BackgroundEvents द्वारा ट्रिगर होते हैं ([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 तब जनरेट या प्रदान किया जाता है जब कम से कम एक Rte_Init API जनरेट होता है ([SWS_Rte_06755])।

यदि Rte_StartTiming को कॉल किया जाता है, तो यह तुरंत आवधिक और पृष्ठभूमि-आधारित सक्रियण शुरू करता है ([SWS_Rte_06759], [SWS_Rte_06760])। इसके विपरीत, यदि कॉन्फ़िगरेशन में API मौजूद नहीं है, तो इसके बजाय Rte_Start का कॉल ही TimingEvents और BackgroundEvents द्वारा ट्रिगर किए गए Runnables की रिलीज़ को संभालता है ([SWS_Rte_07178], [SWS_Rte_07575])। इस कॉल के लिए कोई विशिष्ट एरर कोड या रिटर्न मान परिभाषित नहीं हैं ([SWS_Rte_06754])।

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

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता 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 उन सिस्टम संसाधनों को आवंटित और इनिशियलाइज़ करता है, जो कॉलिंग Core पर RTE के Basic Software Scheduler (SchM) द्वारा उपयोग किए जाते हैं ([SWS_Rte_08060])। यह इंटरफ़ेस हमेशा जनरेट किया जाता है ([SWS_Rte_07271]) और इसका सिग्नेचर void SchM_Init(const SchM_ConfigType* ConfigPtr) है ([SWS_Rte_07270])। इसे सिंक्रोनस रूप से निष्पादित किया जाता है और इसे बिना किसी अनंत लूप में प्रवेश किए, अनिवार्य रूप से एक सीमित निष्पादन समय के भीतर वापस आना चाहिए ([SWS_Rte_07273])।

इनिशियलाइज़ेशन अनुक्रम के दौरान, SchM_Init निम्नलिखित चरण निष्पादित करता है:

  • यह Basic Software Scheduler से संबंधित प्रत्येक मोड मशीन इंस्टेंस के लिए इनिशियल मोड में ट्रांज़िशन आरंभ करता है ([SWS_Rte_07532])।
  • यह BswBackgroundEvent इवेंट्स द्वारा ट्रिगर होने वाले BswSchedulableEntity इंस्टेंसेस का एक्टिवेशन शुरू करता है ([SWS_Rte_07584])।
  • यह सभी शामिल RTE Implementation Plug-Ins के इनिशियलाइज़ेशन फ़ंक्शन्स Rte_Rips_SchM_Init को कॉल करता है ([SWS_Rte_80051])।

कॉल संदर्भ और अनुक्रम शर्तें

जैसे ही Basic Software Scheduler द्वारा आवश्यक BSW मॉड्यूल इनिशियलाइज़ हो जाते हैं ([SWS_Rte_CONSTR_09055]), SchM_Init को प्रत्येक Core पर EcuStateManager द्वारा केवल ठीक एक बार कॉल किया जा सकता है। Rte_Start जैसे बाद के APIs को केवल SchM_Init के पूर्ण समापन के बाद ही कॉल किया जा सकता है ([SWS_Rte_CONSTR_09036])।

त्रुटि प्रबंधन

यदि SchM_Init को पैरामीटर के रूप में एक NULL पॉइंटर के साथ कॉल किया जाता है, तो Basic Software Scheduler त्रुटि RTE_E_DET_ILLEGAL_VARIANT_CRITERION_VALUE (0x02) की रिपोर्ट करता है ([SWS_Rte_07684])। यदि Scheduler-APIs (जैसे SchM_Switch, SchM_Mode या SchM_Start) या Rte_Start को SchM_Init से पहले कॉल किया जाता है, तो RteDevErrorDetectUninit सक्षम होने पर त्रुटि RTE_E_UNINIT (0x07) की रिपोर्ट की जाती है ([SWS_Rte_07683])।

यह उपयोग निर्देश एक AI प्रणाली द्वारा 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 RTE मॉड्यूल में Basic Software Scheduler को चालू करने का काम करता है और इंटरफ़ेस निर्माण के दौरान हमेशा प्रदान किया जाता है [SWS_Rte_04547]। इसमें पैरामीटर रहित C-सिग्नेचर void SchM_Start(void) है [SWS_Rte_04546] और यह कोई रिटर्न मान नहीं देता है। निष्पादन के लिए अनिवार्य आवश्यकता यह है कि कॉल को एक सीमित रनटाइम के भीतर वापस आना चाहिए और किसी भी स्थिति में अनंत लूप में नहीं जाना चाहिए [SWS_Rte_04548]। एसिंक्रोनस कॉलबैक तंत्र की कमी के कारण, इसके सिंक्रोनस रूप से अवरोधक इनिशियलाइज़ेशन कॉल होने की संभावना है। प्रश्न Q-b6ad9ed696841d7a (खुला)

कॉल संदर्भ और समवर्तीता

कॉल संदर्भ और अन्य सिस्टम घटकों के साथ अंतःक्रिया के लिए सख्त प्रतिबंध लागू होते हैं:

  • कॉलर और आवृत्ति: फ़ंक्शन को प्रत्येक प्रोसेसर कोर पर विशेष रूप से EcuStateManager द्वारा और वहां केवल एक बार कॉल किया जा सकता है [SWS_Rte_CONSTR_09055]।
  • क्रम की शर्तें: कॉल केवल तभी हो सकता है जब RTE के Basic Software Scheduler भाग द्वारा आवश्यक सभी बेसिक सॉफ़्टवेयर मॉड्यूल पूरी तरह से इनिशियलाइज़ हो गए हों [SWS_Rte_CONSTR_09055]।
  • सिस्टम स्टार्टअप पर अंतःक्रिया: निष्पादन के बाद Basic Software Scheduler चालू होने के लिए तैयार है; कॉल अनिवार्य रूप से BswM_Init() के माध्यम से BSW मैनेजर के इनिशियलाइज़ेशन से पहले होना चाहिए [SWS_Rte_07273]।

त्रुटि प्रबंधन

पेलोड में इस फ़ंक्शन के लिए कोई विशिष्ट त्रुटि कोड, रिटर्न मान या DET या DEM को सूचनाएं परिभाषित नहीं हैं।

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

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता 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]। इसके अतिरिक्त, यह बाध्यकारी प्रतिबंध लागू होता है कि प्रत्येक Core पर SchM_StartTiming को EcuStateManager द्वारा केवल एक बार ही कॉल किया जा सकता है, जब Basic Software Scheduler के लिए आवश्यक सभी बेसिक सॉफ्टवेयर मॉड्यूल आरंभ हो चुके हों [SWS_Rte_CONSTR_09055]।

त्रुटि प्रबंधन

यदि SchM_StartTiming को SchM_Init से पहले कॉल किया जाता है, तो Basic Software Scheduler या RTE त्रुटि RTE_E_UNINIT (0x07) रिपोर्ट करता है, बशर्ते कि डेवलपमेंट एरर डिटेक्शन RteDevErrorDetectUninit सक्रिय हो [SWS_Rte_07683]।

यह पाठ AI द्वारा जनरेट किया गया था और रिलीज़ 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 RTE के Basic Software Scheduler भाग को उस Core पर फ़ाइनलाइज़ करने का कार्य करता है जिस पर इसे कॉल किया जाता है [SWS_Rte_04551]। इस प्रक्रिया के दौरान, सेवा उन सभी सिस्टम संसाधनों को मुक्त कर देती है जो इस Core पर BSW शेड्यूलर द्वारा उपयोग किए गए थे [SWS_Rte_04551]। फ़ंक्शन में न तो पैरामीटर होते हैं और न ही कोई रिटर्न मान (void SchM_Deinit(void)) [SWS_Rte_07274] और यह RTE जनरेटर द्वारा हमेशा उत्पन्न होता है [SWS_Rte_07275]। समय व्यवहार के संबंध में, विनिर्देश यह मांग करता है कि SchM_Deinit को एक सीमित निष्पादन समय के भीतर वापस आना चाहिए [SWS_Rte_07277]।

कॉल संदर्भ और अनुक्रम शर्तें

ECU के शटडाउन चरण के दौरान कॉल के लिए बाध्यकारी क्रम आवश्यकताएं लागू होती हैं:

  • फ़ंक्शन SchM_Deinit का उपयोग केवल RTE के पूरी तरह फ़ाइनलाइज़ होने के बाद ही किया जा सकता है, यानी Rte_Stop [SWS_Rte_CONSTR_09056] की समाप्ति के बाद।
  • Basic Software Scheduler के संचालन के लिए आवश्यक आधारभूत परतों के शटडाउन होने से पहले, कॉल EcuStateManager द्वारा किया जाना चाहिए [SWS_Rte_CONSTR_09057]।
  • किसी Core पर SchM_Deinit को कॉल किए जाने के बाद, उस Core पर BSW शेड्यूलर BswSchedulableEntity के किसी भी इंस्टेंस को सक्रिय या प्रारंभ नहीं कर सकता है [SWS_Rte_07586]।

प्लग-इन क्लीनअप

डी-इनिशियलाइज़ेशन के भाग के रूप में, RTE अपने क्लीनअप को पूरा करने के लिए SchM_Deinit के भीतर सभी भाग लेने वाले RTE Implementation Plug-Ins के फ़ंक्शन Rte_Rips_SchM_Deinit को अनिवार्य रूप से कॉल करता है [SWS_Rte_80054]।

यह उपयोग नोट AUTOSAR Classic Release 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 मॉड्यूल में एक ट्रांसफॉर्मर [SWS_Rte_89015] के माध्यम से विभिन्न Runnable प्रकारों के सिंक्रोनस कॉल को संभालता है। समर्थित इकाइयों में सर्वर-Runnables, हार्ड-एरर-Runnables, ASCR-Runnables और ट्रिगर किए गए Runnables [SWS_Rte_89015] शामिल हैं।

इस इंटरफ़ेस में न तो इनपुट, न ही इनपुट/आउटपुट और न ही आउटपुट पैरामीटर होते हैं और यह कोई मान नहीं लौटाता है (हस्ताक्षर void (void)) [SWS_Rte_89015]। कॉल को सिंक्रोनस रूप से निष्पादित किया जाता है और इसे सर्विस-ID 0xEE द्वारा पहचाना जाता है [SWS_Rte_89015]। घोषणा हेडर फ़ाइल Rte_Rips_<PlugIn>.h के माध्यम से प्रदान की जाती है [SWS_Rte_89015]।

समवर्तीता (concurrency) के संबंध में, फ़ंक्शन को सशर्त रूप से पुन: प्रवेशी (conditionally reentrant) (Conditional Reentrant) घोषित किया गया है [SWS_Rte_89015]। इसका संभवतः यह अर्थ है कि एक समवर्ती कॉल केवल तभी स्वीकार्य है जब विभिन्न निष्पादन संदर्भ (execution contexts) या पृथक प्लग-इन इंस्टेंसेस मौजूद हों। प्रश्न Q-24aabb36a2be58f4 (खुला) पहचानकर्ता <name of the Invocation Handler> और हेडर पदनाम <PlugIn> प्लेसहोल्डर का प्रतिनिधित्व करते हैं; वास्तविक नाम संभवतः प्लग-इन कॉन्फ़िगरेशन के समय निर्धारित किया जाता है।

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

फ़ंक्शन 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 के भीतर समन्वित किया जाता है [SWS_Rte_80054]।
  • फ़ाइल समावेशन और पहचानकर्ता: यह डिक्लेरेशन हेडर Rte_Rips_<PlugIn>.h के माध्यम से उपलब्ध है; इस फ़ंक्शन की सर्विस-ID 0xF3 है [SWS_Rte_89019]।
  • कंकरेंसी और सीमाएँ: इस फ़ंक्शन को गैर-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Rte_89019]। इससे यह निष्कर्ष निकलता है कि SchM_Deinit में कॉल के दौरान कोई भी समवर्ती SchM गतिविधियाँ प्लग-इन तक नहीं पहुँचनी चाहिए। प्रश्न 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 के माध्यम से प्रदान किया जाता है। यह RTE Implementation Plug-Ins के संदर्भ में एक मोड कतार (Mode Queue) पर एनक्यू और डीक्यू संचालन की स्थिति का संकेत देने का कार्य करता है।

मान श्रेणी में संचालन की दोनों दिशाओं के लिए स्थिति कोड शामिल हैं ([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 के रूप में प्राप्त करता है। इसके विपरीत, अंतिम On-Entry ExecutableEntity के पूरा होने के बाद कतार से कोई सूचना निकाले जाने पर फ़ंक्शन Rte_Rips_<PlugIn>_DequeueModeSwitch_<MMI>_<OsTask> ([SWS_Rte_91115]) इस प्रकार को रिटर्न मान के रूप में प्रदान करता है।

एनक्यू करने में त्रुटियों की रिपोर्ट कार्यात्मक रूप से स्थिति मान RTE_SWITCH_NOTIFICATION_ENQUEUE_FAILED के माध्यम से की जाती है ([SWS_Rte_91113]); पेलोड में कोई अलग DET या DEM प्रविष्टियाँ निर्दिष्ट नहीं हैं। Interpretation: डीक्यू स्थिरांकों में विनिर्देश का पाठ “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] के अनुसार इसके लिटरल्स के साथ हेडर फ़ाइल Rte_Type.h में परिभाषित किया गया है। यह Distributed Shared Mode Queue (DSMQ) में मोड परिवर्तन सूचनाओं के लिए एनक्यू और डीक्यू संचालन की स्थिति को इंगित करने का कार्य करता है [SWS_Rte_91102]।

मान श्रेणी में निम्नलिखित लिटरल्स शामिल हैं [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 से निकाला (dequeued) गया था।
  • RTE_DSMQ_DEQUEUED_NOT_LAST (0x05): एक सूचना निकाली गई थी, जबकि कतार में अन्य सूचनाएँ शेष हैं।

त्रुटि प्रबंधन के लिए, लिटरल RTE_DSMQ_ENQUEUE_FAILED कतार खाली न होने पर एनक्यू प्रक्रिया की विफलता का संकेत देता है [SWS_Rte_91102]।

इस प्रकार का उपयोग RTE Implementation Plug-In (RIPS) के इंटरफ़ेस में पासिंग पैरामीटर dsmqstatus के रूप में किया जाता है। फ़ंक्शन 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 के आधार पर AI द्वारा उत्पन्न किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता 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#86dfde55
Content hash
86dfde55
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_RTE.pdf#nameddest=SWS_Rte_03015

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

विवरण दृश्य

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

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

Rte_Rips_SchM_Deinit फ़ंक्शन

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

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

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

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

void SchM_StartTiming (void);

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

<name of the Invocation Handler> फ़ंक्शन

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

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

टाइप

Rte_DsmqStatusType टाइप

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