DEENESPTFRRUARHIKOZHNL

EEPROM Abstraction (Ea)

ModulEa (EEPROM Abstraction)
BSW-Modul-ID40
Standard-Header#include "Ea.h"
SWS-SpezifikationAUTOSAR_SWS_EEPROMAbstraction.pdf
ClusterMemory Services

मॉड्यूल गाइडएआई जनित

लॉजिकल मेमोरी ब्लॉकों को EEPROM एड्रेस पर मैप करता है और रीड तथा राइट कार्यों को एसिंक्रोनस रूप से निष्पादित करता है।
एआई-जनित असत्यापित मॉडल: claude-opus-5-5 · प्रयास: high · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 55a6c103b1ca उद्गम खुले प्रश्न (4)
कारणात्मक एंकर: R20-11 R20-11 से मान्य इस विनिर्देश संस्करण के लिए नए सिरे से संश्लेषित।
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

लॉजिकल मेमोरी ब्लॉकों को EEPROM एड्रेस पर मैप करता है और रीड तथा राइट कार्यों को एसिंक्रोनस रूप से निष्पादित करता है।

EEPROM Abstraction, NvM के लॉजिकल ब्लॉकों को EEPROM के एड्रेस पर मैप करता है और R20-11 में Eep ड्राइवर का उपयोग करता है। रीड, राइट, अमान्यकरण (invalidation) और इरेज़ कार्यों को सिंक्रोनस रूप से स्वीकार किया जाता है और चक्रीय रूप से कॉल किए जाने वाले Main Function में एसिंक्रोनस रूप से निष्पादित किया जाता है ([SWS_Ea_00096])। मॉड्यूल समापन या विफलता की रिपोर्ट NvM को कॉलबैक के माध्यम से या जॉब परिणाम के माध्यम से करता है। राइट कार्य हमेशा पूरे ब्लॉक को प्रभावित करता है। केवल R20-11 में अभी भी Ea_SetMode और एक सिंक्रोनस Ea_Cancel उपलब्ध है ([SWS_Ea_00088])।

EEPROM Abstraction (Ea) लॉजिकल ब्लॉकों को EEPROM एड्रेस पर मैप करता है। यह MemIf और EEPROM ड्राइवर Eep के बीच स्थित है; ब्लॉक संख्या ब्लॉक के शुरुआती एड्रेस को भी निर्दिष्ट करती है ([SWS_Ea_00087])। निचले स्तर पर, Ea R20-11 में पढ़ने, लिखने, मिटाने, रद्द करने और मोड परिवर्तन के लिए Eep सेवाओं का उपयोग करता है ([SWS_Ea_00097])। केवल R21-11 से MemAcc ड्राइवर Eep का स्थान लेता है और Ea_SetMode समाप्त हो जाता है (SWS EA पृ. 1)।

ea_kontext EcuM EcuM Ea Ea EcuM->Ea Ea_Init(ConfigPtr) SchM BSW Scheduler SchM->Ea Ea_MainFunction() Diag Diagnose-/Systemdienst Diag->Ea Ea_EraseImmediateBlock NvM NvM MemIf MemIf NvM->MemIf MemIf_Read / MemIf_Write / MemIf_Cancel / MemIf_SetMode MemIf->Ea Ea_Read, Ea_Write, Ea_Cancel, Ea_SetMode Ea->NvM NvM_JobEndNotification / NvM_JobErrorNotification Eep Eep Ea->Eep Eep_Read, Eep_Write, Eep_Erase, Eep_Cancel, Eep_SetMode, Eep_GetStatus, Eep_GetJobResult Det DET Ea->Det Det_ReportRuntimeError, Det_ReportError (optional) Eep->Ea Ea_JobEndNotification / Ea_JobErrorNotification

संदर्भ आरेख: NvM/MemIf और Eep के बीच Ea, EcuM द्वारा इनिशियलाइज़ किया गया और BSW शेड्यूलर द्वारा संचालित। स्रोत: [SWS_Ea_00084], [SWS_Ea_00096], [SWS_Ea_00097]

कॉन्फ़िगरेशन सेट के पॉइंटर के साथ Ea_Init के बाद ([SWS_Ea_00084]), Ea_GetStatus स्थितियों MEMIF_IDLE, MEMIF_BUSY या MEMIF_BUSY_INTERNAL में से एक की रिपोर्ट करता है ([SWS_Ea_00089])। अंतिम स्थिति आंतरिक प्रबंधन जैसे कि गारबेज कलेक्शन को दर्शाती है (SWS EA पृ. 28)।

पढ़ना, लिखना, अमान्य करना और तत्काल मिटाना एसिंक्रोनस हैं। E_OK केवल यह पुष्टि करता है कि कार्य स्वीकार कर लिया गया है। निष्पादन चक्रीय रूप से कॉल किए जाने वाले Ea_MainFunction में होता है ([SWS_Ea_00086], [SWS_Ea_00096])। पढ़ना किसी भी ऑफ़सेट और किसी भी लंबाई के साथ संभव है। लिखना हमेशा शून्य ऑफ़सेट के साथ पूरे ब्लॉक को प्रभावित करता है (SWS EA पृ. 25)। यह कि राइट कार्य भी Main Function में शुरू होता है, एक व्याख्या है।

Ea के माध्यम से राइट कार्यNvMMemIfEaEepBSW SchedulerUse Case: Auftragsannahme (synchron)MemIf_Write(DeviceIndex, BlockNumber, DataBufferPtr)Ea_Write(BlockNumber, DataBufferPtr)BlockNumber से पता, ऑफ़सेट 0लंबाई = कॉन्फ़िगर की गई ब्लॉक लंबाईBlock als inkonsistent markierenE_OKE_OKUse Case: Asynchrone AbarbeitungEa_MainFunction()Eep_Write(...)धारणा: ड्राइवर कार्य Ea_MainFunction में शुरू किया जाता हैloopbis Treiberauftrag beendetEep_MainFunction()Ea_JobEndNotification()Block als konsistent markierenJobergebnis MEMIF_JOB_OKNvM_JobEndNotification()

अनुक्रम आरेख: सिंक्रोनस स्वीकृति, Eep के माध्यम से एसिंक्रोनस निष्पादन और NvM को कॉलबैक द्वारा प्रतिक्रिया। स्रोत: SWS Eep पृ. 50, [SWS_Ea_00094], [SWS_Ea_00099]

Ea_Cancel R20-11 में सिंक्रोनस है ([SWS_Ea_00088])। मॉड्यूल कोड EA_E_UNINIT से EA_E_INVALID_CANCEL के माध्यम से त्रुटियों की रिपोर्ट करता है ([SWS_Ea_91001], [SWS_Ea_91002])। हार्डवेयर त्रुटियां कॉन्फ़िगरेशन के आधार पर दो तरीकों में से एक द्वारा NvM तक पहुँचती हैं:

  • जॉब परिणाम MEMIF_JOB_FAILED की क्वेरी के माध्यम से,
  • कॉलबैक NvM_JobErrorNotification के माध्यम से।

प्रत्येक स्थिति में पुनर्प्राप्ति का कार्य NvM द्वारा किया जाता है (ErrorDescription पृ. 48)।

मेमोरी स्टैक में भूमिका: लॉजिकल ब्लॉक से EEPROM एड्रेस तक

EEPROM Abstraction (Ea) मेमोरी स्टैक में Memory Abstraction Interface (MemIf) और EEPROM ड्राइवर (Eep) के बीच स्थित है। ऊपरी स्तर पर यह ब्लॉक-ओरिएंटेड सेवाएं प्रदान करता है। ब्लॉक संख्या एक लॉजिकल ब्लॉक और साथ ही EEPROM में उसके शुरुआती एड्रेस को निर्दिष्ट करती है ([SWS_Ea_00086], [SWS_Ea_00087])। MemIf रीड और राइट कार्यों को उस एब्स्ट्रैक्शन मॉड्यूल को अग्रेषित करता है जिसे पैरामीटर DeviceIndex द्वारा चुना जाता है, और इसके रिटर्न मान को पास करता है (SWS MemIf पृ. 18, SWS MemIf पृ. 19)।

निचले स्तर पर, Ea R20-11 में EEPROM ड्राइवर की सेवाओं का उपयोग करता है: Eep_Read, Eep_Write, Eep_Erase, Eep_Cancel, Eep_GetStatus, Eep_GetJobResult और Eep_SetMode। इसके अतिरिक्त Det_ReportRuntimeError आता है ([SWS_Ea_00097])। Det_ReportError एक वैकल्पिक इंटरफ़ेस है ([SWS_Ea_00098])। आयातित प्रकार Eep_AddressType, Eep_LengthType, MemIf_StatusType, MemIf_JobResultType और MemIf_ModeType इस एम्बेडिंग को दर्शाते हैं ([SWS_Ea_00083])।

रिलीज़ वर्गीकरण के संबंध में: परिवर्तन इतिहास के अनुसार, R21-11 से Ea_SetMode समाप्त हो जाता है। इसके अतिरिक्त Ea_Cancel एसिंक्रोनस हो जाता है, बफ़र संरेखण जुड़ जाता है और MemAcc निचली लेयर के रूप में Eep का स्थान ले लेता है (SWS EA पृ. 1)। इसलिए R20-11 के लिए, Eep अभी भी निचली लेयर के रूप में और Ea_SetMode एक सेवा के रूप में मान्य हैं। बफ़र संरेखण के नियम (SWS EA पृ. 19) R20-11 पर लागू नहीं होते हैं।

ea_kontext EcuM EcuM Ea Ea EcuM->Ea Ea_Init(ConfigPtr) SchM BSW Scheduler SchM->Ea Ea_MainFunction() Diag Diagnose-/Systemdienst Diag->Ea Ea_EraseImmediateBlock NvM NvM MemIf MemIf NvM->MemIf MemIf_Read / MemIf_Write / MemIf_Cancel / MemIf_SetMode MemIf->Ea Ea_Read, Ea_Write, Ea_Cancel, Ea_SetMode Ea->NvM NvM_JobEndNotification / NvM_JobErrorNotification Eep Eep Ea->Eep Eep_Read, Eep_Write, Eep_Erase, Eep_Cancel, Eep_SetMode, Eep_GetStatus, Eep_GetJobResult Det DET Ea->Det Det_ReportRuntimeError, Det_ReportError (optional) Eep->Ea Ea_JobEndNotification / Ea_JobErrorNotification

संदर्भ आरेख: Ea ऊपर NvM/MemIf और नीचे Eep ड्राइवर के बीच मध्यस्थता करता है। EcuM मॉड्यूल को इनिशियलाइज़ करता है, BSW शेड्यूलर इसे चक्रीय रूप से संचालित करता है, और DET त्रुटि संदेश प्राप्त करता है। स्रोत: [SWS_Ea_00084], [SWS_Ea_00096], [SWS_Ea_00097], [SWS_Ea_00098], [SWS_Ea_00099], [SWS_Ea_00100], SWS EA पृ. 34

स्टार्टअप और मॉड्यूल स्थितियां

Ea_Init मॉड्यूल को सिंक्रोनस रूप से इनिशियलाइज़ करता है और यह नॉन-रीएंट्रेंट है। ConfigPtr चयनित कॉन्फ़िगरेशन सेट की ओर इंगित करता है ([SWS_Ea_00084])। Ea_ConfigType कार्यान्वयन-विशिष्ट तत्वों वाली एक संरचना है ([SWS_Ea_00190])। विनिर्देश के अनुक्रम आरेख के अनुसार, ECU State Manager स्टार्टअप के दौरान Ea_Init को कॉल करता है (SWS EA पृ. 47)। चूंकि यह केवल एक एकल कॉल है, इसलिए यह नीचे दिए गए स्थिति आरेख में एक संक्रमण (transition) के रूप में दिखाई देता है।

Ea_GetStatus ऑपरेटिंग स्थिति को सिंक्रोनस रूप से MemIf_StatusType के रूप में प्रदान करता है ([SWS_Ea_00089]):

  • MEMIF_UNINIT: इनिशियलाइज़ेशन से पहले।
  • MEMIF_IDLE: न तो कोई कार्य और न ही कोई आंतरिक प्रबंधन चल रहा है।
  • MEMIF_BUSY: ऊपरी परत के एक जॉब को संसाधित किया जा रहा है।
  • MEMIF_BUSY_INTERNAL: एक आंतरिक प्रबंधन ऑपरेशन चल रहा है, जैसे कि EEPROM मेमोरी का पुनर्गठन (गारबेज कलेक्शन)। इस दौरान ड्राइवर भी अस्थायी रूप से व्यस्त हो सकता है।

स्थितियों का वर्णन SWS EA पृ. 28 में किया गया है। मॉड्यूल स्थिति MEMIF_IDLE में और स्थिति MEMIF_BUSY_INTERNAL में भी राइट कार्य स्वीकार करता है (SWS EA पृ. 25)।

ea_status start MEMIF_UNINIT MEMIF_UNINIT start->MEMIF_UNINIT MEMIF_IDLE MEMIF_IDLE MEMIF_UNINIT->MEMIF_IDLE Ea_Init(ConfigPtr) MEMIF_BUSY MEMIF_BUSY MEMIF_IDLE->MEMIF_BUSY Auftrag angenommen (Ea_Read, Ea_Write, ...) MEMIF_BUSY_INTERNAL MEMIF_BUSY_INTERNAL MEMIF_IDLE->MEMIF_BUSY_INTERNAL interne Verwaltung startet (z. B. Garbage Collection) MEMIF_BUSY->MEMIF_IDLE कार्य समाप्त (सफलता/त्रुटि) या Ea_Cancel MEMIF_BUSY_INTERNAL->MEMIF_IDLE interne Verwaltung beendet MEMIF_BUSY_INTERNAL->MEMIF_BUSY Ea_Write angenommen

स्थिति आरेख: मॉड्यूल स्थिति का जीवन चक्र MEMIF_UNINIT से MEMIF_IDLE के माध्यम से MEMIF_BUSY या MEMIF_BUSY_INTERNAL तक। आंतरिक प्रबंधन के दौरान एक राइट कार्य स्वीकार किया जाता है। स्रोत: [SWS_Ea_00084], [SWS_Ea_00089], SWS EA पृ. 28, SWS EA पृ. 25, SWS EA पृ. 27

कार्यों को स्वीकार करना और Ea_MainFunction में निष्पादित करना

Ea_Read, Ea_Write, Ea_InvalidateBlock और Ea_EraseImmediateBlock एसिंक्रोनस हैं। E_OK का केवल यही अर्थ है कि मॉड्यूल ने कार्य स्वीकार कर लिया है। E_NOT_OK का अर्थ है कि उसने इसे अस्वीकार कर दिया है ([SWS_Ea_00086], [SWS_Ea_00087], [SWS_Ea_00091], [SWS_Ea_00093])। परिणाम आने तक, Ea_GetJobResult मान MEMIF_JOB_PENDING की रिपोर्ट करता है ([SWS_Ea_00090])।

वास्तविक कार्य Ea_MainFunction द्वारा किया जाता है, जो SchM_Ea.h के माध्यम से उपलब्ध है ([SWS_Ea_00096])। Basic Software शेड्यूलर सीधे इस फ़ंक्शन को कॉल करता है। इसका न तो कोई पैरामीटर है और न ही रिटर्न मान, और यह नॉन-रीएंट्रेंट है (SWS EA पृ. 36)।

ea_annahme start d1 Modul initialisiert? (Status ≠ MEMIF_UNINIT) start->d1 d2 Status MEMIF_BUSY? d1->d2 हाँ e1 EA_E_UNINIT रिपोर्ट करें E_NOT_OK लौटाएं d1->e1 नहीं d3 ब्लॉक संख्या, ऑफ़सेट, लंबाई, पॉइंटर मान्य? d2->d3 नहीं (IDLE या BUSY_INTERNAL) e2 EA_E_BUSY रिपोर्ट करें E_NOT_OK लौटाएं d2->e2 हाँ e3 EA_E_INVALID_BLOCK_NO / _OFS / _LEN या EA_E_PARAM_POINTER रिपोर्ट करें E_NOT_OK लौटाएं d3->e3 नहीं ok पैरामीटर स्वीकार करें स्थिति MEMIF_BUSY जॉब परिणाम MEMIF_JOB_PENDING E_OK लौटाएं d3->ok हाँ mf Abarbeitung in Ea_MainFunction ok->mf hinweis धारणा: जांच का क्रम hinweis->d1 betrifft

गतिविधि आरेख: किसी कार्य की स्वीकृति के समय जाँचें और उनके त्रुटि कोड। जाँच का क्रम एक मान्यता है। स्रोत: [SWS_Ea_91001], [SWS_Ea_91002], [SWS_Ea_00089], [SWS_Ea_00090], SWS EA पृ. 25

Ea_Read ब्लॉक संख्या और ऑफ़सेट से रीड एड्रेस की गणना करता है। ऑफ़सेट और लंबाई अपनी प्रकार-सीमा का कोई भी मान ले सकते हैं, जिससे ब्लॉक में किसी भी स्थिति से कितने भी बाइट्स पढ़े जा सकते हैं। रीड ऑपरेशन स्पष्ट रूप से Main Function में एसिंक्रोनस रूप से चलता है (SWS EA पृ. 24)।

Ea_Write ब्लॉक संख्या से स्थिर ऑफ़सेट शून्य के साथ राइट एड्रेस की गणना करता है। फ़ंक्शन लंबाई को ब्लॉक के लिए कॉन्फ़िगर की गई लंबाई (SWS EA पृ. 25) पर सेट करता है। इसलिए, एक राइट ऑपरेशन हमेशा पूरे ब्लॉक ([SWS_Ea_00087]) को प्रभावित करता है। राइट जॉब का आरेख Eep_Write, चक्रीय Eep_MainFunction, Ea_JobEndNotification और NvM_JobEndNotification (SWS Eep पृ. 50) के माध्यम से आगे का पथ दिखाता है।

व्याख्या: पढ़ने के लिए, Ea_MainFunction में ड्राइवर जॉब की शुरुआत की स्पष्ट रूप से आवश्यकता होती है। प्रश्न Q-50dcdf4156855a99 (खुला) लिखने के लिए भी यही लागू होना चाहिए, क्योंकि Ea_MainFunction अनुरोधित जॉब्स को प्रोसेस करता है ([SWS_Ea_00096])। एक वेंडर-विशिष्ट लाइब्रेरी के मामले में, सीक्वेंस डायग्राम केवल कॉलिंग मॉड्यूल्स के साथ संबंध के लिए बाध्यकारी होते हैं, ड्राइवर के कॉल के लिए नहीं (SWS EA पृ. 45)।

Ea के माध्यम से राइट कार्यNvMMemIfEaEepBSW SchedulerUse Case: Auftragsannahme (synchron)MemIf_Write(DeviceIndex, BlockNumber, DataBufferPtr)Ea_Write(BlockNumber, DataBufferPtr)BlockNumber से पता, ऑफ़सेट 0लंबाई = कॉन्फ़िगर की गई ब्लॉक लंबाईBlock als inkonsistent markierenE_OKE_OKUse Case: Asynchrone AbarbeitungEa_MainFunction()Eep_Write(...)धारणा: ड्राइवर कार्य Ea_MainFunction में शुरू किया जाता हैloopbis Treiberauftrag beendetEep_MainFunction()Ea_JobEndNotification()Block als konsistent markierenJobergebnis MEMIF_JOB_OKNvM_JobEndNotification()

सीक्वेंस डायग्राम: एक राइट जॉब सिंक्रोनस रूप से स्वीकार किया जाता है, ड्राइवर के माध्यम से एसिंक्रोनस रूप से निष्पादित किया जाता है और कॉलबैक द्वारा NvM को रिपोर्ट किया जाता है। स्रोत: SWS Eep पृ. 50, SWS MemIf पृ. 19, [SWS_Ea_00087], [SWS_Ea_00094], [SWS_Ea_00099]

ब्लॉक प्रबंधन: एड्रेस मैपिंग, कंसिस्टेंसी और इनवैलिडेशन

चित्र 7.1 वर्चुअल और फ़िज़िकल मेमोरी की तुलना करता है। ब्लॉक संख्या (16 बिट) और ऑफ़सेट (16 बिट) मिलकर एक वर्चुअल एड्रेस बनाते हैं, जिससे एक ब्लॉक 64 KiB तक का हो सकता है। फ़िज़िकल रूप से ब्लॉक्स को कॉन्फ़िगर किए गए वर्चुअल पेज साइज़ EA_VIRTUAL_PAGE_SIZE पर संरेखित किया जाता है; अप्रयुक्त वर्चुअल स्पेस मेमोरी नहीं लेता है (SWS EA पृ. 23)।

Ea प्रत्येक ब्लॉक के लिए अपनी स्वयं की कंसिस्टेंसी जानकारी बनाए रखता है। राइट ऑपरेशन शुरू होने पर ब्लॉक को इनकंसिस्टेंट माना जाता है, और सफलतापूर्वक समाप्त होने के बाद फिर से कंसिस्टेंट माना जाता है। Ea को एक इनकंसिस्टेंट ब्लॉक और जानबूझकर इनवैलिडेट किए गए ब्लॉक के बीच अंतर करने में सक्षम होना चाहिए (SWS EA पृ. 19, संस्करण R24-11)। कॉलर के लिए, दोनों मामले जॉब परिणामों MEMIF_BLOCK_INCONSISTENT और MEMIF_BLOCK_INVALID के माध्यम से दृश्यमान होते हैं ([SWS_Ea_00090])।

Ea_InvalidateBlock ब्लॉक BlockNumber को इनवैलिडेट करता है ([SWS_Ea_00091])। कार्यान्वयन के आधार पर, यह ड्राइवर के इरेज़ फ़ंक्शन के माध्यम से या आंतरिक प्रबंधन जानकारी के माध्यम से होता है, जिसे तब नॉन-वोलेटाइल रूप से संग्रहीत किया जाना चाहिए (SWS EA पृ. 31)।

Ea_EraseImmediateBlock एक ब्लॉक को इरेज़ करता है ([SWS_Ea_00093])। यह फ़ंक्शन डायग्नोस्टिक्स या इसी तरह की सिस्टम सेवाओं के लिए अभिप्रेत है, जो इमीडिएट डेटा के क्षेत्र को पहले से इरेज़ करती हैं। यह ऑफ़सेट शून्य के साथ एड्रेस की गणना करता है। यह सुनिश्चित करता है कि Ea इमीडिएट डेटा लिख सके (SWS EA पृ. 34)।

ऑपरेटिंग मोड, निरस्तीकरण और सूचनाएं

R20-11 में, Ea_SetMode प्रकार MemIf_ModeType के पैरामीटर Mode के साथ EEPROM ड्राइवर के मोड को स्विच करता है। यह सर्विस एसिंक्रोनस और नॉन-रीएंट्रेंट है ([SWS_Ea_00085])। API तत्वों में पैरामीटर के बिना संक्षिप्त सिग्नेचर इससे भिन्न होता है; सर्विस विवरण ही निर्णायक है। आरेख NvM → MemIf_SetMode → Ea_SetMode → Eep_SetMode (SWS EA पृ. 42) की श्रृंखला दिखाते हैं। R21-11 से यह सर्विस हटा दी गई है (SWS EA पृ. 1)।

Ea_SetMode (R20-11) के साथ मोड परिवर्तनNvMMemIfEaEepMemIf_SetMode(MemIf_ModeType)Ea_SetMode(MemIf_ModeType)Eep_SetMode(MemIf_ModeType)Eep_SetMode()Ea_SetMode()MemIf_SetMode()Ea_SetMode केवल R20-11 तक, R21-11 से हटाया गया

सीक्वेंस डायग्राम: एक मोड परिवर्तन NvM से MemIf और Ea के माध्यम से ड्राइवर तक भेजा जाता है (केवल R20-11 तक)। स्रोत: [SWS_Ea_00085], SWS EA पृ. 52, SWS EA पृ. 42

Ea_Cancel चल रहे एसिंक्रोनस जॉब को निरस्त करता है और R20-11 में सिंक्रोनस है ([SWS_Ea_00088])। दस्तावेज़ का बाद का भाग सर्विस को एसिंक्रोनस बताता है; R20-11 के लिए यह आवश्यकता मान्य है। विषय-वस्तु के अनुसार, इस अंश के अनुसार: स्थिति MEMIF_BUSY में Ea ड्राइवर के कैंसिलेशन फ़ंक्शन को कॉल करता है और अपने आंतरिक वेरिएबल्स को रीसेट करता है। तब जॉब का परिणाम MEMIF_JOB_CANCELED होता है (SWS EA पृ. 27)। MemIf कैंसिलेशन को आगे भेजता है (SWS MemIf पृ. 20)। बिना किसी पेंडिंग जॉब के कैंसिलेशन का परिणाम EA_E_INVALID_CANCEL होता है ([SWS_Ea_91002])।

Ea_Cancel के साथ कार्य रद्द करनाNvMMemIfEaEepMemIf_Cancel(DeviceIndex)Ea_Cancel()altStatus MEMIF_UNINIT (DET aktiv)EA_E_UNINIT meldenआंतरिक वेरिएबल अपरिवर्तितStatus MEMIF_BUSYEep_Cancel()वापसीआंतरिक वेरिएबल रीसेट करेंJobergebnis MEMIF_JOB_CANCELEDनए कार्य के लिए तैयारकोई कार्य लंबित नहीं हैEA_E_INVALID_CANCEL meldenवापसीवापसी

सीक्वेंस डायग्राम: Ea_Cancel मॉड्यूल स्थिति के आधार पर ड्राइवर पर कैंसिलेशन, एरर संदेश या बिना किसी बदलाव के रिटर्न में विभाजित होता है। स्रोत: [SWS_Ea_00088], [SWS_Ea_91002], [SWS_Ea_00097], SWS EA पृ. 27, SWS MemIf पृ. 20

निचली परत Ea_JobEndNotification या Ea_JobErrorNotification ([SWS_Ea_00094], [SWS_Ea_00095]) के माध्यम से एसिंक्रोनस जॉब की सफलता या विफलता की रिपोर्ट करती है। Ea फिर NvM को NvM_MemIf.h से NvM_JobEndNotification या NvM_JobErrorNotification का संकेत देता है ([SWS_Ea_00099], [SWS_Ea_00100])। MemIf स्वयं कोई कॉलबैक प्रदान नहीं करता है (SWS MemIf पृ. 24)।

कॉलबैक इंटरप्ट स्तर पर चल सकते हैं। इसलिए उनका निष्पादन समय कम रहना चाहिए, और सिस्टम डिज़ाइन को इसके अनुसार कॉन्फ़िगरेशन को समायोजित करना चाहिए (SWS EA पृ. 35)। Ea_GetVersionInfo एकमात्र ऐसी सर्विस है जो रीएंट्रेंट है ([SWS_Ea_00092])।

त्रुटि की स्थिति में व्यवहार

त्रुटि कोड दो तालिकाओं में सूचीबद्ध हैं।

  • पहली तालिका ([SWS_Ea_91001]): EA_E_UNINIT (0x01), EA_E_INVALID_BLOCK_NO (0x02), EA_E_INVALID_BLOCK_OFS (0x03), EA_E_PARAM_POINTER (0x04) और EA_E_INVALID_BLOCK_LEN (0x05)।
  • दूसरी तालिका ([SWS_Ea_91002]): EA_E_BUSY (0x06) और EA_E_INVALID_CANCEL (0x08)।

EA_E_INIT_FAILED को R20-11 के साथ हटा दिया गया था (SWS EA पृ. 1)। व्याख्या: पहली तालिका संभवतः वैकल्पिक Det_ReportError के माध्यम से विकास त्रुटियों को कैप्चर करती है, और दूसरी Det_ReportRuntimeError ([SWS_Ea_00097], [SWS_Ea_00098]) के माध्यम से रनटाइम त्रुटियों को। प्रश्न Q-8443a03d306e4143 (खुला)

सक्रिय विकास त्रुटि पहचान के साथ, अनप्रारंभीकृत स्थिति में निम्नलिखित लागू होता है: Ea_GetJobResult EA_E_UNINIT की रिपोर्ट करता है और MEMIF_JOB_FAILED (SWS EA पृ. 30) लौटाता है। Ea_Cancel EA_E_UNINIT की रिपोर्ट करता है और आंतरिक वेरिएबल्स को बदले बिना वापस लौटता है (SWS EA पृ. 27)। Ea_GetVersionInfo NULL-पॉइंटर होने पर EA_E_PARAM_POINTER (SWS EA पृ. 32) की रिपोर्ट करता है। Ea_InvalidateBlock और Ea_EraseImmediateBlock केवल सक्रिय DET ([SWS_Ea_00091], [SWS_Ea_00093]) के साथ E_NOT_OK लौटाते हैं।

हार्डवेयर त्रुटियों का पता EEPROM ड्राइवर द्वारा लगाया जाता है। Ea की प्रतिक्रिया कार्यान्वयन-विशिष्ट है। कॉन्फ़िगरेशन के आधार पर दो में से एक तरीके से रिपोर्ट किया जाता है: जॉब परिणाम MEMIF_JOB_FAILED वाली क्वेरी के माध्यम से या कॉलबैक NvM_JobErrorNotification के माध्यम से। रिकवरी NvM (ErrorDescription पृ. 48, [SWS_Ea_00095], [SWS_Ea_00100]) द्वारा नियंत्रित की जाती है। क्वेरी पथ के लिए त्रुटि विवरण Eep_GetJobResult का उल्लेख करता है। यह कि Ea अपने Main Function में इस फ़ंक्शन से पूछताछ करता है, संभवतः ऐसा ही अभिप्रेत है, लेकिन स्पष्ट रूप से निर्दिष्ट नहीं किया गया है। प्रश्न (खुला)

जॉब परिणाम त्रुटि के प्रकारों के बीच सूक्ष्म अंतर करता है ([SWS_Ea_00090]):

  • MEMIF_JOB_CANCELED: निरस्तीकरण, इसे विफल माना जाता है।
  • MEMIF_JOB_FAILED: जॉब विफल हो गया है।
  • MEMIF_BLOCK_INCONSISTENT: ब्लॉक में विकृत डेटा हो सकता है।
  • MEMIF_BLOCK_INVALID: ब्लॉक को इनवैलिडेट कर दिया गया था, ऑपरेशन निष्पादन योग्य नहीं है।
ड्राइवर त्रुटि की रिपोर्टिंगNvMEaEepEep अतुल्यकालिक कार्य में त्रुटि का पता लगाता हैaltKonfiguration: Callback-BenachrichtigungEa_JobErrorNotification()implementierungsspezifische ReaktionNvM_JobErrorNotification()Konfiguration: PollingEep_GetJobResult()MEMIF_JOB_FAILEDAnnahme: Abfrage in Ea_MainFunctionEa_GetJobResult()MEMIF_JOB_FAILEDपुनर्प्राप्ति: NvM का कार्य

सीक्वेंस डायग्राम: कॉन्फ़िगरेशन के आधार पर एक ड्राइवर त्रुटि कॉलबैक के माध्यम से या जॉब परिणाम की क्वेरी करके NvM तक पहुँचती है। स्रोत: ErrorDescription पृ. 48, [SWS_Ea_00095], [SWS_Ea_00100], [SWS_Ea_00090], [SWS_Ea_00097]

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

  • [SWS_Ea_00084], [SWS_Ea_00190]: इनिशियलाइज़ेशन और कॉन्फ़िगरेशन प्रकार।
  • [SWS_Ea_00086], [SWS_Ea_00087]: रीड और राइट। विस्तृत नियम SWS EA पृ. 24 और SWS EA पृ. 25 में हैं (R23-11 के बाद के संस्करण)।
  • [SWS_Ea_00089], [SWS_Ea_00090]: मॉड्यूल स्थिति और जॉब परिणाम। वे पोलिंग और त्रुटि मूल्यांकन का आधार हैं।
  • [SWS_Ea_00085], [SWS_Ea_00088]: R20-11-विशिष्ट व्यवहार वाली सेवाएँ। Ea_SetMode केवल R20-11 तक मौजूद है; Ea_Cancel R20-11 में सिंक्रोनस है।
  • [SWS_Ea_00094] से [SWS_Ea_00100]: कॉलबैक, Main Function साथ ही अपेक्षित और वैकल्पिक इंटरफेस।
  • [SWS_Ea_91001], [SWS_Ea_91002]: त्रुटि कोड। हार्डवेयर त्रुटियों के लिए रिपोर्टिंग पथ ErrorDescription पृ. 48 द्वारा वर्णित है।
  • SWS EA पृ. 14: SRS आवश्यकताओं के लिए ट्रैसेबिलिटी, उदाहरण के लिए पैरामीटर सत्यापन और इनिशियलाइज़ेशन से पहले के व्यवहार के संबंध में।

पेलोड में प्रदान की गई R20-11 आवश्यकताओं और दस्तावेज़ अंशों पर आधारित AI-जनरेटेड गाइड। बाद के रिलीज़ के दस्तावेज़ अंश चिह्नित हैं; विसंगतियों के मामले में आवश्यकता लागू होती है। व्याख्या के रूप में चिह्नित कथन मानक नहीं हैं।

EEPROM Abstraction (Ea)

Provides uniform access to external and internal EEPROM devices.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

फ़ंक्शन Ea_Init [SWS_Ea_00084] 📄 PDF

void Ea_Init (const Ea_ConfigType* ConfigPtr);

Initializes the EEPROM abstraction module.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 758621a616a5 उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

फ़ंक्शन Ea_Init का उपयोग EEPROM Abstraction ([SWS_Ea_00084]) मॉड्यूल को आरंभ करने के लिए किया जाता है। यह हेडर फ़ाइल Ea.h के माध्यम से उपलब्ध कराया जाता है और मॉड्यूल को संचालन के लिए तैयार स्थिति ([SWS_Ea_00084]) में रखता है।

[SWS_Ea_00084] में इंटरफ़ेस विनिर्देश के अनुसार, कॉल के लिए निम्नलिखित विशेषताएँ और शर्तें लागू होती हैं:

  • सिमेंटिक्स और Service-ID: कॉल समकालिक रूप से की जाती है। सेवा को Service-ID 0x00 सौंपी गई है।
  • रीएंट्रेंसी: फ़ंक्शन को गैर-reentrant (Non Reentrant) के रूप में निर्दिष्ट किया गया है और इसलिए इसे समवर्ती रूप से निष्पादित नहीं किया जाना चाहिए।
  • पैरामीटर: इनपुट पैरामीटर के रूप में ConfigPtr (प्रकार const Ea_ConfigType*) कार्य करता है, जो चयनित कॉन्फ़िगरेशन डेटा सेट को संदर्भित करता है। कोई इनपुट/आउटपुट या आउटपुट पैरामीटर मौजूद नहीं हैं।
  • रिटर्न मान: फ़ंक्शन कोई रिटर्न मान प्रदान नहीं करता है (void)।

कॉल संदर्भ के संबंध में, वर्तमान प्रविष्टि में कोई स्पष्ट विनिर्देश शामिल नहीं हैं; अन्य मॉड्यूल फ़ंक्शन निष्पादित होने से पहले, इनिशियलाइज़ेशन आमतौर पर ECU के स्टार्टअप चरण में केंद्रीय रूप से होना चाहिए। प्रश्न Q-b2b40930e5fd0ee7 (खुला) [SWS_Ea_00084] में विशिष्ट त्रुटि कोड, त्रुटि की स्थिति में प्रतिक्रियाएं या DET और DEM को संदेश सूचीबद्ध नहीं हैं।

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

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

फ़ंक्शन Ea_SetMode [SWS_Ea_00085] 📄 PDF

void Ea_SetMode (MemIf_ModeType Mode);

Function to switch the mode of the underlying EEPROM Driver

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: a4f6e1f8e66c उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

उपयोग और सिमेंटिक्स

फ़ंक्शन Ea_SetMode अंतर्निहित EEPROM ड्राइवर ([SWS_Ea_00085]) के ऑपरेटिंग मोड को स्विच करने का कार्य करता है। यह इनपुट पैरामीटर के रूप में प्रकार MemIf_ModeType ([SWS_Ea_00085]) के वांछित मोड Mode को स्वीकार करता है। फ़ंक्शन का कोई वापसी मान नहीं है (void) और यह Service-ID 0x01 के साथ हेडर फ़ाइल Ea.h के माध्यम से उपलब्ध है ([SWS_Ea_00085])।

निष्पादन असमकालिक रूप से होता है (Asynchronous), ताकि कॉल के बाद ड्राइवर का वास्तविक स्विचिंग पृष्ठभूमि में संसाधित होता रहे ([SWS_Ea_00085])।

समवर्तीता और प्रतिबंध

  • रीएंट्रेंसी: फ़ंक्शन को गैर-reentrant (Non Reentrant) के रूप में निर्दिष्ट किया गया है ([SWS_Ea_00085])। कॉलर की ओर से विभिन्न कार्यों या संदर्भों से समानांतर कॉल को रोका जाना चाहिए।
  • कॉल संदर्भ और पैरामीटर: कोई इनपुट/आउटपुट या शुद्ध आउटपुट पैरामीटर पास नहीं किए जाने चाहिए; केवल इनपुट पैरामीटर Mode प्रदान किया गया है ([SWS_Ea_00085])।

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

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

फ़ंक्शन Ea_Read [SWS_Ea_00086] 📄 PDF

Std_ReturnType Ea_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);

Reads Length bytes of block Blocknumber at offset Block Offset into the buffer Data Buffer Ptr.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 43bc307f1243 उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

उपयोग और सिमेंटिक्स

फ़ंक्शन Ea_Read हेडर Ea.h [SWS_Ea_00086] के माध्यम से एक निर्दिष्ट लॉजिकल EEPROM ब्लॉक से पेलोड डेटा पढ़ने का कार्य करता है। पैरामीटर Block Number के माध्यम से लॉजिकल ब्लॉक को संबोधित किया जाता है, जो साथ ही EEPROM [SWS_Ea_00086] में इसके प्रारंभिक पते को निर्धारित करता है। पैरामीटर Block Offset ब्लॉक के भीतर सापेक्ष रीड ऑफ़सेट को परिभाषित करता है, जबकि Length पढ़े जाने वाले बाइट्स की संख्या को परिभाषित करता है [SWS_Ea_00086]। लक्ष्य डेटा को Data Buffer Ptr द्वारा संदर्भित बफ़र में लिखा जाता है [SWS_Ea_00086]।

कॉल असमकालिक रूप से (Asynchronous) व्यवहार करता है: रिटर्न मान E_OK केवल यह संकेत देता है कि Ea मॉड्यूल ने कार्य अनुरोध को स्वीकार कर लिया है, जबकि E_NOT_OK कार्य की अस्वीकृति को दर्शाता है [SWS_Ea_00086]। व्याख्या: चूंकि डेटा ट्रांसमिशन पृष्ठभूमि में असमकालिक रूप से होता है, इसलिए संदर्भित बफ़र को कार्य के पूर्ण निष्पादन तक अपरिवर्तित और मान्य प्रदान किया जाना चाहिए। प्रश्न Q-34c9b29f373bd6cf (खुला)

समवर्तीता और प्रतिबंध

इंटरफ़ेस को गैर-पुन:प्रवेशी (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Ea_00086]। परिणामस्वरूप, विभिन्न निष्पादन संदर्भों से समानांतर कॉल की अनुमति नहीं है और उन्हें कॉलर की तरफ सिंक्रोनाइज़ किया जाना चाहिए।

यह उपयोग नोट R20-11 विनिर्देश के आधार पर स्वचालित रूप से उत्पन्न हुआ था।

फ़ंक्शन Ea_Write [SWS_Ea_00087] 📄 PDF

Std_ReturnType Ea_Write (uint16 BlockNumber, const uint8* DataBufferPtr);

Writes the contents of the Data Buffer Ptr to the block Block Number.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 41c9f0ddc8f3 उद्गम खुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

फ़ंक्शन Ea_Write एक बफ़र से एक लॉजिकल EEPROM ब्लॉक [SWS_Ea_00087] में डेटा के एसिंक्रोनस लेखन की शुरुआत करता है। इसे हेडर फ़ाइल Ea.h के माध्यम से घोषित किया गया है और इसकी सर्विस-ID 0x03 [SWS_Ea_00087] है।

पैरामीटर और रिटर्न मान

  • BlockNumber (इनपुट, uint16): लॉजिकल ब्लॉक की संख्या को निर्दिष्ट करता है और साथ ही EEPROM [SWS_Ea_00087] में इसके प्रारंभिक पते का प्रतिनिधित्व करता है।
  • DataBufferPtr (इनपुट, const uint8*): बफ़र के लिए पॉइंटर जिसमें लिखा जाने वाला डेटा शामिल है [SWS_Ea_00087]।
  • रिटर्न मान (Std_ReturnType): E_OK संकेत करता है कि लेखन कार्य को Ea मॉड्यूल द्वारा निष्पादन के लिए स्वीकार कर लिया गया था; E_NOT_OK का अर्थ है कि अनुरोध को अस्वीकार कर दिया गया था [SWS_Ea_00087]।

समवर्तीता और प्रतिबंध

फ़ंक्शन को गैर-पुन:प्रवेशी (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Ea_00087]। इसलिए, समवर्ती कॉल संभवतः पूर्व बाहरी सिंक्रोनाइज़ेशन के बिना असंगठित रूप से नहीं होने चाहिए। प्रश्न Q-a52fbcca6963c760 (खुला) चूंकि लेखन प्रक्रिया एसिंक्रोनस रूप से (Asynchronous) निष्पादित होती है [SWS_Ea_00087], कॉलर को कार्य के पूर्ण समापन तक मेमोरी में प्रदान किए गए बफ़र DataBufferPtr को अपरिवर्तित बनाए रखना पड़ सकता है। फ़ंक्शन के विनिर्देश अंश में विशिष्ट DET या DEM त्रुटि कोड का नाम नहीं दिया गया है।

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

फ़ंक्शन Ea_Cancel [SWS_Ea_00088] 📄 PDF

void Ea_Cancel (void);

Cancels the ongoing asynchronous operation.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 7fde513694e7 उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

फ़ंक्शन Ea_Cancel EEPROM Abstraction मॉड्यूल के वर्तमान में चल रहे असमकालिक ऑपरेशन को निरस्त करता है ([SWS_Ea_00088])। यह सेवा हेडर फ़ाइल Ea.h के माध्यम से प्रदान की जाती है और इसकी Service-ID 0x04 है ([SWS_Ea_00088])।

कॉल व्यवहार और इंटरफ़ेस परिभाषा के संबंध में, निम्नलिखित विशेषताएँ लागू होती हैं ([SWS_Ea_00088]):

  • सिमेंटिक्स: कॉल स्वयं समकालिक रूप से होती है (Synchronous), यद्यपि यह चल रहे असमकालिक ऑपरेशन को निरस्त करती है ([SWS_Ea_00088])।
  • पैरामीटर और वापसी: हस्ताक्षर void Ea_Cancel(void) है। फ़ंक्शन न तो किसी इनपुट, आउटपुट या पासिंग पैरामीटर की अपेक्षा करता है और न ही इसका कोई वापसी मान है ([SWS_Ea_00088])।
  • रीएंट्रेंसी: इंटरफ़ेस को गैर-reentrant (Non Reentrant) के रूप में परिभाषित किया गया है ([SWS_Ea_00088])। नतीजतन, इसे कई निष्पादन संदर्भों या इंटरप्ट करने वाले कार्यों से समवर्ती रूप से कॉल नहीं किया जाना चाहिए।

चूँकि Ea_Cancel कोई जॉब या ब्लॉक पहचानकर्ता स्वीकार नहीं करता है, इसलिए यह निरस्तीकरण सीधे तौर पर वर्तमान में प्रगति पर मौजूद संपूर्ण अतुल्यकालिक प्रक्रिया ([SWS_Ea_00088]) को संदर्भित करता है। विनिर्देशन डेटा में विशिष्ट त्रुटि कोड या पहचान तंत्रों के लिए फीडबैक शामिल नहीं हैं। संभवतः कॉल आमतौर पर उच्च परतों जैसे Memory Abstraction इंटरफ़ेस (MemIf) द्वारा लंबी रीडिंग, राइटिंग या इरेज़िंग प्रक्रियाओं को लक्षित रूप से समय से पहले समाप्त करने के लिए किया जाता है। प्रश्न Q-e441cbf6a5097568 (खुला)

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

फ़ंक्शन Ea_GetStatus [SWS_Ea_00089] 📄 PDF

MemIf_StatusType Ea_GetStatus (void);

Service to return the Status.

फ़ंक्शन Ea_GetJobResult [SWS_Ea_00090] 📄 PDF

MemIf_JobResultType Ea_GetJobResult (void);

Service to return the Job Result.

फ़ंक्शन Ea_InvalidateBlock [SWS_Ea_00091] 📄 PDF

Std_ReturnType Ea_InvalidateBlock (uint16 BlockNumber);

Invalidates the block Block Number.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 2c1c29a1fe37 उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

उपयोग

फ़ंक्शन Ea_InvalidateBlock का उपयोग लॉजिकल ब्लॉक संख्या द्वारा निर्दिष्ट ब्लॉक को अमान्य करने के लिए किया जाता है [SWS_Ea_00091]। इसकी Service-ID 0x07 है और इसे हेडर फ़ाइल Ea.h के माध्यम से प्रदान किया जाता है [SWS_Ea_00091]। एक इनपुट पैरामीटर के रूप में, यह प्रकार uint16 का Block Number स्वीकार करता है; यह लॉजिकल ब्लॉक संख्या को निर्दिष्ट करता है और साथ ही EEPROM में संबंधित ब्लॉक का प्रारंभिक पता प्रदान करता है [SWS_Ea_00091]। इस सेवा के लिए कोई इनपुट/आउटपुट पैरामीटर या शुद्ध आउटपुट पैरामीटर परिभाषित नहीं हैं [SWS_Ea_00091]।

कॉल को एक असमकालिक ऑपरेशन (Asynchronous) के रूप में निष्पादित किया जाता है [SWS_Ea_00091]। प्रकार Std_ReturnType का एक वापसी मान E_OK कॉलर को पुष्टि करता है कि EA मॉड्यूल ने आगे के प्रसंस्करण के लिए जॉब अनुरोध को स्वीकार कर लिया है [SWS_Ea_00091]।

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

यदि EA मॉड्यूल अनुरोधित कार्य को स्वीकार नहीं कर सका, तो त्रुटि मान E_NOT_OK लौटाया जाता है [SWS_Ea_00091]। विनिर्देश के अनुसार, E_NOT_OK की यह वापसी केवल तभी होती है जब DET सक्षम हो [SWS_Ea_00091]।

समवर्तीता और प्रतिबंध

इंटरफ़ेस को गैर-reentrant (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Ea_00091]। व्याख्या: कॉलर संभवतः फ़ंक्शन को समानांतर या बाधित करने वाले तरीके से कॉल नहीं कर सकते हैं, क्योंकि मॉड्यूल पक्ष पर कोई रीएंट्रेंसी सुनिश्चित नहीं की जाती है [SWS_Ea_00091]। प्रश्न Q-81d805517d2eac88 (खुला)

यह उपयोग निर्देश AUTOSAR Classic R20-11 के स्पेसिफिकेशन के आधार पर स्वचालित रूप से बनाया गया था।

फ़ंक्शन Ea_EraseImmediateBlock [SWS_Ea_00093] 📄 PDF

Std_ReturnType Ea_EraseImmediateBlock (uint16 BlockNumber);

Erases the block Block Number.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 11c26d81184d उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

फ़ंक्शन Ea_EraseImmediateBlock का उपयोग [SWS_Ea_00093] के अनुसार EEPROM में एक लॉजिकल ब्लॉक को मिटाने के लिए किया जाता है।

  • उपयोग और सिमेंटिक्स: कॉल असमकालिक रूप से होती है ([SWS_Ea_00093])। इनपुट पैरामीटर Block Number के माध्यम से, लॉजिकल ब्लॉक की संख्या पास की जाती है, जो EEPROM में इस ब्लॉक के प्रारंभिक पते को भी निर्दिष्ट करती है ([SWS_Ea_00093])। वापसी मान प्रकार Std_ReturnType का है: E_OK संकेत देता है कि अनुरोधित कार्य मॉड्यूल द्वारा स्वीकार कर लिया गया था ([SWS_Ea_00093])।
  • त्रुटि प्रबंधन: बशर्ते कि Default Error Tracer (DET) सक्षम हो, यदि EA मॉड्यूल द्वारा कार्य स्वीकार नहीं किया जा सका तो फ़ंक्शन E_NOT_OK लौटाता है ([SWS_Ea_00093])। यदि DET सक्षम नहीं है, तो विनिर्देश के शब्दों के अनुसार त्रुटि के मामले में कोई E_NOT_OK नहीं लौटाया जाना चाहिए। प्रश्न Q-5015a2135dbd4723 (खुला)
  • समवर्ती निष्पादन और प्रतिबंध: फ़ंक्शन को गैर-reentrant (Non Reentrant) के रूप में निर्दिष्ट किया गया है ([SWS_Ea_00093])। इसलिए कॉल करने वालों को यह सुनिश्चित करना चाहिए कि समानांतर या ओवरलैपिंग कॉल से बचा जाए। घोषणा हेडर फ़ाइल Ea.h के माध्यम से उपलब्ध है, और Service-ID 0x09 है ([SWS_Ea_00093])।

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

फ़ंक्शन Ea_JobEndNotification [SWS_Ea_00094] 📄 PDF

void Ea_JobEndNotification (void);

Service to report to this module the successful end of an asynchronous operation.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 234afd19dc30 उद्गम खुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

फ़ंक्शन Ea_JobEndNotification का उपयोग मॉड्यूल Ea को पहले शुरू किए गए असमकालिक ऑपरेशन के सफल समापन को सूचित करने के लिए किया जाता है [SWS_Ea_00094]। यह इंटरफ़ेस हेडर Ea.h के माध्यम से प्रदान किया जाता है और इसकी Service-ID 0x10 है [SWS_Ea_00094]।

[SWS_Ea_00094] के अनुसार सिमेंटिक्स और इंटरफ़ेस परिभाषा के संबंध में निम्नलिखित विशेषताएँ लागू होती हैं:

  • हस्ताक्षर और पैरामीटर: फ़ंक्शन किसी पासिंग पैरामीटर की अपेक्षा नहीं करता है (void) और कोई वापसी मान नहीं लौटाता है (void)।
  • तुल्यकालिता (Synchronicity): कॉल को समकालिक रूप से संसाधित किया जाता है।
  • त्रुटि प्रबंधन: इंटरफ़ेस केवल सफल समापन की रिपोर्ट करता है; इस अधिसूचना के लिए तत्व में विशिष्ट त्रुटि कोड या त्रुटि संदेश परिभाषित नहीं हैं।

समवर्ती निष्पादन के संदर्भ में, Ea_JobEndNotification को गैर-reentrant (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Ea_00094]। इसलिए कॉल करने वालों को यह सुनिश्चित करना चाहिए कि कोई समानांतर या नेस्टेड कॉल न हो। व्याख्या: यह फ़ंक्शन आमतौर पर एक अंतर्निहित ड्राइवर द्वारा कॉल किया जाना चाहिए जैसे ही इसका असमकालिक प्रसंस्करण समाप्त होता है, जहां कॉलिंग संदर्भ को संभवतः पारस्परिक रिक्तीकरण (preemption) के बिना अनुक्रमिक क्रम सुनिश्चित करना चाहिए। प्रश्न Q-296b61b743e7c9b8 (खुला)

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

फ़ंक्शन Ea_JobErrorNotification [SWS_Ea_00095] 📄 PDF

void Ea_JobErrorNotification (void);

Service to report to this module the failure of an asynchronous operation.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 9e75b5e5784e उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

फ़ंक्शन Ea_JobErrorNotification पहले शुरू किए गए एसिंक्रोनस ऑपरेशन की त्रुटि को Ea मॉड्यूल को रिपोर्ट करने के लिए एक अधिसूचना इंटरफ़ेस के रूप में कार्य करता है [SWS_Ea_00095]। यह हेडर फ़ाइल Ea.h के माध्यम से उपलब्ध है और इसकी सर्विस-ID 0x11 [SWS_Ea_00095] है।

इंटरफ़ेस विनिर्देश और उपयोग के संबंध में निम्नलिखित गुण लागू होते हैं:

  • पैरामीटर और रिटर्न मान: फ़ंक्शन में न तो पासिंग पैरामीटर (न तो in, out और न ही inout) हैं और न ही कोई रिटर्न मान (हस्ताक्षर void Ea_JobErrorNotification(void)) [SWS_Ea_00095] है।
  • निष्पादन व्यवहार और पुन:प्रवेश्यता: कॉल को समकालिक रूप से संसाधित किया जाता है, लेकिन इसे गैर-पुन:प्रवेशी (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Ea_00095]। इसलिए कॉलर्स को यह सुनिश्चित करना चाहिए कि कॉल अनुक्रमिक रूप से हों और समानांतर संदर्भों द्वारा ओवरलैप न हों।
  • परस्पर क्रिया: चूंकि फ़ंक्शन एक एसिंक्रोनस कार्य की विफलता का संकेत देता है, इसलिए किसी कार्य के विफल होने पर आमतौर पर एक अंतर्निहित हार्डवेयर अमूर्त मॉड्यूल या मेमोरी ड्राइवर द्वारा कॉल किया जा सकता है (व्याख्या)। प्रश्न Q-810e76dee987a5a1 (खुला)

इस सेवा के लिए विशिष्ट त्रुटि कोड, विकास त्रुटियां (DET) या उत्पादन त्रुटियां (DEM) परिभाषित नहीं हैं; कॉल के लिए ही एक अलग त्रुटि व्यवहार तत्व में निर्दिष्ट नहीं है।

यह पाठ एक AI द्वारा तैयार किया गया था। सभी तकनीकी कथन विशेष रूप से AUTOSAR R20-11 के विनिर्देश डेटा पर आधारित हैं।

फ़ंक्शन Ea_MainFunction [SWS_Ea_00096] 📄 PDF

void Ea_MainFunction (void);

Service to handle the requested jobs and the internal management operations.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 982c19d62ccc उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

उपयोग

फ़ंक्शन Ea_MainFunction का उपयोग अनुरोधित कार्यों को संसाधित करने के साथ-साथ EEPROM Abstraction मॉड्यूल के भीतर आंतरिक प्रशासनिक संचालन को संभालने के लिए किया जाता है [SWS_Ea_00096]। इंटरफ़ेस परिभाषा void Ea_MainFunction(void) के अनुसार, फ़ंक्शन कोई पासिंग पैरामीटर स्वीकार नहीं करता है और कॉलर को कोई वापसी मान नहीं लौटाता है [SWS_Ea_00096]।

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

इंटरफ़ेस की Service-ID 0x12 है और इसे हेडर फ़ाइल SchM_Ea.h के माध्यम से घोषित किया गया है [SWS_Ea_00096]। व्याख्या: SchM_Ea.h के माध्यम से प्रावधान के कारण, पृष्ठभूमि में मेमोरी जॉब्स के असमकालिक प्रसंस्करण को लगातार जारी रखने के लिए, कॉल आमतौर पर टास्क संदर्भ में शेड्यूल मैनेजर (BSW Scheduler) द्वारा चक्रीय रूप से की जानी चाहिए। प्रश्न Q-23f33a40a1e08c34 (खुला)

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

चूँकि Ea_MainFunction कोई वापसी मान प्रदान नहीं करता है, त्रुटि स्थितियाँ या कार्य की प्रगति सीधे फ़ंक्शन कॉल के माध्यम से प्रसारित नहीं होती हैं [SWS_Ea_00096]। विकास इंटरफ़ेस मॉड्यूल (DET) या डायग्नोस्टिक मॉड्यूल (DEM) को रिपोर्ट करने के लिए विशिष्ट त्रुटि कोड और आवश्यकताएं इस विनिर्देश अंश में इस सेवा के लिए परिभाषित नहीं हैं।

यह पाठ स्वचालित रूप से उत्पन्न किया गया था। सभी विवरण विशेष रूप से रिलीज़ R20-11 के विनिर्देश डेटा पर आधारित हैं।

फ़ंक्शन NvM_JobEndNotification [SWS_Ea_00099] 📄 PDF

void NvM_JobEndNotification (void);

Function to be used by the underlying memory abstraction to signal end of job without error.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 5f055de9eae0 उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

उपयोग और सिमेंटिक्स

[SWS_Ea_00099] के अनुसार कॉलबैक फ़ंक्शन NvM_JobEndNotification अंतर्निहित मेमोरी एब्स्ट्रैक्शन द्वारा उच्च-स्तरीय मॉड्यूल को बिना किसी त्रुटि के किसी कार्य के सफल अंत का संकेत देने के लिए उपयोग किया जाता है। सेवा का हस्ताक्षर void NvM_JobEndNotification(void) है; यह न तो इनपुट और न ही इनपुट/आउटपुट पैरामीटर की अपेक्षा करता है और कोई मान वापस नहीं करता है [SWS_Ea_00099]। निष्पादन को समकालिक निर्दिष्ट किया गया है, और इंटरफ़ेस हेडर फ़ाइल NvM_MemIf.h के माध्यम से प्रदान किया जाता है [SWS_Ea_00099]।

कन्करेंसी और कॉल स्थितियाँ

रनटाइम व्यवहार के संबंध में, NvM_JobEndNotification को गैर-reentrant (Non Reentrant) के रूप में वर्गीकृत किया गया है [SWS_Ea_00099]। इसलिए कॉलिंग इंस्टेंस को यह सुनिश्चित करना चाहिए कि अधिसूचना बाधित करने वाले तरीके से या कई संदर्भों से समानांतर रूप से कॉल न की जाए। व्याख्या: मेमोरी एब्स्ट्रैक्शन लेयर को आमतौर पर अपने चक्रीय मुख्य फ़ंक्शन के भाग के रूप में या एक असमकालिक ड्राइवर कार्य के पूरा होने के बाद फ़ंक्शन को निष्पादित करना चाहिए, जैसे ही यह स्थापित हो जाता है कि ऑपरेशन त्रुटि-मुक्त समाप्त हो गया है। प्रश्न Q-adabc07be0a3e7d2 (खुला)

त्रुटि प्रबंधन और परस्पर क्रिया

इस अधिसूचना फ़ंक्शन के लिए [SWS_Ea_00099] में न तो विशिष्ट त्रुटि कोड और न ही विकास त्रुटियाँ (DET) या उत्पादन त्रुटियाँ (DEM) परिभाषित हैं। इसका कारण यह है कि कॉल विशेष रूप से किसी कार्य के त्रुटि-मुक्त समापन को इंगित करती है [SWS_Ea_00099]। यदि मेमोरी कार्य के दौरान कोई त्रुटि होती है, तो यह अधिसूचना कॉल नहीं की जाती है।

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

फ़ंक्शन NvM_JobErrorNotification [SWS_Ea_00100] 📄 PDF

void NvM_JobErrorNotification (void);

Function to be used by the underlying memory abstraction to signal end of job with error.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 6fbe1fe6a235 उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

अधिसूचना फ़ंक्शन NvM_JobErrorNotification का उपयोग अंतर्निहित मेमोरी एब्स्ट्रैक्शन (Memory Abstraction) द्वारा NVRAM Manager को किसी कार्य के त्रुटिपूर्ण समापन की रिपोर्ट करने के लिए किया जाता है [SWS_Ea_00100]। इस इंटरफ़ेस की घोषणा हेडर फ़ाइल NvM_MemIf.h के माध्यम से उपलब्ध कराई जाती है [SWS_Ea_00100]।

विनिर्देश [SWS_Ea_00100] के अनुसार इंटरफ़ेस के कॉल और एकीकरण के लिए निम्नलिखित विशेषताएँ लागू होती हैं:

  • हस्ताक्षर और सिंटैक्स: फ़ंक्शन का हस्ताक्षर void NvM_JobErrorNotification (void) है [SWS_Ea_00100]।
  • पैरामीटर और वापसी मान: फ़ंक्शन में न तो इनपुट पैरामीटर (Parameters (in): None), न इनपुट/आउटपुट पैरामीटर (Parameters (inout): None), न ही आउटपुट पैरामीटर (Parameters (out): None) हैं और यह कोई मान नहीं लौटाता है (Return value: None) [SWS_Ea_00100]।
  • तुल्यकालिता: कॉल को समकालिक (Synchronous) के रूप में निर्दिष्ट किया गया है [SWS_Ea_00100]।
  • समवर्ती निष्पादन: फ़ंक्शन को गैर-reentrant (Non Reentrant) के रूप में परिभाषित किया गया है [SWS_Ea_00100]। इसलिए मेमोरी एब्स्ट्रैक्शन से संबंधित कॉल समवर्ती या ओवरलैपिंग नहीं होनी चाहिए।

विशिष्ट त्रुटि कोड, त्रुटि विभेदन के लिए पैरामीटर या Default Error Tracer (DET) या Diagnostic Event Manager (DEM) मॉड्यूल को सूचनाओं की आवश्यकताएं परिभाषा में शामिल नहीं हैं [SWS_Ea_00100]। यह फ़ंक्शन केवल त्रुटि के साथ समाप्त हुए जॉब परिणाम के बारे में शुद्ध स्थिति संदेश के रूप में कार्य करता है [SWS_Ea_00100]।

यह उपयोग नोट स्वचालित रूप से उत्पन्न किया गया था और पूरी तरह से AUTOSAR Classic R20-11 के विनिर्देश पर आधारित है।

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

Record
AUTOSAR/AP/record/CP_MOD_Ea
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Ea@rel:R20-11#b8711fed
Content hash
b8711fed
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_EEPROMAbstraction.pdf#nameddest=SWS_Ea_00084

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

विवरण दृश्य

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

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

Ea_GetStatus फ़ंक्शन

Service to return the Status.

MemIf_StatusType Ea_GetStatus (void);
Ea_GetVersionInfo फ़ंक्शन

Service to get the version information of this module.

void Ea_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Ea_Init फ़ंक्शन

Initializes the EEPROM abstraction module.

void Ea_Init (const Ea_ConfigType* ConfigPtr);

सेवाएँ

Ea_Cancel फ़ंक्शन

Cancels the ongoing asynchronous operation.

void Ea_Cancel (void);
Ea_EraseImmediateBlock फ़ंक्शन

Erases the block Block Number.

Std_ReturnType Ea_EraseImmediateBlock (uint16 BlockNumber);
Ea_GetJobResult फ़ंक्शन

Service to return the Job Result.

MemIf_JobResultType Ea_GetJobResult (void);
Ea_InvalidateBlock फ़ंक्शन

Invalidates the block Block Number.

Std_ReturnType Ea_InvalidateBlock (uint16 BlockNumber);
Ea_JobEndNotification फ़ंक्शन

Service to report to this module the successful end of an asynchronous operation.

void Ea_JobEndNotification (void);
Ea_JobErrorNotification फ़ंक्शन

Service to report to this module the failure of an asynchronous operation.

void Ea_JobErrorNotification (void);
Ea_Read फ़ंक्शन

Reads Length bytes of block Blocknumber at offset Block Offset into the buffer Data Buffer Ptr.

Std_ReturnType Ea_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);
Ea_SetMode फ़ंक्शन

Function to switch the mode of the underlying EEPROM Driver

void Ea_SetMode (MemIf_ModeType Mode);
Ea_Write फ़ंक्शन

Writes the contents of the Data Buffer Ptr to the block Block Number.

Std_ReturnType Ea_Write (uint16 BlockNumber, const uint8* DataBufferPtr);
NvM_JobEndNotification फ़ंक्शन

Function to be used by the underlying memory abstraction to signal end of job without error.

void NvM_JobEndNotification (void);
NvM_JobErrorNotification फ़ंक्शन

Function to be used by the underlying memory abstraction to signal end of job with error.

void NvM_JobErrorNotification (void);

चक्रीय

Ea_MainFunction फ़ंक्शन

Service to handle the requested jobs and the internal management operations.

void Ea_MainFunction (void);

टाइप

Ea_ConfigType टाइप

Configuration data structure of the Ea module.