DEENESPTFRRUARHIKOZHNL

Flash EEPROM Emulation (Fee)

ModulFee (Flash EEPROM Emulation)
BSW-Modul-ID21
Standard-Header#include "Fee.h"
SWS-SpezifikationAUTOSAR_SWS_FlashEEPROMEmulation.pdf
ClusterMemory Services

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

يحاكي ذاكرة EEPROM ذات كتل منطقية على ذاكرة فلاش ويخدم طلبات القراءة والكتابة غير المتزامنة.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: claude-opus-5-5 · الجهد: high · درجة الحرارة: غير قابل للتحكم · الموجّه: 82b558e5a038 المصدر أسئلة مفتوحة (6)
المرساة السببية: R20-11 صالح اعتبارًا من R20-11 مُركَّب حديثًا لهذا الإصدار من المواصفة.
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يحاكي ذاكرة EEPROM ذات كتل منطقية على ذاكرة فلاش ويخدم طلبات القراءة والكتابة غير المتزامنة.

تقوم Fee بمطابقة الكتل المنطقية لذاكرة EEPROM المحاكاة على ذاكرة فلاش وتخدم الطلبات التي يصدرها NVRAM Manager عبر MemIf. يتم قبول طلبات القراءة والكتابة والمسح فقط ثم معالجتها بشكل غير متزامن في Fee_MainFunction [SWS_Fee_00097]. يوضح Fee_GetStatus وFee_GetJobResult التقدم والنتيجة. بعد Fee_Init، قد تكون الوحدة مشغولة في البداية بالإدارة الداخلية (MEMIF_BUSY_INTERNAL)، لكنها تقبل الطلبات بالفعل SWS Fee ص. 42. تتعلق طلبات الكتابة دائمًا بالكتلة بأكملها.

تقوم Fee بمطابقة الكتل المنطقية لذاكرة EEPROM المحاكاة على ذاكرة فلاش. تحدد BlockNumber في الوقت نفسه عنوان بدء الكتلة [SWS_Fee_00087]. تأتي الاستدعاءات من NVRAM Manager عبر Memory Abstraction Interface، التي تختار الخدمة المناسبة عبر DeviceIndex SWS MemIf ص. 18. يعمل برنامج تشغيل الفلاش Fls تحتها. تقدم Fee إفادات الرد عبر NvM_JobEndNotification وNvM_JobErrorNotification مباشرة إلى NVRAM Manager [SWS_Fee_00098]، [SWS_Fee_00099].

fee_kontext NvM NvM (NVRAM Manager) MemIf MemIf (Memory Abstraction Interface) NvM->MemIf MemIf_Read / MemIf_Write / MemIf_Cancel / MemIf_SetMode Fee Fee (Flash EEPROM Emulation) MemIf->Fee Fee_Read / Fee_Write / Fee_Cancel / Fee_GetStatus / Fee_GetJobResult Fee->NvM NvM_JobEndNotification / NvM_JobErrorNotification Fls Fls (Flash-Treiber) Fee->Fls Fls_Read / Fls_Write / Fls_Erase / Fls_Cancel / Fls_SetMode / Fls_BlankCheck Det DET Fee->Det Det_ReportError (optional) Fls->Fee Fee_JobEndNotification / Fee_JobErrorNotification EcuM EcuM EcuM->Fee Fee_Init SchM SchM (BSW Scheduler) SchM->Fee Fee_MainFunction (zyklisch)

مخطط السياق: Fee بين MemIf وFls، تمت تهيئتها بواسطة EcuM، ويتم تشغيلها دوريًا بواسطة SchM، مع إفادات رد مباشرة إلى NvM. المصادر: [SWS_Fee_00085]، [SWS_Fee_00097]، [SWS_Fee_00105].

يستدعي EcuM Fee_Init مع مجموعة التكوين المحددة؛ يدرج R20-11 هذه الخدمة على أنها غير متزامنة [SWS_Fee_00085]. بعد ذلك، تكون الحالة مضبوطة على MEMIF_BUSY_INTERNAL، ولكن يتم قبول الطلبات بالفعل. الاستدعاءات المتكررة لـ Fee_MainFunction وحدها هي التي تختتم الإدارة الداخلية وتؤدي إلى MEMIF_IDLE SWS Fee ص. 42. يوضح Fee_GetStatus حالة الوحدة، وFee_GetJobResult نتيجة آخر طلب تم قبوله [SWS_Fee_00090]، [SWS_Fee_00091].

fee_modulstatus start UNINIT MEMIF_UNINIT start->UNINIT BUSY_INTERNAL MEMIF_BUSY_INTERNAL UNINIT->BUSY_INTERNAL Fee_Init BUSY_INTERNAL->BUSY_INTERNAL Fee_MainFunction (الإدارة قيد التشغيل) IDLE MEMIF_IDLE BUSY_INTERNAL->IDLE Fee_MainFunction (Verwaltung beendet) BUSY MEMIF_BUSY BUSY_INTERNAL->BUSY Fee_Read / Fee_Write angenommen IDLE->BUSY Fee_Read / Fee_Write angenommen BUSY->IDLE Fee_Cancel BUSY->IDLE Auftrag beendet (Annahme)

مخطط الحالة: حالة الوحدة من MEMIF_UNINIT عبر MEMIF_BUSY_INTERNAL إلى MEMIF_IDLE وMEMIF_BUSY؛ وتعد العودة بعد نهاية الطلب المنتظمة مجرد افتراض. المصادر: [SWS_Fee_00090]، SWS Fee ص. 28.

تبلغ طلبات القراءة والكتابة والإبطال والمسح عبر E_OK عن قبولها فقط؛ وتتم معالجتها بشكل غير متزامن في Fee_MainFunction [SWS_Fee_00097]. يقرأ Fee_Read مقاطع اختيارية من كتلة، بينما يقرأ Fee_Write دائمًا الكتلة بأكملها بإزاحة صفر SWS Fee ص. 28. أثناء الكتابة، تعتبر الكتلة داخليًا «corrupted». ويجب التمييز بين هذا التمييز وبين إبطال الصلاحية بواسطة Fee_InvalidateBlock SWS Fee ص. 21.

يعد Fee_Cancel متزامنًا في R20-11 ويلغي طلبًا معلقًا عبر برنامج تشغيل الفلاش [SWS_Fee_00089]. في حال عدم وجود طلب معلق، يبلغ عن FEE_E_INVALID_CANCEL [SWS_Fee_91002]. يكتشف برنامج التشغيل أخطاء الفلاش. وتبلغ Fee عنها وفقًا للتكوين بطريقتين: كـ MEMIF_JOB_FAILED للاستعلام أو عبر NvM_JobErrorNotification. يتولى NVRAM Manager عملية الاستعادة ErrorDescription ص. 40. تبلغ Fee عن أخطاء سوء الاستخدام مثل غياب التهيئة أو أرقام الكتل غير الصالحة كأخطاء تطوير [SWS_Fee_00010].

الدور في مكدس ذاكرة NV: ذاكرة الفلاش كذاكرة EEPROM محاكاة

توفر Flash EEPROM Emulation (Fee) كتلًا منطقية للطبقة العليا وتطابقها على ذاكرة الفلاش. تحدد BlockNumber في الوقت نفسه عنوان بدء الكتلة في الذاكرة [SWS_Fee_00087]، [SWS_Fee_00088]. لا يستدعي NVRAM Manager Fee بشكل مباشر، بل عبر Memory Abstraction Interface. يستدعي MemIf_Read وMemIf_Write وظيفة وحدة التجريد المحددة عبر DeviceIndex، ويمرران قيمتها المرجعة SWS MemIf ص. 18، SWS MemIf ص. 19. وتعتمد Fee نحو الأسفل على برنامج تشغيل الفلاش Fls. ومن هناك تستورد Fls_AddressType وFls_LengthType، ومن MemIf أنواع الحالة والنتيجة والوضع [SWS_Fee_00084].

تمر إفادات الرد بمحاذاة MemIf دون المرور عبرها. لا توفر MemIf نفسها أي ردود نداء (Callbacks)؛ إذ يوفر NVRAM Manager روتينات إعادة الاتصال لوحدات التجريد الموجودة بالأسفل SWS MemIf ص. 24. تستدعي Fee تحقيقًا لذلك NvM_JobEndNotification وNvM_JobErrorNotification [SWS_Fee_00098]، [SWS_Fee_00099]. وبالمقابل، يبلغ برنامج التشغيل عن انتهاء طلباته عبر Fee_JobEndNotification وFee_JobErrorNotification إلى Fee [SWS_Fee_00095]، [SWS_Fee_00096]. تتم تهيئة Fee بواسطة EcuM، ويتم تشغيلها دوريًا بواسطة Basic Software Scheduler SWS Fee ص. 42.

fee_kontext NvM NvM (NVRAM Manager) MemIf MemIf (Memory Abstraction Interface) NvM->MemIf MemIf_Read / MemIf_Write / MemIf_Cancel / MemIf_SetMode Fee Fee (Flash EEPROM Emulation) MemIf->Fee Fee_Read / Fee_Write / Fee_Cancel / Fee_GetStatus / Fee_GetJobResult Fee->NvM NvM_JobEndNotification / NvM_JobErrorNotification Fls Fls (Flash-Treiber) Fee->Fls Fls_Read / Fls_Write / Fls_Erase / Fls_Cancel / Fls_SetMode / Fls_BlankCheck Det DET Fee->Det Det_ReportError (optional) Fls->Fee Fee_JobEndNotification / Fee_JobErrorNotification EcuM EcuM EcuM->Fee Fee_Init SchM SchM (BSW Scheduler) SchM->Fee Fee_MainFunction (zyklisch)

مخطط السياق: تقع Fee بين MemIf وFls. وتتم تهيئتها بواسطة EcuM، وتشغيلها دوريًا بواسطة SchM، وتبلغ عن نهايات الطلبات مباشرة إلى NvM. المصادر: [SWS_Fee_00085]، [SWS_Fee_00097]، [SWS_Fee_00098]، [SWS_Fee_00104]، [SWS_Fee_00105]، SWS MemIf ص. 18.

يذكر R20-11 من بين خدمات برنامج التشغيل المطلوبة الوظائف التالية، ضمن وظائف أخرى [SWS_Fee_00105]:

  • Fls_Read وFls_Write وFls_Erase وFls_Compare،
  • Fls_Cancel وFls_GetStatus وFls_GetJobResult وFls_SetMode،
  • Det_ReportRuntimeError.

اختياريًا، يضاف Det_ReportError وFls_BlankCheck [SWS_Fee_00104]. تدرج نسخة لاحقة من المطلب نفسه MemAcc_BlankCheck بدلاً من ذلك SWS Fee ص. 40. يظل متغير Fls هو المعياري الإلزامي لـ R20-11.

بدء التشغيل: من Fee_Init حتى الجاهزية للقبول

يستدعي EcuM Fee_Init بمؤشر إلى مجموعة التكوين المحددة [SWS_Fee_00085]. النوع Fee_ConfigType عبارة عن هيكل يحتوي على عناصر خاصة بالتنفيذ [SWS_Fee_00188]. ومما تجدر الإشارة إليه أن R20-11 يدرج Fee_Init على أنه غير متزامن [SWS_Fee_00085]. وفقًا لسجل التغييرات، لا يلزم اكتمال التهيئة داخل Fee_Init، وقد تم تعديل آلة الحالات وفقًا لذلك SWS Fee ص. 4.

يوضح مخطط التسلسل الخاص بالمواصفة مجريات العملية SWS Fee ص. 42:

  1. بعد Fee_Init، تكون حالة الوحدة مضبوطة على MEMIF_BUSY_INTERNAL.
  2. يمكن قبول الطلبات بالفعل في هذه الحالة.
  3. يستدعي المجدول Fee_MainFunction حتى تكتمل الإدارة الداخلية.

تحدد نسخة لاحقة أن Fee_MainFunction يغير الحالة حينئذٍ من MEMIF_BUSY_INTERNAL إلى MEMIF_IDLE. وقد تستغرق الإدارة في هذا السياق أكثر من استدعاء واحد SWS Fee ص. 38. تظهر النسخة الأقدم من المخطط البياني الاستدعاء المتزامن فقط بواسطة EcuM SWS Fee ص. 38.

Hochlauf von FeeEcuMFeeSchMFee_Init(ConfigPtr)Modulstatus := MEMIF_BUSY_INTERNALFee_Init()يتم قبول المهام بالفعل بدءًا من هناloopالإدارة الداخلية لا تزال مطلوبةFee_MainFunction()interne VerwaltungsoperationStatus bleibt MEMIF_BUSY_INTERNALFee_MainFunction()Fee_MainFunction()Verwaltung beendetModulstatus := MEMIF_IDLEFee_MainFunction()

مخطط التسلسل: تنقل Fee_Init الوحدة إلى MEMIF_BUSY_INTERNAL. والاستدعاءات المتكررة لـ Fee_MainFunction وحدها هي التي تختتم الإدارة الداخلية وتؤدي إلى MEMIF_IDLE. المصادر: [SWS_Fee_00085]، [SWS_Fee_00097]، SWS Fee ص. 42.

يعالج Fee_MainFunction طلبات القراءة والكتابة والمسح المطلوبة بالإضافة إلى عمليات الإدارة الداخلية [SWS_Fee_00097]. كوظيفة مجدولة، يتم استدعاؤها مباشرة من Basic Software Scheduler. ليس لها معلمات ولا قيمة مرجعة، وليست قابلة لإعادة الدخول (Reentrant) SWS Fee ص. 40.

حالة الوحدة ونتيجة الطلب كمتغيرات تحكم

تتحكم الطبقة العليا في استدعاءاتها عبر استعلامين متزامنين. يرجع Fee_GetStatus واحدة من أربع قيم [SWS_Fee_00090]:

  • MEMIF_UNINIT: الوحدة غير مهيأة.
  • MEMIF_IDLE: الوحدة في وضع الخمول.
  • MEMIF_BUSY: يوجد طلب من الطبقة العليا قيد المعالجة.
  • MEMIF_BUSY_INTERNAL: توجد عملية إدارة داخلية قيد التشغيل.

كمثال على عملية إدارة داخلية، تذكر المواصفة إعادة تنظيم ذاكرة الفلاش المستخدمة (Garbage Collection) SWS Fee ص. 30. تُقبل الطلبات الجديدة في كل من MEMIF_IDLE وMEMIF_BUSY_INTERNAL وتؤدي إلى MEMIF_BUSY SWS Fee ص. 28. بعد نهاية الطلب المنتظمة، من المفترض أن تعود الحالة إلى MEMIF_IDLE. سؤال Q-beae785a1ba1cbec (مفتوح) العودة إلى MEMIF_IDLE موثقة صراحة هنا فقط لحالة الإلغاء SWS Fee ص. 29.

fee_modulstatus start UNINIT MEMIF_UNINIT start->UNINIT BUSY_INTERNAL MEMIF_BUSY_INTERNAL UNINIT->BUSY_INTERNAL Fee_Init BUSY_INTERNAL->BUSY_INTERNAL Fee_MainFunction (الإدارة قيد التشغيل) IDLE MEMIF_IDLE BUSY_INTERNAL->IDLE Fee_MainFunction (Verwaltung beendet) BUSY MEMIF_BUSY BUSY_INTERNAL->BUSY Fee_Read / Fee_Write angenommen IDLE->BUSY Fee_Read / Fee_Write angenommen BUSY->IDLE Fee_Cancel BUSY->IDLE Auftrag beendet (Annahme)

مخطط الحالة: دورة حياة حالة الوحدة من MEMIF_UNINIT عبر MEMIF_BUSY_INTERNAL إلى MEMIF_IDLE وMEMIF_BUSY. تم تمييز الانتقال عند نهاية الطلب المنتظمة كافتراض. المصادر: [SWS_Fee_00090]، SWS Fee ص. 42، SWS Fee ص. 28، SWS Fee ص. 29.

يشير Fee_GetJobResult إلى آخر طلب تم قبوله [SWS_Fee_00091]، SWS Fee ص. 31. ويميز ست نتائج:

  • MEMIF_JOB_OK: انتهى الطلب بنجاح.
  • MEMIF_JOB_PENDING: الطلب قيد الانتظار أو لا يزال قيد التشغيل.
  • MEMIF_JOB_CANCELED: تم إلغاء الطلب.
  • MEMIF_JOB_FAILED: فشل الطلب.
  • MEMIF_BLOCK_INCONSISTENT: قد تحتوي الكتلة على بيانات تالفة.
  • MEMIF_BLOCK_INVALID: تم إبطال صلاحية الكتلة؛ القراءة غير ممكنة.

تصف الحالة إذن الوحدة، بينما تصف النتيجة الطلب الفردي؛ ويجب الاستعلام عن كليهما بصورة منفصلة [SWS_Fee_00090].

طلبات القراءة والكتابة وإدارة الكتل

تعمل خدمات الطلبات بشكل غير متزامن: يعني E_OK فقط أنه تم قبول الطلب [SWS_Fee_00087]، [SWS_Fee_00088]. يحسب Fee_Read عنوان القراءة من عنوان بدء الكتلة وBlockOffset. يُسمح للإزاحة والطول باتخاذ أي قيمة ضمن نطاق نوعهما. يتيح ذلك قراءة أي عدد من البايتات بدءًا من أي موضع في الكتلة SWS Fee ص. 26. إذا تم تكوين Fls_BlankCheck في برنامج تشغيل الفلاش، يتحقق Fee_Read باستخدامه مسبقًا مما إذا كانت المنطقة قابلة للقراءة. يتجنب ذلك على سبيل المثال تسبب الخلايا الممسوحة ولكن غير المبرمجة في إطلاق أخطاء ECC [SWS_Fee_00187].

في المقابل، يكتب Fee_Write دائمًا الكتلة بأكملها؛ وتكون الإزاحة ثابتة عند الصفر SWS Fee ص. 28. ينبع ذلك من المطلب الأسمى المتمثل في أن طلبات المسح والكتابة تبدأ دائمًا عند الحد الافتراضي 64K: تتم كتابة الكتلة كليًا أو لا تتم كتابتها على الإطلاق RS MemHwAb ص. 24. عند القبول، تضبط Fee الحالة على MEMIF_BUSY والنتيجة على MEMIF_JOB_PENDING وترجع E_OK. ينطبق شرط القبول نفسه على Fee_Read SWS Fee ص. 26.

لضمان إمكانية التعرف على عمليات الكتابة المتقطعة، تحتفظ Fee بمعلومات صحة داخلية لكل كتلة SWS Fee ص. 21. عند بدء عملية كتابة، يتم تمييز الكتلة بأنها «corrupted»، وبعد الانتهاء بنجاح يتم تمييزها مجددًا بأنها «not corrupted». يجب فصل هذه المعلومة بشكل صارم عن الصلاحية التي تضبطها الطبقة العليا باستخدام Fee_InvalidateBlock.

مهمة كتابة عبر مكدس ذاكرة NVNvMMemIfFeeSchMFlsUse Case: Annahme (synchron)MemIf_Write(DeviceIndex, BlockNumber, DataBufferPtr)Fee_Write(BlockNumber, DataBufferPtr)Offset fest 0 (ganzer Block)Status := MEMIF_BUSYErgebnis := MEMIF_JOB_PENDINGE_OKE_OKUse Case: Abarbeitung (asynchron)Fee_MainFunction()Block als „corrupted“ markierenFls_Write(…) (Annahme)Fee_JobEndNotification()Block als „not corrupted“ markierenErgebnis := MEMIF_JOB_OKoptBenachrichtigung konfiguriertNvM_JobEndNotification()

مخطط التسلسل: يتم قبول طلب كتابة بشكل متزامن، لكن يتم إنهاؤه بشكل غير متزامن عبر Fee_MainFunction وإفادة رد برنامج التشغيل. يتم خلال ذلك تمييز الكتلة أولاً كـ «corrupted» وفي النهاية مجددًا كـ «not corrupted». المصادر: [SWS_Fee_00088]، [SWS_Fee_00095]، [SWS_Fee_00098]، SWS Fee ص. 28، SWS Fee ص. 21، SWS Fee ص. 37.

تُعلِن Fee_InvalidateBlock كتلةً منطقية غير صالحة [SWS_Fee_00092]. ولتحقيق ذلك، تستدعي دالة المسح الخاصة ببرنامج التشغيل و/أو تُعدّل معلومات الإدارة الداخلية التي يجب أن تكون هي نفسها مخزنة بشكل غير متطاير SWS Fee ص. 32. إذا قرأت الطبقة العليا مثل هذه الكتلة لاحقًا، تضبط Fee_MainFunction النتيجة على MEMIF_BLOCK_INVALID. وإذا كانت مهيأة، فإنها تستدعي بالإضافة إلى ذلك إخطار الخطأ للطبقة العليا SWS Fee ص. 38.

Fee_EraseImmediateBlock [SWS_Fee_00094] مخصصة لخدمات التشخيص أو خدمات النظام المماثلة. وبواسطتها، تمسح هذه الخدمات مسبقًا نطاق البيانات الفورية (Immediate data) عند الحاجة. ويعتمد ما إذا كان المسح يتم فعليًا على التنفيذ SWS Fee ص. 35. وبالنسبة إلى Fee_InvalidateBlock وFee_EraseImmediateBlock، تنص مواصفة R20-11 صراحةً على إرجاع E_NOT_OK فقط عند تفعيل DET [SWS_Fee_00092]، [SWS_Fee_00094].

الإفادات، والإلغاء، وتغيير النمط

يُبلّغ برنامج تشغيل Flash عن الانتهاء الناجح لمهمة برنامج تشغيل عبر Fee_JobEndNotification [SWS_Fee_00095]. بعد ذلك، تقوم Fee بإدارة الكتلة اللازمة، ثم تستدعي، إذا كانت مهيأة، إخطار انتهاء المهمة للطبقة العليا. وتضبط أي نتيجة لا تزال على MEMIF_JOB_PENDING لتصبح MEMIF_JOB_OK SWS Fee ص. 37. يمكن أن تعمل عمليات الاستدعاء الراجع (Callbacks)، وفقًا لبنية مكدس الذاكرة، على مستوى المقاطعة وتنتشر صعودًا عبر طبقات متعددة. لذلك يجب أن يظل زمن تنفيذها قصيرًا؛ ويحدد تصميم النظام ما إذا كانت الاستدعاءات على مستوى المقاطعة مسموحًا بها SWS Fee ص. 36.

تستدعي Fee_Cancel دالة الإلغاء الخاصة ببرنامج تشغيل Flash [SWS_Fee_00089]. وتصل الطبقة العليا إلى الخدمة عبر MemIf_Cancel SWS MemIf ص. 20. ولا يصبح الإلغاء فعالاً إلا في الحالة MEMIF_BUSY: حيث تستدعي Fee إلغاء برنامج التشغيل، وتعيد تعيين متغيراتها الداخلية، وتعود إلى MEMIF_IDLE. وإذا كانت DET مفعلة، تتحقق Fee مسبقًا مما إذا كانت الوحدة مهيأة SWS Fee ص. 29.

في Fee_Cancel تختلف الإصدارات عن بعضها البعض. النسخة اللاحقة المذكورة تُصنف الخدمة على أنها غير متزامنة، بينما تُصنفها R20-11 على أنها متزامنة [SWS_Fee_00089]. والتصنيف المتزامن هو المعتمد بالنسبة لـ R20-11.

fee_cancel start aufruf Fee_Cancel() aufgerufen start->aufruf d_det DET نشط و الحالة MEMIF_UNINIT؟ aufruf->d_det e_uninit FEE_E_UNINIT melden d_det->e_uninit نعم d_busy مهمة معلقة (الحالة MEMIF_BUSY)؟ d_det->d_busy لا ende e_uninit->ende Abbruch (Annahme) fls استدعاء دالة الإلغاء لمشغل الذاكرة الوميضية (Flash) d_busy->fls نعم e_cancel FEE_E_INVALID_CANCEL melden d_busy->e_cancel لا reset إعادة ضبط المتغيرات الداخلية، الحالة := MEMIF_IDLE fls->reset reset->ende e_cancel->ende

مخطط النشاط: تتفرع Fee_Cancel بعد فحص DET وحالة الوحدة. يتم إلغاء المهمة المعلقة فقط؛ وإلا يُبلَّغ عن FEE_E_INVALID_CANCEL. المصادر: [SWS_Fee_00089]، [SWS_Fee_91002]، [SWS_Fee_00010]، SWS Fee ص. 29.

تُبدّل Fee_SetMode نمط تشغيل برنامج تشغيل Flash الموجود أسفلها [SWS_Fee_00086]. يوضح المخطط التوضيحي المقترن سلسلة الاستدعاء NvM ← MemIf_SetMode ← Fee_SetMode ← Fls_SetMode SWS Fee ص. 39. تُعد Fee_GetVersionInfo خدمة Fee الوحيدة القابلة لإعادة الدخول (reentrant) [SWS_Fee_00093]. وعند تفعيل DET، تتحقق من المؤشر المُمرَّر مقابل NULL SWS Fee ص. 34.

التهيئة والتكامل

تتلقى Fee التوصيف عبر Fee_ConfigType المُمرَّر إلى Fee_Init [SWS_Fee_00085]، [SWS_Fee_00188]. وتُظهر بنية التضمين لإصدار أسبق من المواصفة التقسيم التالي SWS Fee ص. 11:

  • تُضمّن Fee_Cfg.h كلاً من MemIf_Types.h وFls.h، واختياريًا أيضًا NvM_Cbk.h.
  • تحتوي Fee_Lcfg.c وFee_PBcfg.c على بيانات التوصيف.
  • يرتبط المجدول عبر SchM_Fee.h، وترتبط DET اختياريًا عبر Det.h.

بالنسبة لـ R20-11، يُستخدم هذا الشكل للإرشاد فقط. إذا نُفّذت Fee كمكتبة خاصة بالشركة المصنعة، فإن مخططات التسلسل تكون ملزمة فقط للعلاقات مع EcuM وMemIf، وليس للاستدعاءات إلى برنامج التشغيل SWS Fee ص. 42.

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

تُعرّف Fee خمسة رموز كأخطاء تطوير [SWS_Fee_00010]:

  • FEE_E_UNINIT (0x01): استُدعيت الخدمة قبل التهيئة.
  • FEE_E_INVALID_BLOCK_NO (0x02): رقم كتلة غير صالح.
  • FEE_E_INVALID_BLOCK_OFS (0x03): إزاحة كتلة غير صالحة.
  • FEE_E_PARAM_POINTER (0x04): مؤشر بيانات غير صالح.
  • FEE_E_INVALID_BLOCK_LEN (0x05): قيمة طول غير صالحة.

تُضيف R20-11 رمزين إضافيين [SWS_Fee_91002]. ينطبق FEE_E_BUSY (0x06) على الاستدعاءات أثناء معالجة مهمة مستخدم. وينطبق FEE_E_INVALID_CANCEL (0x08) على Fee_Cancel بدون وجود مهمة معلقة. وبناءً على ذلك، يُرجَّح رفض أي مهمة جديدة تُقدَّم في الحالة MEMIF_BUSY والرد بـ E_NOT_OK. سؤال Q-92062834653929da (مفتوح) القاعدة المقترنة متوفرة هنا بشكل غير مكتمل فقط SWS Fee ص. 28.

يكتشف برنامج تشغيل Flash أخطاء ذاكرة Flash؛ وتعتمد طريقة استجابة Fee لذلك على التنفيذ ErrorDescription ص. 40. ويتم الإبلاغ، بحسب التوصيف، عبر أحد طريقين: إما أن تستعلم MemIf عن Fee_GetJobResult وتتلقى MEMIF_JOB_FAILED، أو تستدعي Fee بشكل نشط NvM_JobErrorNotification. وتتولى وحدة NVRAM Manager عملية الاستعادة. وتتعرف الطبقة العليا على وحدة غير مهيأة من خلال MEMIF_UNINIT في Fee_GetStatus ErrorDescription ص. 53، [SWS_Fee_00090].

إبلاغ عن خطأ في الذاكرة الوميضية (Flash)FlsFeeMemIfNvMFee_JobErrorNotification() (Annahme)implementierungsspezifische FehlerbehandlungErgebnis := MEMIF_JOB_FAILEDaltCallback konfiguriertNvM_JobErrorNotification()Abfrage per PollingFee_GetJobResult()MEMIF_JOB_FAILEDالاستعادة بواسطة NVRAM Manager

مخطط التسلسل: يصل خطأ برنامج التشغيل إلى الطبقة العليا إما عبر استدعاء راجع إلى NvM أو عبر الاقتراع الدوري لـ Fee_GetJobResult. المصادر: [SWS_Fee_00096]، [SWS_Fee_00099]، [SWS_Fee_00091]، ErrorDescription ص. 40.

بالنسبة لتناسق البيانات، يصف رسم توضيحي من R22-11 سلسلة المعلومات ErrorDescription ص. 64:

  1. تتحقق Fee من تناسق البيانات المقروءة وتمرر الخطأ إلى NVRAM Manager.
  2. يُبلّغ NVRAM Manager عن NVM_E_INTEGRITY_FAILED إلى DEM.
  3. يبدأ إجراءات الاستعادة المُهيأة: إعادة القراءة، أو كتلة زائدة (redundant block)، أو كتلة ROM.
  4. إذا فشلت هذه الإجراءات، فإنه يضبط النتيجة NVM_REQ_INTEGRITY_FAILED.

على جانب Fee، يُرجّح أن يقابل ذلك النتيجة MEMIF_BLOCK_INCONSISTENT [SWS_Fee_00091]. سؤال Q-a1846c349d831e17 (مفتوح)

fee_konsistenz Fee Fee Fee->Fee (1) التحقق من اتساق البيانات المقروءة NvM NvM (NVRAM Manager) Fee->NvM (2) Fehlerstatus weiterleiten NvM->NvM (4) Wiederherstellung: read retry, redundanter Block, ROM-Block Dem DEM NvM->Dem (3) NVM_E_INTEGRITY_FAILED Ergebnis نتيجة مهمة NvM NvM->Ergebnis (5)/(6) Wiederherstellung gescheitert: NVM_REQ_INTEGRITY_FAILED

مخطط التعاون: تمرر Fee خطأ التناسق إلى NvM. يُبلّغ NvM الخطأ إلى DEM، ويحاول الاستعادة، ويضبط نتيجة NvM عند الفشل (حسب R22-11). المصادر: ErrorDescription ص. 64.

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

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

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

Flash EEPROM Emulation (Fee)

Provides emulation of EEPROM-like data blocks on Flash memory devices.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

دالة Fee_Init [SWS_Fee_00085] 📄 PDF

void Fee_Init (const Fee_ConfigType* ConfigPtr);

Service to initialize the FEE module.

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

تُستخدم الدالة Fee_Init كخدمة مركزية لتهيئة وحدة محاكاة Flash EEPROM المسماة (FEE) [SWS_Fee_00085]. يتم الاستدعاء عبر الواجهة المصرح عنها في Fee.h باستخدام معرف الخدمة 0x00 [SWS_Fee_00085]. ومُعامل الإدخال الوحيد الذي يتم تمريره هو ConfigPtr، والذي يعمل كمؤشر إلى مجموعة بيانات التكوين المحددة من النوع const Fee_ConfigType* [SWS_Fee_00085]. لا توجد أي مُعاملات إدخال/إخراج إضافية أو مُعاملات إخراج بحتة محددة، ولا تُرجع الدالة أي قيمة (void) [SWS_Fee_00085].

على الرغم من كونها دالة تهيئة أساسية، إلا أن دلالات التنفيذ مصنفة صراحةً في المواصفة على أنها غير متزامنة (Asynchronous) [SWS_Fee_00085]. التفسير: نظراً لأن الدالة تعمل بشكل غير متزامن، فمن المرجح أن يؤدي استدعاء Fee_Init إلى مجرد إطلاق تهيئة الوحدة، في حين تكتمل خطوات التهيئة المستغرقة للوقت في الخلفية دون حظر [SWS_Fee_00085]. سؤال Q-7d91ac2e51869606 (مفتوح)

فيما يتعلق بالتزامن وسياق الاستدعاء، تنص المواصفة على أن Fee_Init غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Fee_00085]. وتبعاً لذلك، لا يجوز استدعاء الدالة بشكل متوازٍ أو متداخل من سياقات مختلفة في أي وقت [SWS_Fee_00085].

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

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Fee_SetMode [SWS_Fee_00086] 📄 PDF

void Fee_SetMode (MemIf_ModeType Mode);

Function to switch the mode of the underlying Flash Driver

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

الاستخدام وسياق الاستدعاء

تُستخدم الدالة Fee_SetMode لتبديل وضع تشغيل برنامج تشغيل الفلاش الأساسي ([SWS_Fee_00086]). يتم توفيرها عبر ملف الترويسة Fee.h بمعرّف الخدمة 0x01 ([SWS_Fee_00086]). تتطلب الخدمة كمعلمة إدخال وحيدة Mode (من النوع MemIf_ModeType)، والتي تحدد وضع التشغيل المطلوب لبرنامج تشغيل الفلاش ([SWS_Fee_00086]). لا يتم تمرير أي معلمات إخراج ولا قيمة إرجاع (void) ([SWS_Fee_00086]).

الدلالات غير المتزامنة والتزامن

الواجهة محددة بأنها غير متزامنة ([SWS_Fee_00086]). ونظرًا لعدم إرجاع قيمة للدالة بعد الاستدعاء، يُرجّح أن عملية التبديل الفعلية لأجهزة الفلاش تجري بتأخير زمني في الخلفية. سؤال Q-9dbc267f51e150af (مفتوح) فيما يتعلق بسياق الاستدعاء، تم تصنيف Fee_SetMode على أنها غير قابلة لإعادة الدخول (Non Reentrant) ([SWS_Fee_00086]). لذلك، يجب على جهات الاستدعاء التأكد من عدم استدعاء الدالة في نفس الوقت أو بشكل مقاطِع من سلاسل عمليات (threads) أو مهام مختلفة.

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

في مقتطف المواصفات الحالي، لم يتم تحديد رموز خطأ مخصصة، أو رسائل خطأ DET أو أحداث DEM لـ Fee_SetMode ([SWS_Fee_00086]). كما لم يتم تحديد علاقات مباشرة بمتطلبات إضافية. تفسير: يُرجّح أن أي تحقق محتمل من قيم الأوضاع غير الصالحة تتم معالجته داخليًا في برنامج التشغيل أو في الوحدة Fee دون إرجاع خطأ صريح إلى جهة الاستدعاء. سؤال (مفتوح)

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

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Fee_Read [SWS_Fee_00087] 📄 PDF

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

Service to initiate a read job.

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

الاستخدام

تُستخدم الدالة Fee_Read لبدء مهمة قراءة غير متزامنة في وحدة Flash EEPROM Emulation، ويتم التصريح عنها عبر ملف الرأس Fee.h [SWS_Fee_00087]. تمتلك الدالة معرّف الخدمة 0x02 وتقبل مُعاملات التمرير التالية [SWS_Fee_00087]:

  • Block Number: رقم الكتلة المنطقية، والذي يحدد في الوقت نفسه عنوان البداية الخاص بها في ذاكرة الفلاش.
  • Block Offset: إزاحة القراءة داخل الكتلة المعنية.
  • Length: عدد البايتات المطلوب قراءتها من الكتلة.
  • Data Buffer Ptr: مؤشر إلى المخزن المؤقت للوجهة لتخزين البيانات المقروءة.

تُرجع الدالة Std_ReturnType كقيمة إرجاع: يشير E_OK إلى أن مهمة القراءة المطلوبة قد قُبلت من قِبل الوحدة؛ بينما يشير E_NOT_OK إلى أن المهمة قد رُفضت [SWS_Fee_00087].

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

تم تحديد استدعاء Fee_Read على أنه غير قابل لإعادة الدخول (Non Reentrant) وغير متزامن (Asynchronous) [SWS_Fee_00087].

التفاعل مع مشغل الفلاش

إذا كانت الدالة Fls_BlankCheck مهيأة في برنامج تشغيل الفلاش، فيجب على Fee_Read استدعاء هذه الدالة [SWS_Fee_00187]. يُستخدم هذا للتحقق المسبق مما إذا كان بالإمكان قراءة منطقة الذاكرة دون التسبب في أخطاء ECC الناتجة مثلاً عن خلايا الفلاش الممسوحة ولكن غير المبرمجة بعد [SWS_Fee_00187].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفات AUTOSAR CP R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة Fee_Write [SWS_Fee_00088] 📄 PDF

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

Service to initiate a write job.

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

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

تُستخدم الدالة Fee_Write كخدمة لبدء مهمة كتابة في وحدة محاكاة Flash-EEPROM وفقاً لـ [SWS_Fee_00088]. التصريح متاح عبر ملف الرأس Fee.h. يتم الاستدعاء بشكل غير متزامن: تقوم الدالة فقط بإطلاق عملية الكتابة ولا تُحظر حتى الاكتمال الفعلي لعملية الكتابة.

تم تحديد مُعاملين لتمرير بيانات الكتابة [SWS_Fee_00088]:

  • BlockNumber (uint16): يحدد رقم الكتلة المنطقية ويحدد في الوقت نفسه عنوان البداية لهذه الكتلة في الـ EEPROM.
  • DataBufferPtr (const uint8*): مؤشر إلى مخزن البيانات المؤقت الذي يحتوي على بيانات الحمولة الصافية المراد كتابتها.

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

تشير قيمة الإرجاع من النوع Std_ReturnType على الفور إلى ما إذا كان قد أمكن قبول مهمة الكتابة من قِبل الوحدة [SWS_Fee_00088]:

  • E_OK: تم قبول المهمة المطلوبة من قِبل الوحدة.
  • E_NOT_OK: لم تقبل الوحدة المهمة.

فيما يتعلق بالتزامن، تم تحديد Fee_Write على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Fee_00088]. لذلك يجب على جهات الاستدعاء التأكد من عدم استدعاء الدالة بالتزامن من سياقات مختلفة. معرّف الخدمة للدالة هو 0x03 [SWS_Fee_00088]. التفسير: من المرجح أن تتم معالجة النقل الفعلي للبيانات بعد إرجاع E_OK في الخلفية بشكل غير متزامن عبر دورات الوحدة اللاحقة. سؤال Q-8bedddcf2371f6bf (مفتوح)

تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو بمثابة دليل توجيهي. المرجع المعتمد هو مواصفات AUTOSAR المشار إليها.

دالة Fee_Cancel [SWS_Fee_00089] 📄 PDF

void Fee_Cancel (void);

Service to call the cancel function of the underlying flash driver.

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

الدالة Fee_Cancel هي خدمة متزامنة تابعة للوحدة Fee لإعادة توجيه طلب إلغاء إلى برنامج تشغيل الفلاش الأساسي [SWS_Fee_00089]. تم التصريح عن هذه الخدمة عبر ملف الرأس Fee.h وتمتلك معرّف الخدمة الرقمي 0x04 [SWS_Fee_00089].

الاستخدام وسياق الاستدعاء

تمتلك الواجهة البنية void Fee_Cancel (void) [SWS_Fee_00089]. وتنطبق الخصائص التالية على المُعاملات والتنفيذ عند الاستدعاء وفقاً للمواصفة:

  • المُعاملات: لا تتوقع الدالة أي مُعاملات تمرير؛ ولا توجد مُعاملات إدخال أو إدخال/إخراج أو إخراج [SWS_Fee_00089].
  • قيمة الإرجاع: لا يتم إرجاع أي قيمة إلى جهة الاستدعاء [SWS_Fee_00089].
  • التزامنية: تم تحديد تنفيذ استدعاء الدالة على أنه متزامن (Synchronous) [SWS_Fee_00089].

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

فيما يتعلق بسلوك التزامن، تم تحديد Fee_Cancel على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Fee_00089]. لذلك، يجب على الكيانات المستدعية التأكد من عدم استدعاء الدالة بشكل متوازٍ أو متداخل من سياقات مهام أو مقاطعات مختلفة.

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

تتمثل المهمة المركزية لـ Fee_Cancel في استدعاء دالة الإلغاء الخاصة ببرنامج تشغيل الفلاش الأساسي [SWS_Fee_00089]. لم يتم تحديد رموز أخطاء أو قيم إرجاع أو رسائل خطأ معينة لهذه الدالة في الحمولة (Payload). وبما أنه لم يتم وصف معالجة للأخطاء، فمن المرجح أن يعتمد السلوك في حالة الخطأ على تنفيذ برنامج تشغيل الفلاش المُستدعى. سؤال Q-bb066b6c05a2eb12 (مفتوح)

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

دالة Fee_GetStatus [SWS_Fee_00090] 📄 PDF

MemIf_StatusType Fee_GetStatus (void);

Service to return the status. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlashEEPROMEmulation

دالة Fee_GetJobResult [SWS_Fee_00091] 📄 PDF

MemIf_JobResultType Fee_GetJobResult (void);

Service to query the result of the last accepted job issued by the upper layer software.

دالة Fee_InvalidateBlock [SWS_Fee_00092] 📄 PDF

Std_ReturnType Fee_InvalidateBlock (uint16 BlockNumber);

Service to invalidate a logical block.

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

تُستخدم الدالة Fee_InvalidateBlock كخدمة لإبطال صلاحية كتلة منطقية في ذاكرة الفلاش [SWS_Fee_00092]. وهي متاحة عبر الترويسة Fee.h وتمتلك معرّف الخدمة 0x07 [SWS_Fee_00092].

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

يتم الاستدعاء بشكل غير متزامن؛ ومن ثم يتم إطلاق عملية الإبطال الفعلية كمهمة خلفية [SWS_Fee_00092]:

  • Block Number (uint16، إدخال): يشير إلى رقم الكتلة المنطقية، والذي يحدد في الوقت نفسه عنوان بدء الكتلة في ذاكرة الفلاش [SWS_Fee_00092].
  • قيمة الإرجاع (Std_ReturnType): تُرجع E_OK إذا تم قبول أمر إبطال الصلاحية بنجاح بواسطة الوحدة [SWS_Fee_00092].

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

إذا تعذر على الوحدة قبول الطلب، فسيتم إرجاع E_NOT_OK - ولكن وفقًا للمواصفات، يقتصر إرجاع هذا الخطأ صراحةً على التكوينات التي تم فيها تفعيل DET (only if DET is enabled) [SWS_Fee_00092]. تفسير: إذا تم إلغاء تفعيل DET، فيُرجّح ألا يتم إبلاغ جهة الاستدعاء برفض الأمر عبر E_NOT_OK، لأن المواصفات تربط إرجاع قيمة الخطأ هذه بتفعيل DET. سؤال Q-2e54187ddb69e481 (مفتوح)

التزامن والشروط الحدية

تم الإعلان عن الواجهة بأنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Fee_00092]. لذلك، يجب على جهات الاستدعاء التأكد من عدم حدوث أي استدعاءات متوازية أو مقاطِعة لـ Fee_InvalidateBlock طالما كان استدعاء الدالة السابق نشطًا [SWS_Fee_00092].

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

دالة Fee_EraseImmediateBlock [SWS_Fee_00094] 📄 PDF

Std_ReturnType Fee_EraseImmediateBlock (uint16 BlockNumber);

Service to erase a logical block.

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

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

توفر الدالة Fee_EraseImmediateBlock خدمة غير متزامنة لحذف كتلة منطقية، وتم الإعلان عنها عبر ملف الترويسة Fee.h [SWS_Fee_00094]. تمتلك الدالة معرّف الخدمة الست عشري 0x09 [SWS_Fee_00094]. تعمل Block Number من النوع uint16 كمعلمة إدخال وحيدة؛ وهي تحدد رقم الكتلة المنطقية وتحدد في نفس الوقت عنوان بدايتها في EEPROM [SWS_Fee_00094].

قيم الإرجاع ومعالجة الأخطاء

كقيمة إرجاع، تقدم الواجهة الحالة Std_ReturnType [SWS_Fee_00094]. تؤكد القيمة E_OK أن الوحدة قد استلمت أمر الحذف المطلوب بنجاح [SWS_Fee_00094]. إذا لم تقبل الوحدة الأمر، تُرجع الدالة E_NOT_OK؛ ومع ذلك، ووفقًا للمواصفات، فإن قيمة الإرجاع هذه تحدث فقط عند تفعيل مراقبة أخطاء DET [SWS_Fee_00094].

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

فيما يتعلق بالتزامن وشروط الاستدعاء، تم تصنيف Fee_EraseImmediateBlock على أنها غير قابلة لإعادة الدخول (Non Reentrant) وتعمل بشكل غير متزامن [SWS_Fee_00094]. لذلك، يجب على الوحدات المستدعية ضمان عدم إجراء استدعاء آخر للواجهة نفسها طالما أن الوحدة لا تزال مشغولة بالمعالجة.

إيضاح متعلق بالسياق استنادًا إلى مواصفات AUTOSAR.

دالة Fee_JobEndNotification [SWS_Fee_00095] 📄 PDF

void Fee_JobEndNotification (void);

Service to report to this module the successful end of an asynchronous operation. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlashEEPROMEmulation

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

تُستخدم الدالة Fee_JobEndNotification لإخطار الوحدة Fee بالاكتمال الناجح لعملية غير متزامنة ([SWS_Fee_00095]).

تنطبق المحددات التالية فيما يتعلق بالاستخدام والتوقيع:

  • التوقيع والمُعاملات: تمتلك الدالة التوقيع void Fee_JobEndNotification (void);. وهي لا تتوقع مُعاملات إدخال أو إدخال/إخراج أو إخراج، ولا تُرجع أي قيمة ([SWS_Fee_00095]).
  • ملف الرأس: يتوفر التصريح عبر Fee.h ([SWS_Fee_00095]).
  • معرّف الخدمة: تم تعريف الدالة عبر معرّف الخدمة 0x10 ([SWS_Fee_00095]).
  • التزامنية: تم تحديد الاستدعاء نفسه على أنه متزامن ([SWS_Fee_00095]).
  • التزامن: صُنفت العملية على أنها غير قابلة لإعادة الدخول (Non Reentrant) ([SWS_Fee_00095]).

التفاعل وسياق الاستدعاء: نموذجياً، يُتوقع أن يتم استدعاء رد النداء هذا بواسطة وحدة فرعية (مثل برنامج تشغيل الفلاش) للإشارة إلى نهاية مهمة كتابة أو مسح غير متزامنة. سؤال Q-8a3ccdba2024001f (مفتوح) وبسبب خاصية Non Reentrant، يجب على جهة الاستدعاء التأكد من عدم حدوث استدعاءات متزامنة ([SWS_Fee_00095]).

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

دالة Fee_JobErrorNotification [SWS_Fee_00096] 📄 PDF

void Fee_JobErrorNotification (void);

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

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

تُستخدم الدالة Fee_JobErrorNotification كخدمة إشعار لإبلاغ الوحدة Fee بفشل عملية غير متزامنة [SWS_Fee_00096]. تمتلك الواجهة التوقيع void Fee_JobErrorNotification (void) وهي متاحة عبر الترويسة Fee.h [SWS_Fee_00096]. لا يتم تمرير أي معلمات إدخال أو إدخال/إخراج أو إخراج إلى الخدمة ذات المعرف 0x11 [SWS_Fee_00096]. وبالمثل، لا يُرجع الاستدعاء أي قيمة إرجاع إلى جهة الاستدعاء [SWS_Fee_00096].

تم تحديد دلالات تنفيذ الاستدعاء بأنها متزامنة (Synchronous) [SWS_Fee_00096]. بالنسبة لسلوك وقت التشغيل، ينطبق القيد الأساسي المتمثل في أن الدالة غير قابلة لإعادة الدخول (Non Reentrant) [SWS_Fee_00096]. تفسير: يجب على جهة الاستدعاء - والتي يُرجّح أن تكون عنصر برنامج تشغيل تابع - التأكد من عدم إطلاق الإشعار بشكل متزامن أو من سياقات مقاطِعة على التوازي مطلقًا. سؤال Q-7d4c9618bf385721 (مفتوح)

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

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

دالة Fee_MainFunction [SWS_Fee_00097] 📄 PDF

void Fee_MainFunction (void);

Service to handle the requested read / write / erase jobs and the internal management operations.

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

تُستخدم الدالة Fee_MainFunction وفقًا لـ [SWS_Fee_00097] للمعالجة المركزية لأوامر القراءة والكتابة والحذف المطلوبة بالإضافة إلى تنفيذ عمليات الإدارة الداخلية للوحدة. وهي محددة بالتوقيع void Fee_MainFunction (void); ومعرّف الخدمة 0x12 [SWS_Fee_00097].

فيما يتعلق بالواجهة والاستخدام، لا تعالج الدالة أي معلمات تمرير ولا تمتلك أي قيمة إرجاع [SWS_Fee_00097]. من توفرها عبر الترويسة SchM_Fee.h، يُرجّح أنه يمكن استنتاج أن استدعاءها يتم دوريًا بواسطة إدارة الجدولة للبرمجيات الأساسية. سؤال Q-5ef9bcc5f438cb89 (مفتوح) يشير الوصف إلى أنه يُرجّح أن تتم معالجة الأوامر التي تم تمريرها مسبقًا بشكل غير متزامن تباعًا ضمن هذه الدورات الدورية.

حول سيناريوهات الخطأ وإعادة الدخول وشروط الاستدعاء المحددة، لا تحتوي المواصفة على أي معرفات أو رموز خطأ منفصلة [SWS_Fee_00097]. تفسير: كوظيفة تحكم دورية مركزية لحالة الوحدة، يُرجّح ألا تكون Fee_MainFunction قابلة لإعادة الدخول، ولهذا السبب يجب تجنب استدعاء متزامن من مهام متعددة. سؤال (مفتوح)

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

دالة NvM_JobEndNotification [SWS_Fee_00098] 📄 PDF

void NvM_JobEndNotification (void);

-

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

الاستخدام والتوقيع

تم تعريف الدالة NvM_JobEndNotification في مواصفات Flash EEPROM Emulation (Fee) كخدمة، وهي متاحة عبر ملف الترويسة Nvm.h ([SWS_Fee_00098]). وفقًا لصياغتها void NvM_JobEndNotification (void);، لا تتطلب الدالة معلمات إدخال أو إخراج ولا تقدم قيمة إرجاع ([SWS_Fee_00098]). تم تحديد دلالات متزامنة لسلوك التنفيذ (Sync/Async: true) ([SWS_Fee_00098]).

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

فيما يتعلق بإمكانية إعادة الدخول، تم تصنيف الدالة بـ Don't care ([SWS_Fee_00098]). لا توجد قيود محددة بشأن سياق الاستدعاء في المواصفات. لم يتم تحديد معالجة أخطاء منفصلة عبر رسائل DET أو DEM لهذا العنصر ([SWS_Fee_00098]).

التفاعل والتصنيف الوظيفي

على الرغم من أن الدالة جزء من مواصفات Flash EEPROM Emulation، إلا أن حقل الوصف لا يحتوي على مزيد من التفاصيل ([SWS_Fee_00098]). تفسير: نظرًا للتسمية والتصريح في Nvm.h، يُرجّح أن تعمل الدالة كواجهة رد نداء (callback interface) تقوم الوحدة Fee من خلالها بإبلاغ الوحدة NvM بالاكتمال المنتظم لأمر تمت معالجته بشكل غير متزامن. سؤال Q-ee00bece2e28a0e4 (مفتوح)

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفات إصدار AUTOSAR R20-11.

دالة NvM_JobErrorNotification [SWS_Fee_00099] 📄 PDF

void NvM_JobErrorNotification (void);

-

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

الاستخدام وسياق الاستدعاء

تم تعريف الدالة NvM_JobErrorNotification وفقًا لـ [SWS_Fee_00099] كواجهة متزامنة (Sync/ Async true). يتم توفير تصريحها عبر ملف الترويسة Nvm.h ([SWS_Fee_00099]). التوقيع هو void NvM_JobErrorNotification (void)، وبالتالي فهي لا تقبل معلمات إدخال أو عبور أو إخراج ولا تقدم قيمة إرجاع ([SWS_Fee_00099]). وفقًا للمعرّف والتعيين إلى الوحدة Fee، يُرجّح أن تخدم دالة رد النداء هذه إخطار إدارة NVRAM عند حدوث خطأ أثناء معالجة الأوامر غير المتزامنة في برنامج تشغيل محاكاة Flash-EEPROM. سؤال Q-4d70f8d384e04832 (مفتوح)

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

في [SWS_Fee_00099]، لم يتم إدراج رموز خطأ محددة أو رسائل DET أو أحداث DEM. نظراً لعدم تمرير معلمات حالة أو أخطاء، فمن المرجح أن يعتمد التحليل المفصل للأخطاء على حالات الوحدة الداخلية أو استعلامات لاحقة لبرنامج التشغيل. سؤال Q-c45e72b67236c432 (مفتوح) فيما يتعلق بالتزامن، يحدد [SWS_Fee_00099] المعيار Don't care لإعادة الدخول، وبالتالي لا تتم صياغة أي متطلبات مقيدة لقابلية إعادة الدخول من جانب المتطلب.

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

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

Record
AUTOSAR/AP/record/CP_MOD_Fee
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Fee@rel:R20-11#c772c1ab
Content hash
c772c1ab
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlashEEPROMEmulation.pdf#nameddest=SWS_Fee_00085

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

Fee_GetStatus دالة

Service to return the status. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlashEEPROMEmulation

MemIf_StatusType Fee_GetStatus (void);

Service to return the version information of the FEE module.

void Fee_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Fee_Init دالة

Service to initialize the FEE module.

void Fee_Init (const Fee_ConfigType* ConfigPtr);

الخدمات

Fee_Cancel دالة

Service to call the cancel function of the underlying flash driver.

void Fee_Cancel (void);

Service to erase a logical block.

Std_ReturnType Fee_EraseImmediateBlock (uint16 BlockNumber);

Service to query the result of the last accepted job issued by the upper layer software.

MemIf_JobResultType Fee_GetJobResult (void);

Service to invalidate a logical block.

Std_ReturnType Fee_InvalidateBlock (uint16 BlockNumber);

Service to report to this module the successful end of an asynchronous operation. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlashEEPROMEmulation

void Fee_JobEndNotification (void);

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

void Fee_JobErrorNotification (void);
Fee_Read دالة

Service to initiate a read job.

Std_ReturnType Fee_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);
Fee_SetMode دالة

Function to switch the mode of the underlying Flash Driver

void Fee_SetMode (MemIf_ModeType Mode);
Fee_Write دالة

Service to initiate a write job.

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

-

void NvM_JobEndNotification (void);

-

void NvM_JobErrorNotification (void);

دورية

Service to handle the requested read / write / erase jobs and the internal management operations.

void Fee_MainFunction (void);

الأنواع

Configuration data structure of the Fee module.