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 وتستخدم برنامج التشغيل Eep في R20-11. تُقبَل مهام القراءة والكتابة والإبطال والمسح بشكل متزامن وتُنفَّذ بشكل غير متزامن في 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

مخطط السياق: Ea بين NvM/MemIf وEep، وتتم تهيئتها بواسطة EcuM وتشغيلها بواسطة BSW Scheduler. المصادر: [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 مجرد تفسير.

مهمة كتابة عبر EaNvMMemIfEaEepBSW 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_MainFunctionloopbis 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]).

حول تصنيف الإصدار: وفقًا لسجل التغييرات، تُلغى Ea_SetMode بدءًا من R21-11. بالإضافة إلى ذلك، تصبح 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 Scheduler دوريًا، وتتلقى DET رسائل الأخطاء. المصادر: [SWS_Ea_00084]، [SWS_Ea_00096]، [SWS_Ea_00097]، [SWS_Ea_00098]، [SWS_Ea_00099]، [SWS_Ea_00100]، SWS EA ص. 34

بدء التشغيل وحالات الوحدة

تُهيئ Ea_Init الوحدة بشكل متزامن وهي غير قابلة لإعادة الدخول (not reentrant). يُشير ConfigPtr إلى مجموعة التوصيف المحددة ([SWS_Ea_00084]). وتُعد Ea_ConfigType بنية تحتوي على عناصر تعتمد على التنفيذ ([SWS_Ea_00190]). ووفقًا لمخطط التسلسل في المواصفة، يستدعي ECU State Manager Ea_Init أثناء بدء التشغيل (SWS EA ص. 47). ونظرًا لأنه استدعاء مفرد فقط، فإنه يظهر في مخطط الحالة أدناه كانتقال.

تُرجع 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 Scheduler الدالة مباشرةً. ليس لها معاملات ولا قيمة إرجاع وهي غير قابلة لإعادة الدخول (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).

مهمة كتابة عبر EaNvMMemIfEaEepBSW 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_MainFunctionloopbis 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 وضع مشغل EEPROM باستخدام المعلمة Mode من النوع MemIf_ModeType. وتكون الخدمة غير متزامنة وغير قابلة لإعادة الدخول ([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_CancelNvMMemIfEaEepMemIf_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_JobEndNotification أو NvM_JobErrorNotification من NvM_MemIf.h ([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 القيمة E_NOT_OK فقط عند تفعيل DET ([SWS_Ea_00091]، [SWS_Ea_00093]).

يكتشف مشغل 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: تم إبطال صلاحية الكتلة، وتكون العملية غير قابلة للتنفيذ.
الإبلاغ عن خطأ في المشغلNvMEaEepيكتشف Eep خطأ في المهمة غير المتزامنة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]

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

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

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]، تنطبق الخصائص والشروط الحدية التالية على الاستدعاء:

  • الدلالة ومعرّف الخدمة: يتم الاستدعاء بشكل متزامن. وتم تخصيص معرّف الخدمة 0x00 للخدمة.
  • إمكانية إعادة الدخول: تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant)، وبالتالي لا يجوز تنفيذها بشكل متزامن.
  • المعلمات: تُستخدم المعلمة ConfigPtr (نوع const Ea_ConfigType*) كمعلمة دخل، والتي تشير إلى مجموعة بيانات التكوين المحددة. ولا توجد معلمات دخل/خرج أو معلمات خرج.
  • قيمة الإرجاع: لا تُعيد الدالة أي قيمة إرجاع (void).

فيما يتعلق بسياق الاستدعاء، لا يحتوي هذا الإدخال على أي تحديدات صريحة؛ ويُرجح أن تتم التهيئة نموذجيًا بشكل مركزي في مرحلة بدء تشغيل وحدة التحكم الإلكترونية، قبل تنفيذ وظائف الوحدة الأخرى. سؤال Q-b2b40930e5fd0ee7 (مفتوح) ولا يتم سرد رموز أخطاء محددة أو استجابات في حالة الخطأ أو رسائل إلى DET و DEM في [SWS_Ea_00084].

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

دليل المنفِّذ قيد الإعداد (التعقيد 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]). وتقبل الوضع المطلوب Mode من النوع MemIf_ModeType كمعلمة دخل ([SWS_Ea_00085]). لا تمتلك الدالة أي قيمة إرجاع (void) وهي متاحة بمعرّف الخدمة 0x01 عبر ملف الترويسة Ea.h ([SWS_Ea_00085]).

يتم التنفيذ بشكل غير متزامن (Asynchronous)، بحيث تتم معالجة التبديل الفعلي للمشغل في الخلفية بعد الاستدعاء ([SWS_Ea_00085]).

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

  • إمكانية إعادة الدخول: تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) ([SWS_Ea_00085]). ويجب منع الاستدعاءات المتوازية من مهام أو سياقات مختلفة من جانب المتصل.
  • سياق الاستدعاء والمعلمات: لا يجوز تمرير معلمات دخل/خرج أو معلمات خرج فقط؛ حيث تم توفير معلمة الدخل Mode فقط ([SWS_Ea_00085]).

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

دليل المنفِّذ قيد الإعداد (التعقيد 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 لقراءة البيانات المفيدة من كتلة EEPROM منطقية محددة عبر ملف الرأس Ea.h [SWS_Ea_00086]. عبر المعامل 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 وتمتلك معرّف الخدمة 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.

دالة 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 وتمتلك معرّف الخدمة 0x04 ([SWS_Ea_00088]).

فيما يتعلق بسلوك الاستدعاء وتعريف الواجهة، تنطبق السمات التالية ([SWS_Ea_00088]):

  • الدلالة: يتم الاستدعاء نفسه بشكل متزامن (Synchronous)، على الرغم من أنه يُلغي عملية غير متزامنة قيد التشغيل ([SWS_Ea_00088]).
  • المعلمات والإرجاع: التوقيع هو void Ea_Cancel(void). لا تتوقع الدالة أي معلمات دخل أو خرج أو تمرير ولا تمتلك أي قيمة إرجاع ([SWS_Ea_00088]).
  • إمكانية إعادة الدخول: تم تعريف الواجهة على أنها غير قابلة لإعادة الدخول (Non Reentrant) ([SWS_Ea_00088]). وبالتالي، لا يجوز استدعاؤها بشكل متزامن من عدة سياقات تنفيذ أو مهام مقاطِعة.

بما أن Ea_Cancel لا تقبل أي معرّفات أوامر أو كتل، فإن الإلغاء يرتبط مباشرة بالعملية الإجمالية غير المتزامنة قيد المعالجة حاليًا ([SWS_Ea_00088]). ولا تتضمن بيانات المواصفة أي رموز أخطاء محددة أو استجابات لآليات الاكتشاف. ويُرجح أن يتم الاستدعاء نموذجيًا بواسطة طبقات عليا مثل Memory Abstraction Interface (MemIf) لإنهاء عمليات القراءة أو الكتابة أو المسح الطويلة بشكل مقصود ومبكر. سؤال Q-e441cbf6a5097568 (مفتوح)

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

دالة 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]. وتمتلك معرّف الخدمة 0x07 ويتم توفيرها عبر ملف الترويسة Ea.h [SWS_Ea_00091]. وتستقبل كمعلمة دخل Block Number من النوع uint16؛ حيث يحدد هذا المعلم رقم الكتلة المنطقية ويحدد في الوقت نفسه عنوان البداية للكتلة المعنية في EEPROM [SWS_Ea_00091]. ولم يتم تعريف معلمات دخل/خرج أو معلمات خرج فقط لهذه الخدمة [SWS_Ea_00091].

يتم تنفيذ الاستدعاء كعملية غير متزامنة (Asynchronous) [SWS_Ea_00091]. وتؤكد قيمة الإرجاع E_OK من النوع Std_ReturnType للمتصل أن وحدة EA قد قبلت طلب الأمر لمزيد من المعالجة [SWS_Ea_00091].

معالجة الأخطاء

إذا لم تتمكن وحدة EA من قبول الأمر المطلوب، فسيتم إرجاع قيمة الخطأ E_NOT_OK [SWS_Ea_00091]. ووفقًا للمواصفة، لا يحدث هذا الإرجاع لـ E_NOT_OK إلا عند تفعيل DET فقط [SWS_Ea_00091].

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

تم تحديد الواجهة على أنها غير قابلة لإعادة الدخول (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 لمسح كتلة منطقية في EEPROM وفقًا لـ [SWS_Ea_00093].

  • الاستخدام والدلالة: يتم الاستدعاء بشكل غير متزامن ([SWS_Ea_00093]). يُمرَّر عبر معامِل الإدخال Block Number رقم الكتلة المنطقية، والذي يحدد في الوقت نفسه عنوان البدء لهذه الكتلة في EEPROM ([SWS_Ea_00093]). القيمة المعادة من النوع Std_ReturnType: تشير E_OK إلى أن الطلب المقدَّم قد تم قبوله من قِبل الوحدة ([SWS_Ea_00093]).
  • معالجة الأخطاء: إذا كان Default Error Tracer (DET) مفعلاً، تُعيد الدالة E_NOT_OK إذا لم تتمكن وحدة EA من قبول الطلب ([SWS_Ea_00093]). وإذا لم يكن DET مفعلاً، فمن المرجح وفقاً لنص المواصفة ألا يتم إرجاع E_NOT_OK في حالة حدوث خطأ. سؤال Q-5015a2135dbd4723 (مفتوح)
  • التزامن والقيود: تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) ([SWS_Ea_00093]). لذلك، يجب على جهات الاستدعاء التأكد من تجنب الاستدعاءات المتوازية أو المتداخلة. يتوفر التصريح عبر ملف الترويسة Ea.h، ومعرّف الخدمة هو 0x09 ([SWS_Ea_00093]).

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

دالة 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 ولها معرّف الخدمة 0x10 [SWS_Ea_00094].

فيما يتعلق بالدلالة وتعريف الواجهة، تسري الخصائص التالية وفقًا لـ [SWS_Ea_00094]:

  • التوقيع والمعامِلات: لا تتوقع الدالة أي معامِلات تمرير (void) ولا تُرجع أي قيمة (void).
  • التزامنية: تتم معالجة الاستدعاء بشكل متزامن.
  • معالجة الأخطاء: تبلّغ الواجهة حصرياً عن الإتمام الناجح؛ ولا يتم تعريف رموز أخطاء أو رسائل أخطاء محددة لهذا الإشعار في العنصر.

فيما يتعلق بالتزامن، تم تحديد Ea_JobEndNotification على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Ea_00094]. لذلك، يجب على جهات الاستدعاء التأكد من عدم حدوث أي استدعاءات متوازية أو متداخلة. تفسير: من المرجح أن يتم استدعاء الدالة عادةً بواسطة مشغّل أدنى بمجرد انتهاء معالجته غير المتزامنة، حيث يفترض أن يضمن سياق الاستدعاء الترتيب المتسلسل دون إزاحة متبادلة. سؤال Q-296b61b743e7c9b8 (مفتوح)

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

دالة 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 وتمتلك معرّف الخدمة 0x11 [SWS_Ea_00095].

فيما يتعلق بمواصفات الواجهة واستخدامها، تنطبق الخصائص التالية:

  • المعاملات والقيمة المرجعة: لا تمتلك الدالة معاملات تمرير (لا in ولا out ولا inout) ولا قيمة مرجعة (التوقيع void Ea_JobErrorNotification(void)) [SWS_Ea_00095].
  • سلوك التنفيذ وقابلية إعادة الدخول: تتم معالجة الاستدعاء بشكل متزامن، ولكنه محدد على أنه غير قابل لإعادة الدخول (Non Reentrant) [SWS_Ea_00095]. لذلك يجب على المتصلين التأكد من إجراء الاستدعاءات بالتسلسل وعدم تداخلها عبر سياقات متوازية.
  • التفاعل: نظراً لأن الدالة تشير إلى فشل أمر غير متزامن، فمن المفترض عادةً أن يتم الاستدعاء بواسطة وحدة تجريد العتاد التابعة أو برنامج تشغيل الذاكرة بمجرد فشل الأمر (تفسير). سؤال Q-810e76dee987a5a1 (مفتوح)

لم يتم تعريف رموز أخطاء محددة أو أخطاء تطوير (DET) أو أخطاء إنتاج (DEM) لهذه الخدمة؛ ولا يتم تحديد سلوك خطأ منفصل للاستدعاء نفسه في العنصر.

تم إنشاء هذا النص بواسطة ذكاء اصطناعي. تستند جميع البيانات الفنية حصرياً إلى بيانات المواصفة من 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].

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

تمتلك الواجهة معرّف الخدمة 0x12 وتُصرَّح عبر ملف الترويسة SchM_Ea.h [SWS_Ea_00096]. تفسير: نظراً لتوفيرها عبر SchM_Ea.h، فمن المرجح أن يتم الاستدعاء عادةً بشكل دوري بواسطة Schedule Manager (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 · الأصل الألماني

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

تُستخدم دالة رد النداء NvM_JobEndNotification وفقاً لـ [SWS_Ea_00099] في تجريد الذاكرة الأساسي للإشارة إلى الانتهاء الناجح للطلب دون أخطاء إلى الوحدات الأعلى. تمتلك الخدمة التوقيع void NvM_JobEndNotification(void)؛ ولا تتوقع معامِلات إدخال أو إدخال/إخراج ولا تُرجع أي قيمة [SWS_Ea_00099]. تم تحديد التنفيذ ليكون متزامناً، ويتم توفير الواجهة عبر ملف الترويسة NvM_MemIf.h [SWS_Ea_00099].

التزامن وشروط الاستدعاء

فيما يتعلق بسلوك وقت التشغيل، تم تصنيف NvM_JobEndNotification على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Ea_00099]. لذلك، يجب على الكيانات المستدعية التأكد من عدم استدعاء الإشعار بشكل مقاطع أو متوازٍ من سياقات متعددة. تفسير: من المرجح أن تنفذ طبقة تجريد الذاكرة الدالة عادةً ضمن وظيفتها الدورية الرئيسية أو بعد انتهاء طلب مشغّل غير متزامن بمجرد التأكد من انتهاء العملية دون أخطاء. سؤال Q-adabc07be0a3e7d2 (مفتوح)

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

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

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

دالة 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].
  • التزامن: تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (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#302d9cf5
Content hash
302d9cf5
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);

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);

Erases the block Block Number.

Std_ReturnType Ea_EraseImmediateBlock (uint16 BlockNumber);

Service to return the Job Result.

MemIf_JobResultType Ea_GetJobResult (void);

Invalidates the block Block Number.

Std_ReturnType Ea_InvalidateBlock (uint16 BlockNumber);

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

void Ea_JobEndNotification (void);

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);

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

void NvM_JobEndNotification (void);

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

void NvM_JobErrorNotification (void);

دورية

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

void Ea_MainFunction (void);

الأنواع

Configuration data structure of the Ea module.