DEENESPTFRRUARHIKOZHNL

ECU State Manager (EcuM)

ModulEcuM (ECU State Manager)
BSW-Modul-ID10
Standard-Header#include "EcuM.h"
SWS-SpezifikationAUTOSAR_SWS_ECUStateManager.pdf
ClusterSystem Services

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

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

يتحكم في بدء التشغيل وإيقاف التشغيل ومراحل السكون ومصادر الاستيقاظ الخاصة بوحدة التحكم الإلكترونية بالتفاعل مع BswM.

يتحكم مدير حالة وحدة التحكم الإلكترونية (ECU State Manager) في دورة حياة وحدة التحكم الإلكترونية في Classic. وهو يقوم بتهيئة البرمجيات الأساسية حتى بدء تشغيل نظام التشغيل (OS)، ويقود الـ ECU إلى أهداف إيقاف التشغيل SLEEP أو RESET أو OFF ويدير مصادر الاستيقاظ بما في ذلك التحقق من صحتها [SWS_EcuM_04136]. وتتولى Integration Code الخطوات القريبة من العتاد عبر عمليات الاستدعاء. يقوم EcuM بالتحكيم بين متطلبات RUN وPOST_RUN للمستخدمين، غير أن BswM هو من يقرر انتقالات الحالة ويبلغ عنها عبر EcuM_SetState [SWS_EcuM_04116]. والشرط الحدي الأهم هو أنه لا يجوز فقدان أي حدث استيقاظ أثناء مرحلة SLEEP.

يعد مدير حالة وحدة التحكم الإلكترونية (ECU State Manager - EcuM) في Classic Platform مسؤولاً عن بدء تشغيل وحدة التحكم الإلكترونية (ECU) وإيقاف تشغيلها ومراحل سكونها. ينفذ EcuM_Init تسلسل StartPreOS مع كتلتي التهيئة 0 و1. وخلال ذلك، يحدد EcuM تكوين ما بعد البناء (Post-Build) ويتحقق منه، ثم يستدعي في النهاية StartOS. بعد ذلك، يبدأ EcuM_StartupTwo كلاً من SchM وBswM [SWS_EcuM_02684] [SWS_EcuM_02906] [SWS_EcuM_02932]. وتوفر شيفرة التكامل (Integration Code) الخطوات القريبة من العتاد في صورة عمليات استدعاء خارجية (Callouts)، على سبيل المثال EcuM_AL_DriverInitZero [SWS_EcuM_02905].

phasen start Power On / Reset STARTUP STARTUP (StartPreOS, StartPostOS) start->STARTUP UP UP (RUN / POST_RUN, optional) STARTUP->UP EcuM_StartupTwo، و BswM يتولى المهمة SHUTDOWN SHUTDOWN (OffPreOS, OffPostOS) UP->SHUTDOWN الهدف RESET أو OFF SLEEP SLEEP (GoSleep، أو Halt، أو Poll) UP->SLEEP Ziel SLEEP, EcuM_GoDownHaltPoll OFF OFF SHUTDOWN->OFF EcuM_AL_SwitchOff RESET RESET SHUTDOWN->RESET EcuM_AL_Reset SLEEP->STARTUP Hardware-Reset / Power-Cycle SLEEP->UP Weckereignis: WakeupRestart RESET->STARTUP Neustart

مخطط الحالة: تمر الـ ECU بالحالات STARTUP وUP وSHUTDOWN وSLEEP. ومن حالة SLEEP تعود إلى UP عبر WakeupRestart. المصادر: RS ModeManagement ص. 15، [SWS_EcuM_91005]، [SWS_EcuM_02963]

لا يقرر EcuM انتقالات الحالة بنفسه. بل يجمع متطلبات RUN وPOST_RUN للمستخدمين المهيئين ويبلغ BswM بالنتيجة. ويتولى تغييرات حالته عبر EcuM_SetState ويمررها إلى RTE [SWS_EcuM_04144] [SWS_EcuM_04117] [SWS_EcuM_04116] SWS EcuM ص. 103. يحفظ EcuM_SelectShutdownTarget الهدف SLEEP أو RESET أو OFF لوقت لاحق فقط [SWS_EcuM_02585]. وعند إيقاف التشغيل، يلغي OffPreOS تهيئة BswM وSchM، ويفحص أحداث الاستيقاظ وينهي نظام التشغيل. ثم يستدعي Shutdown-Hook الدالة EcuM_Shutdown، التي تنتهي بـ EcuM_AL_Reset أو EcuM_AL_SwitchOff [SWS_EcuM_03021] [SWS_EcuM_04074] [SWS_EcuM_04075].

تبدأ مرحلة SLEEP بـ EcuM_GoDownHaltPoll. أولاً، ينشط GoSleep مصادر الاستيقاظ الخاصة بوضع السكون. بعد ذلك يتبع إما Halt مع فحص تجزئة (Hash) للـ RAM أو Poll بحلقة تكرار عبر EcuM_SleepActivity وEcuM_CheckWakeup. وتكتمل العملية بـ WakeupRestart مع EcuM_AL_DriverRestart [SWS_EcuM_91002] [SWS_EcuM_02389] [SWS_EcuM_02863] [SWS_EcuM_03020] [SWS_EcuM_02963]. وفي هذه المرحلة، لا يجوز فقدان أي حدث استيقاظ [SWS_EcuM_02188].

مصادر الاستيقاظ هي بتات فردية في EcuM_WakeupSourceType، ولكل منها إحدى الحالات NONE أو PENDING أو VALIDATED أو EXPIRED [SWS_EcuM_04040] [SWS_EcuM_04091]. تبلغ المشغلات عن الأحداث باستخدام EcuM_SetWakeupEvent. وإذا تم تهيئة تحقق من الصحة، يبدأ EcuM مهلة زمنية. وفقط ورود EcuM_ValidateWakeupEvent قبل انتهائها يؤدي إلى VALIDATED؛ وإذا تم تهيئة ارتباط بالقناة، فسيتم إبلاغ ComM أيضاً حينئذٍ. وإلا فسيصبح المصدر EXPIRED [SWS_EcuM_02709] [SWS_EcuM_02645] [SWS_EcuM_04082].

validierung a Treiber erkennt Weckereignis: EcuM_SetWakeupEvent(sources) b المصدر ينتمي إلى وضع السكون المختار؟ a->b x Ereignis ignorieren b->x لا c Validierung konfiguriert? (EcuMValidationTimeout) b->c نعم e Bits in Pending-Variable setzen, quellenspezifischen Timeout starten c->e نعم h Timeout stoppen, Validated-Bits setzen, BswM_EcuM_CurrentWakeup(VALIDATED), ComM_EcuM_WakeUpIndication / PNCWakeUpIndication (falls Kanal/PNC konfiguriert) c->h nein: impliziter EcuM_ValidateWakeupEvent f EcuM_MainFunction: EcuM_CheckValidation(wakeupSource) e->f g EcuM_ValidateWakeupEvent eingetroffen? f->g g->h نعم i Timeout abgelaufen? g->i لا i->f لا j Expired-Bit setzen, BswM_EcuM_CurrentWakeup(EXPIRED), EcuM_StopWakeupSources() i->j نعم

مخطط الأنشطة: يتم التحقق من صحة حدث الاستيقاظ فورًا أو يظل PENDING إلى أن يرد تأكيد أو تنقضي المهلة. المصادر: SWS EcuM ص. 63، [SWS_EcuM_02566]، [SWS_EcuM_04082]

في حالة الخطأ، يستدعي EcuM دالة الاستدعاء الخارجي EcuM_ErrorHook إذا كان التكوين غير متسق أو فشل فحص RAM [SWS_EcuM_04033] [SWS_EcuM_91003]. ويُبلغ DET عن أخطاء التطوير مثل الطلبات المتعددة أو مصادر الاستيقاظ غير المعروفة [SWS_EcuM_03024] [SWS_EcuM_02867].

دور وحدود نظام ECU State Manager

يحدد ECU State Manager (EcuM) في Classic Platform الإطار العام لدورة حياة وحدة التحكم الإلكترونية (ECU). فهو يقوم بتهيئة البرمجيات الأساسية حتى بدء تشغيل نظام التشغيل. بعد ذلك، ينقل ECU بصورة منضبطة إلى أحد أهداف إيقاف التشغيل SLEEP أو RESET أو OFF [SWS_EcuM_04136]. ويحدد EcuM_StateType حالاته: STARTUP وRUN وPOST_RUN وSHUTDOWN وSLEEP [SWS_EcuM_91005]. ويبلغها إلى SW-Cs عبر Mode-Declaration-Group EcuM_Mode، التي يكون وضعها الأولي STARTUP [SWS_EcuM_04107] [SWS_EcuM_04132].

phasen start Power On / Reset STARTUP STARTUP (StartPreOS, StartPostOS) start->STARTUP UP UP (RUN / POST_RUN, optional) STARTUP->UP EcuM_StartupTwo، و BswM يتولى المهمة SHUTDOWN SHUTDOWN (OffPreOS, OffPostOS) UP->SHUTDOWN الهدف RESET أو OFF SLEEP SLEEP (GoSleep، أو Halt، أو Poll) UP->SLEEP Ziel SLEEP, EcuM_GoDownHaltPoll OFF OFF SHUTDOWN->OFF EcuM_AL_SwitchOff RESET RESET SHUTDOWN->RESET EcuM_AL_Reset SLEEP->STARTUP Hardware-Reset / Power-Cycle SLEEP->UP Weckereignis: WakeupRestart RESET->STARTUP Neustart

مخطط الحالات: تمر ECU بالحالات STARTUP وUP وSHUTDOWN وSLEEP. ومن SLEEP تعود إلى UP عبر WakeupRestart، وبعد إعادة ضبط العتاد أو دورة تشغيل الطاقة تبدأ مجددًا في STARTUP. المصادر: RS ModeManagement ص. 15، [SWS_EcuM_91005]، [SWS_EcuM_02963]، [SWS_EcuM_04001]

لا يقرر EcuM نفسه بشأن انتقالات الحالة؛ فهو لا يمتلك آلة حالات خاصة به، بل يقوم فقط بالتحكيم بين الطلبات ويوكل أمر الانتقالات إلى BSW Mode Manager (BswM) SWS EcuM ص. 103. ويسند الخطوات القريبة من العتاد والخاصة بالمشروع إلى دوال استدعاء خارجي في Integration Code، والتي تتاح عبر EcuM_Externals.h. ومن الأمثلة على ذلك EcuM_AL_DriverInitZero وEcuM_AL_SwitchOff [SWS_EcuM_02905] [SWS_EcuM_02920]. وتُسرد واجهات الوحدات المجاورة في جداول الدوال المستوردة، مثل BswM_EcuM_CurrentWakeup وCan_Init وDet_ReportError [SWS_EcuM_02858] [SWS_EcuM_02859].

kontext EcuM EcuM SWC SW-Cs (عبر منافذ RTE) EcuM->SWC currentMode (EcuM_Mode) BswM BswM EcuM->BswM BswM_Init / BswM_Deinit, BswM_EcuM_CurrentWakeup, RequestedState, CurrentState IC Integration Code (Callouts in EcuM_Externals.h) EcuM->IC EcuM_AL_DriverInit*, EcuM_AL_DriverRestart, EcuM_AL_Reset, EcuM_AL_SwitchOff, EcuM_*WakeupSources Os Os EcuM->Os StartOS, ShutdownOS, GetResource Mcu Mcu EcuM->Mcu Mcu_GetResetReason, Mcu_SetMode SchM SchM EcuM->SchM SchM_Init / Start / Deinit ComM ComM EcuM->ComM ComM_EcuM_WakeUpIndication, ComM_EcuM_PNCWakeUpIndication Det Det EcuM->Det Det_ReportError SWC->EcuM RequestRUN / ReleaseRUN, SelectShutdownTarget, AlarmClock, BootTarget BswM->EcuM EcuM_SetState, EcuM_SelectShutdownTarget, EcuM_GoDownHaltPoll Os->EcuM EcuM_Shutdown (Shutdown-Hook) Drv مشغلات مزودة بمصادر تنبيه (مثل CanTrcv، و Icu، و Gpt) Drv->EcuM EcuM_SetWakeupEvent, EcuM_ValidateWakeupEvent

مخطط السياق: يتوسط EcuM بين SW-Cs وBswM وIntegration Code وOS ومشغلات MCAL وComM. يقرر BswM بشأن الانتقالات، بينما ينفذ Integration Code خطوات العتاد. المصادر: SWS EcuM ص. 34، [SWS_EcuM_02858]، [SWS_EcuM_04135]

بدء التشغيل: StartPreOS وStartPostOS وبيانات التكوين

قبل EcuM_Init، يشترط EcuM فقط تهيئة دنيا لـ MCU: إعداد مكدس وتهيئة متغيرات C SWS EcuM ص. 39. تنفذ EcuM_Init تسلسل StartPreOS ولا تعود لأنها تستدعي StartOS [SWS_EcuM_02811] [SWS_EcuM_02684]. وخلال ذلك، تتم تهيئة جميع الوحدات اللازمة لبدء تشغيل OS [SWS_EcuM_02603].

يُعِد Init Block 0 (EcuM_AL_DriverInitZero) لتحميل بيانات ما بعد البناء (Post-Build). لذا يُسمح له فقط باستخدام الوحدات التي تم تكوينها في وقت ما قبل التجميع (Pre-Compile) أو وقت الربط (Link) [SWS_EcuM_02905]. بعد ذلك، يرجع EcuM_DeterminePbConfiguration مؤشرًا إلى EcuM_ConfigType. وتشير هذه البنية إلى تكوينات جميع وحدات BSW الأخرى [SWS_EcuM_02906] [SWS_EcuM_02801]. وتحتوي على معرف متغير ورمز تجزئة (Hash). يتحقق EcuM من رمز التجزئة بمقارنته مع ECUM_CONFIGCONSISTENCY_HASH، وذلك لجميع الوحدات القابلة للتكوين بعد البناء، قبل تهيئة أول وحدة منها [SWS_EcuM_02794] [SWS_EcuM_02798] [SWS_EcuM_02796].

يقوم Init Block 1 (EcuM_AL_DriverInitOne) بتهيئة برامج التشغيل بعد إعادة الضبط عند التشغيل، بما في ذلك MCU [SWS_EcuM_02907] SWS EcuM ص. 146. ويحدد EcuMDriverInitListZero وEcuMDriverInitListOne الترتيب في كلا الكتلتين. وتتلقى كل دالة تهيئة معاملاتها من حاوية EcuMModuleService المقابلة [SWS_EcuM_02559] [SWS_EcuM_02730]. يترجم EcuM سبب إعادة الضبط الخاص بمشغل Mcu إلى مصدر استيقاظ ويحتفظ به. وإذا تعذر تحديد السبب، فإنه يضبط ECUM_WKSOURCE_RESET [SWS_EcuM_02623] [SWS_EcuM_02601]. وإذا تم ضبط EcuMResetLoopDetection، يستدعي EcuM دالة الاستدعاء الخارجي EcuM_LoopDetection عند كل بدء تشغيل [SWS_EcuM_04137].

بدء التشغيل: StartPreOS وStartPostOSBootloaderEcuMIntegration CodeMcuOsSchMBswMUse Case: StartPreOS (EcuM_Init)EcuM_Init()EcuM_AL_DriverInitZero()EcuM_DeterminePbConfiguration()const EcuM_ConfigType*التحقق من اتساق بيانات التكوينoptKonfigurationsdaten inkonsistentEcuM_ErrorHook(ECUM_E_CONFIGURATION_DATA_INCONSISTENT)EcuM_AL_DriverInitOne()Mcu_GetResetReason()تعيين سبب إعادة الضبط إلى مصدر الإيقاظStartOS(ECUM_DEFAULT_APP_MODE)Use Case: StartPostOS (EcuM_StartupTwo)EcuM_StartupTwo()(من المهمة بعد StartOS)SchM_Init / SchM_Start / SchM_StartTimingBswM_Init()

مخطط التسلسل: يمر EcuM_Init بـ Init Block 0، واختيار التكوين والتحقق منه، وInit Block 1، وتقييم إعادة الضبط حتى StartOS. بعد ذلك، يبدأ EcuM_StartupTwo تشغيل SchM وBswM. المصادر: SWS EcuM ص. 38، SWS EcuM ص. 78، [SWS_EcuM_02684]، [SWS_EcuM_02932]

بعد بدء تشغيل OS، تستدعي إحدى المهام EcuM_StartupTwo، والتي تم بدؤها مباشرة نتيجة لـ StartOS [SWS_EcuM_02806]. تنفذ هذه الدالة StartPostOS: حيث تهيئ SchM وتبدأ تشغيله وتستدعي BswM_Init [SWS_EcuM_02932] SWS EcuM ص. 42. ويتولى BswM عمليات التهيئة الإضافية عبر الدوال المولدة EcuM_AL_DriverInitBswM_<x> [SWS_EcuM_04114].

في وحدات ECU متعددة الأنوية، يعمل مثيل من EcuM على كل نواة، وتبدأ النواة الرئيسية (Master-EcuM) تشغيل الأنوية المتبقية. يعمل Init Block 0 و1 على كل نواة، لكنهما لا يهيئان هناك سوى وحدات MCAL الخاصة بها. ويتم تشغيل SchM وOS وجميع وحدات BswM المحلية للنواة على كل نواة [SWS_EcuM_04145] [SWS_EcuM_04093] [SWS_EcuM_04014] SWS EcuM ص. 71.

RUN وPOST_RUN: طلبات المستخدمين والتحكيم مع BswM

عند تفعيل EcuMModeHandling، يمكن للمستخدمين طلب RUN وPOST_RUN وتحريرهما مجددًا [SWS_EcuM_04115] [SWS_EcuM_04130]. وتُستخدم لهذا الغرض EcuM_RequestRUN وEcuM_ReleaseRUN وEcuM_RequestPOST_RUN وEcuM_ReleasePOST_RUN. وتتوقع جميعها الأربعة معرف مستخدم مكوَّنًا من النوع EcuM_UserType [SWS_EcuM_04124] [SWS_EcuM_04127] [SWS_EcuM_04128] [SWS_EcuM_04129]. يتتبع EcuM الطلبات لكل مستخدم، ولا يمكن للمستخدم تضمينها بشكل متداخل. كما يحتفظ بطلبات RUN وPOST_RUN في متغيرات منفصلة [SWS_EcuM_04126] [SWS_EcuM_04125] SWS EcuM ص. 116. وتصل SW-Cs إلى هذه الخدمات عبر المنفذ StateRequest_{UserName} [SWS_EcuM_04135].

يُبلغ EcuM وحدة BswM بالطلب الأول لـ RUN أو POST_RUN باستخدام BswM_EcuM_RequestedState(ECUM_STATE_APP_RUN, ECUM_RUNSTATUS_REQUESTED). ويُبلغ عن التحرير الأخير لـ RUN أو POST_RUN بالحالة المعنية واستخدام ECUM_RUNSTATUS_RELEASED [SWS_EcuM_04144] [SWS_EcuM_04117] [SWS_EcuM_04119]. يقيّم BswM قواعده ويضبط الحالة الجديدة باستخدام EcuM_SetState. بعد ذلك، يعرض EcuM الوضع المناسب لـ RTE، ويُبلغ بعد تلقي استجابتها BswM_EcuM_CurrentState [SWS_EcuM_04122] [SWS_EcuM_04116] [SWS_EcuM_04143]. يوضح دليل إدارة الأوضاع (Mode Management Guide) قواعد BswM المناسبة، مثل الانتقال إلى POST_RUN بمجرد تحرير RUN Mode-Management-Guide ص. 34.

تحكيم RUN-/POST_RUN بين EcuM و BswMSW-C (EcuM-Nutzer)RTEEcuMBswMUse Case: AnforderungEcuM_RequestRUN(user)عبر المنفذ StateRequest_{UserName}E_OKأول طلب RUN أو POST_RUNBswM_EcuM_RequestedState(ECUM_STATE_APP_RUN, ECUM_RUNSTATUS_REQUESTED)تقييم القواعد يحدد الانتقالEcuM_SetState(state)Rte_Switch_currentMode_currentMode(mode)إشعار تأكيد عبر منفذ AcknowledgementBswM_EcuM_CurrentState(state)Use Case: يطلقEcuM_ReleaseRUN(user)letzte RUN-Anforderung freigegebenBswM_EcuM_RequestedState(ECUM_STATE_APP_RUN, ECUM_RUNSTATUS_RELEASED)EcuM_SetState(state)مثل الانتقال إلى POST_RUN

مخطط التسلسل: يقوم EcuM بالتحكيم بين طلبات المستخدمين ويبلغ النتيجة إلى BswM. يُرجع BswM الحالة عبر EcuM_SetState، ويمررها EcuM إلى RTE. المصادر: [SWS_EcuM_04144]، [SWS_EcuM_04117]، [SWS_EcuM_04116]، [SWS_EcuM_04143]

أهداف إيقاف التشغيل وإيقاف التشغيل عبر OffPreOS وOffPostOS

يحفظ EcuM_SelectShutdownTarget الهدف والوضع فقط لمرحلة SHUTDOWN أو SLEEP اللاحقة ولا يبدأ أي شيء بنفسه [SWS_EcuM_02822] [SWS_EcuM_00624] [SWS_EcuM_02585]. يحدد معامل الوضع وضع سكون مكوَّنًا عند الهدف SLEEP ووضع إعادة ضبط عند الهدف RESET. ويتم تجاهله عند OFF [SWS_EcuM_02979] [SWS_EcuM_02185]. تتضمن أوضاع إعادة الضبط على الأقل Mcu_PerformReset وWdgM_PerformReset وتبديل طرف دخل/خرج (I/O) [SWS_EcuM_04005] [SWS_EcuM_04044]. يتم تسجيل سبب إيقاف التشغيل باستخدام EcuM_SelectShutdownCause [SWS_EcuM_04007] [SWS_EcuM_04050]. ويرجع EcuM_GetLastShutdownTarget الهدف الذي تم الاستيقاظ منه أو بدء التشغيل منه لآخر مرة. وتظل هذه القيمة دون تغيير حتى إيقاف التشغيل التالي [SWS_EcuM_02156].

تنتهي مرحلة SHUTDOWN إما في OFF أو في RESET [SWS_EcuM_03022]. ويحدد BswM عادةً وقت تعيين الهدف SWS EcuM ص. 66. في OffPreOS، يتم إلغاء تهيئة BswM وSchM وفحص أحداث الاستيقاظ. إذا كانت هناك أحداث معلقة، يتم تعيين RESET كهدف. الإجراء الأخير هو ShutdownOS [SWS_EcuM_03021] [SWS_EcuM_02952] SWS EcuM ص. 49.

بعد ذلك، يستدعي خطاف إيقاف التشغيل (Shutdown-Hook) EcuM_Shutdown، الذي لا يعود. بعد EcuM_OnGoOffTwo، يتبع عند الهدف RESET EcuM_AL_Reset وعند الهدف OFF EcuM_AL_SwitchOff [SWS_EcuM_02953] [SWS_EcuM_02917] [SWS_EcuM_04074] [SWS_EcuM_04075]. تفسير: يُرجح أن يُطلق BswM المرحلة عبر EcuM_GoDownHaltPoll في حالتي RESET وOFF أيضًا، لأن وصف قيمة الإرجاع الخاصة به يميز بحسب هدف إيقاف التشغيل [SWS_EcuM_91002]. سؤال Q-29bca5a7c6e82c98 (مفتوح)

إيقاف التشغيل عبر OffPreOS و OffPostOSBswMEcuMSchMOsIntegration CodeEcuM_SelectShutdownTarget(target, mode)E_OKEcuM_GoDownHaltPoll(UserID)تفسير: المشغل ينطبق أيضًا عند RESET/OFFUse Case: OffPreOSBswM_Deinit()SchM_Deinit()فحص أحداث التنبيه (معلقة أو تم التحقق من صحتها،وفقًا لـ EcuMIgnoreWakeupEvValOffPreOS)optWeckereignisse anstehendShutdown-Ziel RESET setzen(EcuMDefaultResetModeRef)ShutdownOS()Use Case: OffPostOSEcuM_Shutdown()من خطاف إيقاف التشغيل (Shutdown-Hook)EcuM_OnGoOffTwo()altShutdown-Ziel RESETEcuM_AL_Reset(EcuM_ResetType)Shutdown-Ziel OFFEcuM_AL_SwitchOff()

مخطط التسلسل: يقوم OffPreOS بإلغاء تهيئة BswM وSchM، ويفحص أحداث الاستيقاظ وينهي OS. يتفرع OffPostOS بعد ذلك إلى إعادة الضبط أو إيقاف التشغيل بحسب هدف إيقاف التشغيل. المصادر: SWS EcuM ص. 49، SWS EcuM ص. 49، [SWS_EcuM_02953]، [SWS_EcuM_91002]

مرحلة SLEEP: GoSleep أو Halt أو Poll وWakeupRestart

إذا اختير SLEEP كهدف، يبدأ EcuM_GoDownHaltPoll مرحلة SLEEP. ويجب على المتصل أن يكون قد عيّن الهدف المناسب مسبقًا [SWS_EcuM_91002] SWS EcuM ص. 54. في GoSleep، ينشط EcuM عبر EcuM_EnableWakeupSources جميع مصادر الاستيقاظ من EcuMWakeupSourceMask الخاصة بوضع السكون المستهدف. وفي وحدات ECU متعددة الأنوية، يحجز بالإضافة إلى ذلك المورد الخاص بالنواة RES_AUTOSAR_ECUM. وبخلاف ما يحدث عند إيقاف التشغيل، يظل OS نشطًا [SWS_EcuM_02389] [SWS_EcuM_03010] [SWS_EcuM_02951]. ولا يجوز فقدان أي حدث استيقاظ. وإذا وقع حدث بالفعل أثناء GoSleep، يتم تخطي Halt وPoll [SWS_EcuM_02188].

أوضاع السكون التي توقف المتحكم الدقيق تمر بتسلسل Halt. قبل ذلك يستدعي EcuM EcuM_GenerateRamHash، وبعده EcuM_CheckRamHash [SWS_EcuM_02960] [SWS_EcuM_02863]. أما أوضاع السكون ذات التردد المخفض فتستخدم في المقابل تسلسل Poll. وهو يستدعي EcuM_SleepActivity وEcuM_CheckWakeup في حلقة حاصرة حتى يتم الإبلاغ عن حدث كمعلق أو تم التحقق من صحته [SWS_EcuM_02962] [SWS_EcuM_03020]. في R20-11 لا يزال EcuM_CheckWakeup دالة استدعاء خارجي. وبدءًا من R21-11 فقط أصبح يُطلق على دالة الاستدعاء الخارجي هذه EcuM_CheckWakeupHook [SWS_EcuM_02929] SWS EcuM ص. 145.

يؤدي حدث الاستيقاظ إلى تسلسل WakeupRestart [SWS_EcuM_02963] SWS EcuM ص. 56:

  1. تعود MCU إلى الوضع العادي.
  2. يعطل EcuM_DisableWakeupSources مصادر الاستيقاظ المعلقة حاليًا؛ وتظل جميع المصادر الأخرى جاهزة للتنشيط [SWS_EcuM_02922].
  3. يعيد EcuM_AL_DriverRestart تهيئة برامج التشغيل المعنية [SWS_EcuM_02923].
  4. يتم تحرير المجدول مجددًا.

في المقابل، إذا حدثت إعادة ضبط للعتاد أو دورة تشغيل طاقة أثناء السكون، تبدأ ECU من جديد في STARTUP [SWS_EcuM_04001].

مرحلة SLEEP: GoSleep، أو Halt، أو Poll، وWakeupRestartBswMEcuMIntegration CodeOsMcuWeckquelle (Treiber)EcuM_SelectShutdownTarget(SLEEP, Schlafmodus)EcuM_GoDownHaltPoll(UserID)Use Case: GoSleepEcuM_EnableWakeupSources(EcuMWakeupSourceMask لوضع السكون)BswM_EcuM_CurrentWakeup(sources, ECUM_WKSTATUS_NONE)GetResource(RES_AUTOSAR_ECUM_<core#>)altوضع السكون يوقف المتحكم الدقيق µC (Halt)EcuM_GenerateRamHash()Mcu_SetMode(Schlafmodus)HALT حتى مقاطعة التنبيهEcuM_CheckRamHash()وضع السكون بتردد ساعة مخفض (Poll)Mcu_SetMode(Schlafmodus)loopلا يوجد حدث معلق أو تم التحقق من صحتهEcuM_SleepActivity()EcuM_CheckWakeup(wakeupSource)<Module>_CheckWakeup()EcuM_SetWakeupEvent(sources)falls Weckereignis erkanntUse Case: WakeupRestartMcu_SetMode(EcuMNormalMcuModeRef)EcuM_GetPendingWakeupEvents()EcuM_DisableWakeupSources(pending)EcuM_AL_DriverRestart()ReleaseResource(RES_AUTOSAR_ECUM_<core#>)

مخطط التسلسل: يجهز GoSleep مصادر الاستيقاظ، وينفذ Halt أو Poll السكون، ويعيد WakeupRestart إلى الحالة UP. المصادر: SWS EcuM ص. 52، SWS EcuM ص. 85، SWS EcuM ص. 87، SWS EcuM ص. 58

اختياريًا، يحتفظ EcuM بساعة تعد الثواني منذ توصيل البطارية [SWS_EcuM_04069]. يمكن لكل مستخدم ضبط منبه استيقاظ واحد على الأكثر. ويتطابق المنبه الرئيسي دائمًا مع أبكر منبه مستخدم [SWS_EcuM_04070] [SWS_EcuM_04072]. يرفض EcuM_SetAbsWakeupAlarm أي وقت لاحق باستخدام ECUM_E_EARLIER_ACTIVE، ويرفض أي وقت مضى بالفعل باستخدام ECUM_E_PAST [SWS_EcuM_04059] [SWS_EcuM_04060]. وعند مغادرة SLEEP، يتجاهل EcuM جميع المنبهات [SWS_EcuM_04009].

مصادر الاستيقاظ: الحالات والتحقق من الصحة والاستعلام

يدير EcuM ما يصل إلى 32 مصدر استيقاظ كقناع بتات من النوع EcuM_WakeupSourceType. تم تحديد خمس بتات مسبقًا، من بينها ECUM_WKSOURCE_POWER وECUM_WKSOURCE_RESET. وتتلقى المصادر الأخرى البتات من 5 إلى 31 عبر EcuMWakeupSourceId [SWS_EcuM_04040] [SWS_EcuM_02165] [SWS_EcuM_02166] SWS EcuM ص. 63. ويوجد كل مصدر في إحدى الحالات NONE أو PENDING أو VALIDATED أو EXPIRED [SWS_EcuM_04091] [SWS_EcuM_04041]. ويُبلغ EcuM وحدة BswM بكل تغيير في الحالة كطلب وضع [SWS_EcuM_04003].

weckzustaende start Power On NONE ECUM_WKSTATUS_NONE entry: BswM_EcuM_CurrentWakeup(sources, NONE) start->NONE PENDING ECUM_WKSTATUS_PENDING entry: BswM_EcuM_CurrentWakeup(sources, PENDING) entry: EcuM_StartWakeupSources() do: Validierungssequenz NONE->PENDING EcuM_SetWakeupEvent [مع التحقق من الصحة] VALIDATED ECUM_WKSTATUS_VALIDATED entry: BswM_EcuM_CurrentWakeup(sources, VALIDATED) entry: ComM_EcuM_WakeUpIndication() NONE->VALIDATED EcuM_SetWakeupEvent [دون التحقق من الصحة] PENDING->NONE EcuM_ClearWakeupEvent PENDING->VALIDATED EcuM_ValidateWakeupEvent EXPIRED ECUM_WKSTATUS_EXPIRED entry: BswM_EcuM_CurrentWakeup(sources, EXPIRED) entry: EcuM_StopWakeupSources() PENDING->EXPIRED Validierungs-Timeout (EcuM_MainFunction) VALIDATED->NONE EcuM_ClearWakeupEvent EXPIRED->NONE EcuM_ClearWakeupEvent

مخطط الحالات: ينتقل مصدر الاستيقاظ من NONE عبر PENDING إلى VALIDATED أو EXPIRED. يتم الإبلاغ عن كل تغيير في الحالة إلى BswM، ويعيد EcuM_ClearWakeupEvent ضبط المصدر إلى NONE. المصادر: SWS EcuM ص. 60، [SWS_EcuM_04091]، [SWS_EcuM_02683]

يُبلغ برنامج التشغيل عن الحدث المكتشف مرة واحدة بالضبط باستخدام EcuM_SetWakeupEvent SWS EcuM ص. 71. ويُسمح باستدعاء الدالة أيضًا من سياق المقاطعة ومن سياق خالٍ من نظام التشغيل (OS). وتقوم بتعيين البتات الممررة باستخدام العملية OR في المتغير Pending. وتتجاهل المصادر التي لا تنتمي إلى وضع السكون المختار [SWS_EcuM_02826] [SWS_EcuM_02171] [SWS_EcuM_01117] [SWS_EcuM_04138].

إذا كان يجب التحقق من صحة الحدث، يبدأ EcuM مهلة خاصة بالمصدر وفقًا لـ EcuMValidationTimeout. وإذا تم الإبلاغ عن المصدر نفسه مجددًا، فلا تبدأ المهلة من جديد [SWS_EcuM_02975] [SWS_EcuM_02565] [SWS_EcuM_02709] [SWS_EcuM_02712]. وإذا لم يتم تكوين تحقق من الصحة لمصدر ما، يعمل EcuM_SetWakeupEvent في الوقت نفسه عمل EcuM_ValidateWakeupEvent. ولا يتم أبدًا التحقق من صحة المصادر الخمسة المحددة مسبقًا [SWS_EcuM_02566] [SWS_EcuM_02625].

تجري عملية التحقق من الصحة نفسها في EcuM_MainFunction، التي تستدعي لهذا الغرض دالة الاستدعاء الخارجي EcuM_CheckValidation [SWS_EcuM_02539] [SWS_EcuM_02925] SWS EcuM ص. 64. ولـ EcuM_ValidateWakeupEvent التأثير التالي [SWS_EcuM_02710] [SWS_EcuM_04078] [SWS_EcuM_04079] [SWS_EcuM_02645] [SWS_EcuM_04140]:

  • توقف المهلة وتعيّن البتات في المتغير Validated.
  • تُبلغ BswM بـ ECUM_WKSTATUS_VALIDATED.
  • إذا تم تكوين قناة أو PNC، فإنها تستدعي ComM_EcuM_WakeUpIndication أو ComM_EcuM_PNCWakeUpIndication على التوالي.

إذا انتهت المهلة، تضبط الدالة الرئيسية بت Expired وتبلغ بـ ECUM_WKSTATUS_EXPIRED [SWS_EcuM_04081] [SWS_EcuM_04082]. في الحالة RUN، يسري التحقق من الصحة على قنوات الاتصال فقط [SWS_EcuM_02790] [SWS_EcuM_02791].

validierung a Treiber erkennt Weckereignis: EcuM_SetWakeupEvent(sources) b المصدر ينتمي إلى وضع السكون المختار؟ a->b x Ereignis ignorieren b->x لا c Validierung konfiguriert? (EcuMValidationTimeout) b->c نعم e Bits in Pending-Variable setzen, quellenspezifischen Timeout starten c->e نعم h Timeout stoppen, Validated-Bits setzen, BswM_EcuM_CurrentWakeup(VALIDATED), ComM_EcuM_WakeUpIndication / PNCWakeUpIndication (falls Kanal/PNC konfiguriert) c->h nein: impliziter EcuM_ValidateWakeupEvent f EcuM_MainFunction: EcuM_CheckValidation(wakeupSource) e->f g EcuM_ValidateWakeupEvent eingetroffen? f->g g->h نعم i Timeout abgelaufen? g->i لا i->f لا j Expired-Bit setzen, BswM_EcuM_CurrentWakeup(EXPIRED), EcuM_StopWakeupSources() i->j نعم

مخطط الأنشطة: بالنسبة للمصادر التي لا تتطلب التحقق من الصحة، يتم التحقق من صحة الحدث فورًا. وبالنسبة للمصادر المتبقية، يظل PENDING حتى يرد EcuM_ValidateWakeupEvent أو تنقضي المهلة ويصبح المصدر EXPIRED. المصادر: SWS EcuM ص. 63، SWS EcuM ص. 78، [SWS_EcuM_02566]، [SWS_EcuM_04082]

تستعلم EcuM_GetPendingWakeupEvents وEcuM_GetValidatedWakeupEvents وEcuM_GetExpiredWakeupEvents عن الحالة الحالية. ويمحو EcuM_ClearWakeupEvent البتات الممررة من جميع المتغيرات الثلاثة [SWS_EcuM_01156] [SWS_EcuM_02533] [SWS_EcuM_04076] [SWS_EcuM_02683].

تمتلك بعض مصادر الاستيقاظ مصدر إمداد طاقة مدمجًا، بحيث يعمل استيقاظها مثل إعادة الضبط عند التشغيل. ومن أجلها، يبدأ EcuM_StartCheckWakeup مؤقت CheckWakeupTimer يمنع إيقاف التشغيل المبكر. وينهي EcuM_SetWakeupEvent أو EcuM_EndCheckWakeup المؤقت مجددًا [SWS_EcuM_04096] [SWS_EcuM_04098] [SWS_EcuM_02927] SWS EcuM ص. 70.

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

يبلغ EcuM عن الأخطاء غير القابلة للإصلاح عبر دالة الاستدعاء الخارجي EcuM_ErrorHook مع رمز الخطأ المقابل [SWS_EcuM_04033] [SWS_EcuM_02904]. في R20-11 يوجد رمزان لذلك [SWS_EcuM_91003] [SWS_EcuM_02987]:

  • ECUM_E_CONFIGURATION_DATA_INCONSISTENT في حالة عدم اتساق بيانات ما بعد البناء.
  • ECUM_E_RAM_CHECK_FAILED إذا فشل فحص RAM بعد الاستيقاظ.

إذا فشل استدعاء OS، يحتفظ EcuM بالحالة المطلوبة ويستدعي ErrorHook أيضًا [SWS_EcuM_04139]. ولا يرد رمز خاص ECUM_E_OS_CALL_FAILED والتنويه بأن الخطاف لا يعود إلا في إصدار لاحق من المواصفة SWS EcuM ص. 102. ويتجاهل EcuM الأخطاء أثناء التهيئة، مثل قيم الإرجاع لدوال التهيئة [SWS_EcuM_02980].

عند تفعيل اكتشاف أخطاء التطوير، تفحص جميع الدوال معاملاتها وشروط التشغيل. وتتاح لهذا الغرض ECUM_E_UNINIT وECUM_E_SERVICE_DISABLED وECUM_E_PARAM_POINTER وECUM_E_INVALID_PAR [SWS_EcuM_03009]. ويبلغ EcuM عن الحالات الإضافية إلى DET:

  • الطلبات المتعددة من المستخدم نفسه كـ ECUM_E_MULTIPLE_RUN_REQUESTS [SWS_EcuM_03024] [SWS_EcuM_03025].
  • عمليات التحرير دون طلب مطابق كـ ECUM_E_MISMATCHED_RUN_RELEASE [SWS_EcuM_03023] [SWS_EcuM_03026].
  • مصادر الاستيقاظ غير المعروفة كـ ECUM_E_UNKNOWN_WAKEUP_SOURCE؛ ويظل المتغير الداخلي دون تغيير أثناء ذلك [SWS_EcuM_02867] [SWS_EcuM_02868].
  • الحالات غير الصالحة عند EcuM_SetState كـ ECUM_E_STATE_PAR_OUT_OF_RANGE [SWS_EcuM_04123].

إذا حدث حدث استيقاظ أثناء إيقاف التشغيل، يكمل EcuM إيقاف التشغيل ويبدأ من جديد فورًا [SWS_EcuM_02756]. وإذا لم تتمكن ECU من قطع الطاقة عن نفسها في EcuM_AL_SwitchOff، فإن إعادة الضبط تكون استجابة ملائمة [SWS_EcuM_02920] SWS EcuM ص. 141.

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

أُعِد هذا الدليل بمساعدة الذكاء الاصطناعي استنادًا إلى مقتطفات من مواصفات الوحدة EcuM (Classic Platform، R20-11). وتُعد المتطلبات المرتبطة هي المرجع المعتمد؛ والعبارات المحددة كتفسير ليست مدعومة بنص معياري إلزامى.

ECU State Manager (EcuM)

Controls ECU lifecycle states: Startup, Run, PostRun, Sleep, and Shutdown.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

دالة EcuM_GoDownHaltPoll [SWS_EcuM_91002] 📄 PDF

Std_ReturnType EcuM_GoDownHaltPoll (EcuM_UserType UserID);

Instructs the ECU State Manager module to go into a sleep mode, Reset or OFF depending on the previously selected shutdown target.

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

توجّه الدالة المتزامنة والقابلة لإعادة الدخول EcuM_GoDownHaltPoll وحدة ECU State Manager للانتقال إلى وضع Sleep أو Reset أو الحالة OFF اعتماداً على هدف إيقاف التشغيل المحدد مسبقاً [SWS_EcuM_91002]. وهي متوفرة عبر ملف الرأس EcuM.h وتمتلك معرّف الخدمة 0x2c [SWS_EcuM_91002].

المعاملات وصلاحية الاستدعاء

كمعامل الدخل الوحيد، يتم تمرير UserID من النوع EcuM_UserType. يحدد هذا المعامل المستخدم المتصل. الاستدعاء منظم بدقة: يُسمح فقط للمستخدمين المهيئين مسبقاً بتنفيذ هذه الدالة [SWS_EcuM_91002].

القيم المرجعة وسلوك مسار التنفيذ

يعتمد سلوك الإرجاع بشكل حاسم على نوع هدف إيقاف التشغيل المعين [SWS_EcuM_91002]:

  • E_NOT_OK: لم يتم قبول الطلب [SWS_EcuM_91002].
  • E_OK: إذا كان الهدف هو SLEEP، تعود الدالة بنجاح بهذه الحالة بعد مغادرة حالة النوم [SWS_EcuM_91002].
  • عدم العودة: إذا تم اختيار RESET أو OFF كهدف لإيقاف التشغيل، فلن يعود استدعاء الدالة إلى المتصل بعد ذلك [SWS_EcuM_91002].

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

على الرغم من الإعلان رسمياً عن الدالة كقابلة لإعادة الدخول، فإن تنفيذها على النحو المنشود يتطلب التحديد المسبق لهدف إيقاف تشغيل صالح [SWS_EcuM_91002]. لم يتم إدراج رموز أخطاء DET أو DEM محددة في مواصفات الواجهة؛ وتتم الإشارة إلى الفشل أو رفض الطلب مباشرة عبر القيمة المرجعة E_NOT_OK [SWS_EcuM_91002].

تم توليد ملاحظة الاستخدام هذه تلقائيًا على أساس مواصفة AUTOSAR.

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

دالة EcuM_Init [SWS_EcuM_02811] 📄 PDF

void EcuM_Init (void);

Initializes the ECU state manager and carries out the startup procedure. The function will never return (it calls StartOS)

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

تُهيئ دالة الخدمة المتزامنة EcuM_Init مدير حالة وحدة التحكم الإلكترونية (ECU State Manager) وتبدأ إجراءات البدء المنظمة لوحدة التحكم الإلكترونية ([SWS_EcuM_02811]). يتم التصريح عنها عبر الترويسة EcuM.h بمعرّف الخدمة 0x01، ولا تقبل معامِلات ولا تُرجع أي قيمة ([SWS_EcuM_02811]). على الرغم من تصنيفها رسمياً بأنها قابلة لإعادة الدخول، فإن EcuM_Init لا تعود أبداً إلى جهة الاستدعاء بعد استدعائها، نظراً لأنها تسلم التنفيذ إلى نظام التشغيل عن طريق استدعاء StartOS ([SWS_EcuM_02811]).

كجزء من تنفيذها، تعالج الدالة تسلسل StartPreOS المحدد وأنشطته بالترتيب المحدد بدقة ([SWS_EcuM_02411]، [SWS_EcuM_02684]). يُعد التحقق من اتساق التكوين جزءاً أساسياً من هذه المرحلة: تتحقق الوحدة داخل EcuM_Init مما إذا كان حقل البنية المقابل مطابقاً لقيمة ECUM_CONFIGCONSISTENCY_HASH ([SWS_EcuM_02798]).

علاوة على ذلك، تتحكم EcuM_Init في تهيئة برامج التشغيل في الأنظمة متعددة الأنوية ([SWS_EcuM_04145]). تستدعي الدالة على كل Core بمفرده عمليات الاستدعاء الخارجية Callouts EcuM_AL_DriverInitZero وكذلك EcuM_AL_DriverInitOne ([SWS_EcuM_04145]). بالنسبة لعمليات تنفيذ Callout، تسري التعليمات لضمان عدم تهيئة سوى وحدات MCAL التي يتم تنفيذها بالفعل على ذلك الـ Core على الـ Core النشط في كل حالة ([SWS_EcuM_04145]).

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

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

دالة EcuM_StartupTwo [SWS_EcuM_02838] 📄 PDF

void EcuM_StartupTwo (void);

This function implements the STARTUP II state.

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

تطبق الدالة المتزامنة وغير القابلة لإعادة الدخول EcuM_StartupTwo الحالة STARTUP II لـ ECU State Manager [SWS_EcuM_02838]. يتم الإعلان عن الواجهة عبر ملف الترويسة EcuM.h ولها معرف الخدمة 0x1a [SWS_EcuM_02838]. وفقاً لتوقيع الدالة void EcuM_StartupTwo(void)، لا يقبل الاستدعاء معلمات إدخال أو إدخال/إخراج أو إخراج، ولا يُرجع أي قيمة إرجاع إلى المستدعي [SWS_EcuM_02838].

عند تنشيط وحدة ECU Manager بواسطة الدالة EcuM_StartupTwo، فإنها تنفذ إجراءات تسلسل StartPostOS [SWS_EcuM_02932].

بالنسبة للتكامل، توجد متطلبات أساسية تتعلق بسياق الاستدعاء والتزامن: يجب استدعاء الدالة إلزامياً من مهمة تبدأ مباشرةً كنتيجة لـ StartOS [SWS_EcuM_02806]. يتطلب هذا أن يتم استدعاء EcuM_StartupTwo إما من مهمة بدء تلقائي (Autostart Task) أو من مهمة يتم بدؤها صراحةً [SWS_EcuM_02806]. ونظراً لأن الدالة محددة على أنها غير قابلة لإعادة الدخول، فلا يجوز حدوث استدعاء متزامن أو متعدد [SWS_EcuM_02838].

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

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

دالة EcuM_Shutdown [SWS_EcuM_02812] 📄 PDF

void EcuM_Shutdown (void);

Typically called from the shutdown hook, this function takes over execution control and will carry out GO OFF II activities.

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

يتم توفير دالة الخدمة المتزامنة EcuM_Shutdown (معرف الخدمة 0x02) عبر ملف الترويسة EcuM.h وتتولى التحكم في التنفيذ لإجراء أنشطة المرحلة «GO OFF II» [SWS_EcuM_02812]. وهي تُستخدم للإنهاء الختامي لعملية إيقاف التشغيل [SWS_EcuM_02953].

سياق الاستدعاء والدلالات البرمجية

عادةً ما يتم استدعاء الدالة من خطاف إيقاف التشغيل (Shutdown Hook) [SWS_EcuM_02812]. ووفقاً للمتطلبات، يلتزم هذا الخطاف صراحةً باستدعاء EcuM_Shutdown لإنهاء عملية إيقاف التشغيل [SWS_EcuM_02953].

  • التوقيع: void EcuM_Shutdown(void) مع معرف الخدمة 0x02 [SWS_EcuM_02812].
  • المعلمات: لا توجد معلمات إدخال أو إخراج أو إدخال/إخراج [SWS_EcuM_02812].
  • قيمة الإرجاع: لا تُرجع الواجهة أي قيمة إرجاع [SWS_EcuM_02812].
  • التزامنية: يتم تنفيذ الاستدعاء بشكل متزامن [SWS_EcuM_02812].

التزامن وتدفق التحكم

في المواصفة، تم الإعلان عن EcuM_Shutdown على أنها قابلة لإعادة الدخول [SWS_EcuM_02812]. ومع ذلك، ينطبق شرط صارم على تسلسل البرنامج وهو أنه لا يجوز لـ EcuM_Shutdown العودة إلى المستدعي [SWS_EcuM_02953]. بعد الانتهاء من المعالجة، تقوم الدالة بإيقاف تشغيل وحدة التحكم الإلكترونية بشكل نهائي أو تطلق إعادة ضبط كبديل [SWS_EcuM_02953].

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

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

دالة EcuM_SetState [SWS_EcuM_04122] 📄 PDF

void EcuM_SetState (EcuM_StateType state);

Function called by BswM to notify about State Switch.

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

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

تُستخدم الدالة المتزامنة EcuM_SetState لكي يقوم BswM بإبلاغ EcuM بتغيير في الحالة [SWS_EcuM_04122]. كمعامل دخل، يتم تمرير state من النوع EcuM_StateType، والذي يحدد الحالة المحددة مسبقاً بواسطة BswM [SWS_EcuM_04122]. لا تمتلك الدالة أي قيمة مرجعة [SWS_EcuM_04122].

آلية العمل والتفاعل

عند الاستدعاء، تضبط الدالة الحالة الداخلية لـ EcuM على قيمة المعامل state [SWS_EcuM_04123]. وإذا قام BswM بتعيين حالة لـ EcuM بهذه الطريقة، يُشير EcuM إلى الوضع المقابل لـ RTE [SWS_EcuM_04116].

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

إذا كانت القيمة الممررة للمعامل state غير صالحة، فلن يغيّر EcuM_SetState حالة EcuM [SWS_EcuM_04123]. وإذا كان الإبلاغ عن أخطاء التطوير (Development Error Reporting) مفعّلاً، تُبلّغ الدالة بالإضافة إلى ذلك في حالة الخطأ هذه عن الخطأ ECUM_E_STATE_PAR_OUT_OF_RANGE إلى وحدة DET [SWS_EcuM_04123].

التزامن والواجهة

التنفيذ متزامن وقابل لإعادة الدخول [SWS_EcuM_04122]. ويتم التصريح عن الخدمة عبر ملف الرأس EcuM.h [SWS_EcuM_04122].

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

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

دالة EcuM_RequestRUN [SWS_EcuM_04124] 📄 PDF

Std_ReturnType EcuM_RequestRUN (EcuM_UserType user);

Places a request for the RUN state. Requests can be placed by every user made known to the state manager at configuration time.

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

الاستخدام

تُستخدم الدالة المتزامنة والقابلة لإعادة الدخول EcuM_RequestRUN لطلب حالة RUN من ECU State Manager [SWS_EcuM_04124]. كمعامل، يتم تمرير معرّف الكيان الطالب عبر user من النوع EcuM_UserType؛ ويكون المستخدمون المخولون فقط هم الذين تم تعريفهم بالفعل لمدير الحالة في وقت التكوين [SWS_EcuM_04124]. تُعيد الدالة E_OK إذا قبل EcuM الطلب، وإلا فإنها تُعيد E_NOT_OK [SWS_EcuM_04124]. تم التصريح عن الخدمة عبر ملف الرأس EcuM.h [SWS_EcuM_04124].

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

يجب عدم تداخل الطلبات: يمكن لمستخدم واحد الاحتفاظ بطلب RUN نشط واحد على الأكثر في نفس الوقت [SWS_EcuM_04125]. إذا اكتشف EcuM_RequestRUN استدعاءات متكررة أو مزدوجة من قبل المستخدم نفسه، فسيتم الإبلاغ عن رمز الخطأ ECUM_E_MULTIPLE_RUN_REQUESTS إلى DET إذا كان اكتشاف أخطاء التطوير مفعّلاً [SWS_EcuM_03024]، [SWS_EcuM_04125].

تفاعل

يجب تحرير كل طلب حالة تم تعيينه بنجاح باستخدام EcuM_RequestRUN بعد انتهاء النشاط. ولهذا الغرض، تتوفر الخدمة التكميلية المتزامنة والقابلة لإعادة الدخول أيضاً EcuM_ReleaseRUN، والتي يُمرر إليها معرّف المستخدم نفسه [SWS_EcuM_04127].

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

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

دالة EcuM_ReleaseRUN [SWS_EcuM_04127] 📄 PDF

Std_ReturnType EcuM_ReleaseRUN (EcuM_UserType user);

Releases a RUN request previously done with a call to EcuM_RequestRUN. The service is intended for implementing AUTOSAR ports.

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

الاستخدام

تُستخدم الدالة المتزامنة EcuM_ReleaseRUN (معرّف الخدمة 0x04) لتحرير طلب حالة RUN تم تسجيله مسبقاً عبر EcuM_RequestRUN [SWS_EcuM_04127]. تتوفر الواجهة عبر ملف الرأس EcuM.h وهي مخصصة بشكل أساسي لتنفيذ منافذ AUTOSAR [SWS_EcuM_04127]. وتتوقع الدالة كمعلمة إدخال معرّف المستخدم user من النوع EcuM_UserType، والذي يحدد الكيان المُحرِّر بشكل فريد داخل الوحدة [SWS_EcuM_04127].

تشير قيمة الإرجاع من النوع Std_ReturnType بواسطة E_OK إلى أن طلب التحرير قد تم قبوله بنجاح بواسطة الوحدة [SWS_EcuM_04127]. وإذا تعذر معالجة التحرير، ترجع الخدمة قيمة الخطأ E_NOT_OK [SWS_EcuM_04127].

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

لا يتم سرد رموز خطأ محددة أو أخطاء تطوير (DET) أو أخطاء إنتاج (DEM) في المواصفات؛ ويتجلى رفض الطلب حصرياً عبر إرجاع E_NOT_OK [SWS_EcuM_04127]. من المفترض (تفسير:) أن إرجاع E_NOT_OK يحدث على الأرجح عند عدم وجود طلب نشط لمعرّف المستخدم المحدد، أو عند تمرير قيمة معلمة غير صالحة. سؤال Q-cbe9031cffe1be81 (مفتوح)

تم الإعلان عن الدالة على أنها قابلة لإعادة الدخول، وبالتالي يجوز استدعاؤها في سياقات تنفيذ متزامنة [SWS_EcuM_04127]. كشرط للترتيب الوظيفي، يتطلب الاستدعاء إلزامياً أن يكون المستخدم المعني قد طلب الحالة مسبقاً عبر EcuM_RequestRUN [SWS_EcuM_04127].

تفاعل

توفر الوحدة EcuM هذه الخدمة لإنهاء الإبقاء على حالة RUN عبر منافذ محددة [SWS_EcuM_04127]. بالنسبة لتكوين RTE والتفاعل مع سلوك وقت تشغيل RTE المحلي، تحدد المواصفات السلوك الداخلي لـ EcuStateManager مع العديد من Runnable Entities القابلة للتنفيذ بالتوازي [SWS_EcuM_03018].

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

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

دالة EcuM_RequestPOST_RUN [SWS_EcuM_04128] 📄 PDF

Std_ReturnType EcuM_RequestPOST_RUN (EcuM_UserType user);

Places a request for the POST RUN state. Requests can be placed by every user made known to the state manager at configuration time. Requests for RUN and POST RUN must be tracked independently (in other words: two independent variables). The service is intended for implementing AUTOSAR ports.

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

الاستخدام

تُستخدم الدالة المتزامنة EcuM_RequestPOST_RUN لطلب الحالة POST RUN من ECU State Manager ([SWS_EcuM_04128]). يعرّف المتصل نفسه عبر المعامل user، حيث يجب أن يكون كل كيان طالب قد تم تعريفه بالفعل لمدير الحالة في وقت التكوين ([SWS_EcuM_04128]). تم التصريح عن الخدمة في ملف الرأس EcuM.h، وهي مخصصة لتنفيذ منافذ AUTOSAR، وتقرّ بالقبول الناجح عبر E_OK أو بالرفض عبر E_NOT_OK ([SWS_EcuM_04128]).

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

إذا كان اكتشاف أخطاء التطوير مفعّلاً، فإن إجراء استدعاء متكرر من قبل المستخدم نفسه يؤدي إلى قيام EcuM_RequestPOST_RUN بالإبلاغ عن الخطأ ECUM_E_MULTIPLE_RUN_REQUESTS إلى DET ([SWS_EcuM_03025]). تفسير: في حالة مثل هذه الطلبات المتعددة أو في حالة معرّفات المستخدمين غير الصالحة، فمن المرجح أن ترد الخدمة بـ E_NOT_OK ([SWS_EcuM_04128]). سؤال Q-b5bbd7d5b53e76ba (مفتوح)

التزامن والتفاعل

تم تصميم الدالة لتكون قابلة لإعادة الدخول ([SWS_EcuM_04128]). في الوحدة، يجب تتبع طلبات RUN وPOST RUN بشكل مستقل تماماً عن بعضها البعض عبر متغيرين منفصلين ([SWS_EcuM_04128]). يحافظ كل طلب مسجل عبر هذه الخدمة على حالة POST RUN نشطة حتى يتم التراجع عنه صراحةً من خلال الاستدعاء التكميلي لـ EcuM_ReleasePOST_RUN ([SWS_EcuM_04129]).

تم إنشاء هذا النص تلقائياً. تستند جميع المحتويات الفنية إلى مواصفة AUTOSAR.

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

دالة EcuM_ReleasePOST_RUN [SWS_EcuM_04129] 📄 PDF

Std_ReturnType EcuM_ReleasePOST_RUN (EcuM_UserType user);

Releases a POST RUN request previously done with a call to EcuM_RequestPOST_RUN. The service is intended for implementing AUTOSAR ports.

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

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

تُستخدم الدالة المتزامنة وقابلة لإعادة الدخول EcuM_ReleasePOST_RUN ([SWS_EcuM_04129]) لتحرير طلب POST-RUN تم تعيينه مسبقاً بواسطة EcuM_RequestPOST_RUN. وعبر معلمة الإدخال user من النوع EcuM_UserType، يتم تمرير معرّف الكيان الذي يقوم بتحرير حالة POST-RUN مجدداً. الواجهة متاحة عبر ملف الرأس EcuM.h ومصممة بشكل أساسي لتحقيق منافذ AUTOSAR ([SWS_EcuM_04129]).

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

ترجع الدالة الحالة Std_ReturnType ([SWS_EcuM_04129]):

  • E_OK: تم قبول طلب التحرير بنجاح بواسطة ECU State Manager.
  • E_NOT_OK: تم رفض طلب التحرير. تفسير: يُرجح حدوث الرفض بواسطة E_NOT_OK إذا لم يكن هناك طلب نشط مسجل للمستخدم المحدد، أو إذا تم تمرير معرّف مستخدم غير صالح. سؤال Q-67bd8594612defca (مفتوح)

التزامن والتفاعل

تم تحديد الخدمة على أنها قابلة لإعادة الدخول ([SWS_EcuM_04129])، بحيث يُسمح بالاستدعاءات المتزامنة بواسطة عدة كيانات. الدالة جزء من السلوك الداخلي للوحدة EcuM ([SWS_EcuM_03018]). يتطلب الاستدعاء منطقياً أن يكون الكيان قد طلب مسبقاً المرحلة POST RUN ([SWS_EcuM_04129]). تفسير: نموذجياً، يُرجح أن يتم الاستدعاء من مكونات البرمجيات عبر منافذ RTE بمجرد اكتمال أنشطة التشغيل اللاحق الخاصة بها قبل إيقاف التشغيل. سؤال Q-81f71656d4debb4a (مفتوح)

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

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

دالة EcuM_SelectShutdownTarget [SWS_EcuM_02822] 📄 PDF

Std_ReturnType EcuM_SelectShutdownTarget (EcuM_ShutdownTargetType shutdownTarget, EcuM_ShutdownModeType shutdownMode);

EcuM_SelectShutdownTarget selects the shutdown target. EcuM_SelectShutdownTarget is part of the ECU Manager Module port interface.

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

تُستخدم دالة الخدمة المتزامنة EcuM_SelectShutdownTarget لتحديد وجهة إيقاف التشغيل (Shutdown) لوحدة التحكم الإلكترونية وتتوفر عبر ملف الرأس EcuM.h وكذلك كجزء من واجهة المنفذ لوحدة مدير ECU [SWS_EcuM_02822]. من خلال الاستدعاء، يتم تعيين وجهة إيقاف التشغيل الداخلية على قيمة المعلمة الممررة shutdownTarget [SWS_EcuM_00624].

تتوقع الدالة معلمتي إدخال [SWS_EcuM_02822]:

  • shutdownTarget: تحدد الوجهة المختارة لإيقاف التشغيل [SWS_EcuM_02822].
  • shutdownMode: يحتوي على معرّف وضع سكون (إذا كانت الوجهة ECUM_SHUTDOWN_TARGET_SLEEP) أو آلية إعادة تعيين (إذا كانت الوجهة ECUM_SHUTDOWN_TARGET_RESET) وفقاً للتكوين [SWS_EcuM_02822].

لا يُطلق الاستدعاء أي أنشطة إعداد أو تنفيذ فورية (Setup)، بل يكتفي بحفظ القيم للاستخدام اللاحق في المرحلة SHUTDOWN أو SLEEP [SWS_EcuM_02585].

فيما يتعلق بالتزامن، تم تحديد الدالة على أنها قابلة لإعادة الدخول (reentrant) [SWS_EcuM_02822]. وفي السلوك الداخلي لـ RTE لـ ECU State Manager، تم الإعلان عن Runnable Entity المقابلة SelectShutdownTarget مع canbeInvokedConcurrently = TRUE [SWS_EcuM_03018]، مما يجعل الاستدعاءات المتوازية مسموحاً بها.

تشير قيمة الإرجاع من النوع Std_ReturnType بواسطة E_OK إلى أنه تم تعيين وجهة إيقاف التشغيل الجديدة بنجاح، وبواسطة E_NOT_OK إلى أن التطبيق قد فشل [SWS_EcuM_02822]. لا تذكر المواصفات في هذا الموضع أسباباً محددة للخطأ لـ E_NOT_OK أو رسائل DET؛ يُفترض أن المجموعات غير المسموح بها أو غير المهيأة من الوجهة والوضع تؤدي إلى الرفض. سؤال Q-e916f3a6ac0bf47e (مفتوح)

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

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

دالة EcuM_SelectShutdownCause [SWS_EcuM_04050] 📄 PDF

Std_ReturnType EcuM_SelectShutdownCause (EcuM_ShutdownCauseType target);

EcuM_SelectShutdownCause elects the cause for a shutdown. EcuM_SelectShutdownCause is part of the ECU Manager Module port interface.

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

تُستخدم الدالة المتزامنة EcuM_SelectShutdownCause لتحديد سبب إيقاف تشغيل وحدة التحكم الإلكترونية (ECU)، وتتوفر عبر ملف الرأس EcuM.h [SWS_EcuM_04050].

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

  • المعاملات: يمرر معامل الدخل target من النوع EcuM_ShutdownCauseType سبب إيقاف التشغيل المحدد [SWS_EcuM_04050].
  • القيمة المرجعة: تشير القيمة المرجعة من النوع Std_ReturnType باستخدام E_OK إلى أنه تم تعيين السبب الجديد بنجاح، وباستخدام E_NOT_OK إلى فشل التعيين [SWS_EcuM_04050].
  • التنفيذ: تعمل الخدمة بشكل متزامن تحت معرّف الخدمة 0x1b وهي محددة كقابلة لإعادة الدخول [SWS_EcuM_04050].

التزامن والتكامل:

الدالة جزء من واجهة المنفذ (Port-Interface) لوحدة ECU Manager [SWS_EcuM_04050]. لتكوين RTE المحلي، تم تعريف الـ Runnable Entity SelectShutdownCause بالرمز EcuM_SelectShutdownCause في السلوك الداخلي EcuStateManager، مع تعيين الخاصية canbeInvokedConcurrently = TRUE [SWS_EcuM_03018].

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

لم يتم تحديد أي رسائل DET أو DEM معينة في نطاق المواصفة؛ وتتم الإشارة إلى حالات الخطأ عند تعيين السبب حصرياً عبر القيمة المرجعة E_NOT_OK [SWS_EcuM_04050].

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

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

دالة EcuM_GetShutdownCause [SWS_EcuM_04051] 📄 PDF

Std_ReturnType EcuM_GetShutdownCause (EcuM_ShutdownCauseType* shutdownCause);

EcuM_GetShutdownCause returns the selected shutdown cause as set by EcuM_Select ShutdownCause. EcuM_GetShutdownCause is part of the ECU Manager Module port interface.

دالة EcuM_ClearWakeupEvent [SWS_EcuM_02828] 📄 PDF

void EcuM_ClearWakeupEvent (EcuM_WakeupSourceType sources);

Clears wakeup events.

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

تُستخدم دالة الخدمة المتزامنة EcuM_ClearWakeupEvent (معرّف الخدمة 0x16) لإعادة تعيين أحداث الاستيقاظ وهي متوفرة عبر ملف الترويسة EcuM.h [SWS_EcuM_02828]. تقبل كمعامِل قناع البتات sources من النوع EcuM_WakeupSourceType ولا تمتلك قيمة معادة [SWS_EcuM_02828].

عند الاستدعاء، يتم مسح جميع الأحداث المعلقة المحددة كبت في sources من ثلاثة متغيرات داخلية للوحدة [SWS_EcuM_02683]:

  • من المتغير الداخلي لأحداث الاستيقاظ المعلقة (pending wakeup events)،
  • من المتغير الداخلي لأحداث الاستيقاظ المصدق عليها (validated events)، وكذلك
  • من المتغير الداخلي لأحداث الاستيقاظ منتهية الصلاحية (expired events) [SWS_EcuM_02683].

فيما يتعلق بسياق الاستدعاء، يجوز استدعاء EcuM_ClearWakeupEvent بمرونة من سياق المقاطعة، ومن سياق OS العادي، وكذلك من سياق خالٍ من OS [SWS_EcuM_02807]. ومع ذلك، في الوقت نفسه، يتم تحديد الدالة بشكل إلزامي على أنها غير قابلة لإعادة الدخول (Non-Reentrant) وغير قابلة للمقاطعة (Non-Interruptible) [SWS_EcuM_02828]. تفسير: نظراً لأن الدالة مسموح بها في سياقات مختلفة ولكنها غير قابلة للمقاطعة، فمن المرجح أن يتعين على مسؤول التكامل أو جهة الاستدعاء التأكد تنظيمياً من عدم حدوث استدعاءات متزامنة أو مقاطعة لبعضها البعض. سؤال Q-71a4b1b218505a1c (مفتوح)

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

دالة EcuM_AbortWakeupAlarm [SWS_EcuM_04061] 📄 PDF

Std_ReturnType EcuM_AbortWakeupAlarm (EcuM_UserType user);

Ecum_AbortWakeupAlarm aborts the wakeup alarm previously set by this user. EcuM_Abort WakeupAlarm is part of the ECU Manager Module port interface.

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

تُستخدم الدالة المتزامنة EcuM_AbortWakeupAlarm لإلغاء تنبيه استيقاظ تم ضبطه سابقًا بواسطة مستخدم [SWS_EcuM_04061]. وتتوفر الواجهة عبر ملف الرأس EcuM.h وتشكّل جزءًا من واجهة المنفذ لوحدة ECU Manager [SWS_EcuM_04061].

المعلمات وقيم الإرجاع

  • user (دخل): معرّف المستخدم من النوع EcuM_UserType، الذي يرغب في إلغاء تنبيه الاستيقاظ [SWS_EcuM_04061]. ولا توجد معاملات دخل/خرج أو معاملات خرج فقط [SWS_EcuM_04061].
  • E_OK: تم تنفيذ الخدمة بنجاح وإلغاء التنبيه [SWS_EcuM_04061].
  • ECUM_E_NOT_ACTIVE: لم يتم العثور على أي تنبيه نشط يخص المستخدم الممرر [SWS_EcuM_04061].
  • E_NOT_OK: فشل تنفيذ الخدمة [SWS_EcuM_04061].

التزامن والتفاعل

تمتلك الدالة معرّف الخدمة (Service ID) 0x24 ومحددة بأنها قابلة لإعادة الدخول [SWS_EcuM_04061]. وبالتالي يمكن إجراء الاستدعاءات بشكل متزامن لمستخدمين مختلفين. يحدد السلوك الداخلي لـ ECU Manager الوحدات القابلة للتنفيذ لتهيئة RTE المحلية [SWS_EcuM_03018]؛ وكجزء من واجهة منفذ الوحدة، فمن المرجح أن يتم بدء الاستدعاء عادةً بواسطة مكونات البرمجيات عبر RTE. سؤال Q-2c8f004d9f00bbd3 (مفتوح)

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

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

دالة EcuM_GetCurrentTime [SWS_EcuM_04062] 📄 PDF

Std_ReturnType EcuM_GetCurrentTime (EcuM_TimeType* time);

EcuM_GetCurrentTime returns the current value of the EcuM clock (i.e. the time since battery connect). EcuM_GetCurrentTime is part of the ECU Manager Module port interface.

دالة EcuM_GetWakeupTime [SWS_EcuM_04063] 📄 PDF

Std_ReturnType EcuM_GetWakeupTime (EcuM_TimeType* time);

EcuM_GetWakeupTime returns the current value of the master alarm clock (the minimum absolute time of all user alarm clocks). EcuM_GetWakeupTime is part of the ECU Manager Module port interface.

دالة EcuM_SetClock [SWS_EcuM_04064] 📄 PDF

Std_ReturnType EcuM_SetClock (EcuM_UserType user, EcuM_TimeType time);

EcuM_SetClock sets the EcuM clock time to the provided value. This API is useful for testing the alarm services; Alarms that take days to expire can be tested. EcuM_SetClock is part of the ECU Manager Module port interface.

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

تُستخدم الدالة المتزامنة والقابلة لإعادة الدخول EcuM_SetClock وفقاً لـ [SWS_EcuM_04064] لضبط الوقت الداخلي لـ ECU State Manager على قيمة محددة مسبقاً. كجزء من واجهة المنفذ لـ ECU Manager، يمكن تضمين الدالة واستدعاؤها عبر ملف الرأس EcuM.h [SWS_EcuM_04064].

الغرض الأساسي من استخدام الواجهة هو اختبار خدمات الإنذار: فالإنذارات التي قد يستغرق انقضاؤها العادي أياماً يمكن التحقق منها من خلال الضبط المستهدف للوقت في وضع الاختبار [SWS_EcuM_04064]. ويتم هنا تمرير معاملي دخل:

  • user (النوع EcuM_UserType): معرّف المتصل أو المستخدم الذي يرغب في ضبط الوقت.
  • time (النوع EcuM_TimeType): بيان الوقت المطلق بالثواني منذ توصيل البطارية (Battery Connect).

كقيمة مرجعة، تُعيد الخدمة الحالة Std_ReturnType مع E_OK في حالة التنفيذ الناجح أو E_NOT_OK في حالة حدوث خطأ [SWS_EcuM_04064]. لم يتم تحديد أسباب خطأ ملموسة أو رسائل DET في الواجهة؛ ومن المفترض أن يؤدي تمرير معرّفات مستخدمين غير مصرح لهم أو قيم وقت غير صالحة إلى إرجاع E_NOT_OK. سؤال Q-248768580c0309e8 (مفتوح)

فيما يتعلق بسلوك الوحدة الداخلي وتكوين RTE، تندمج الدالة في بنية الـ Runnable Entities الخاصة بـ EcuStateManager [SWS_EcuM_03018].

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

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

دالة EcuM_SelectBootTarget [SWS_EcuM_02835] 📄 PDF

Std_ReturnType EcuM_SelectBootTarget (EcuM_BootTargetType target);

EcuM_SelectBootTarget selects a boot target. EcuM_SelectBootTarget is part of the ECU Manager Module port interface.

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

تُستخدم الدالة المتزامنة EcuM_SelectBootTarget لاختيار هدف إقلاع لوحدة التحكم الإلكترونية وتُعد جزءاً من واجهة المنفذ لـ ECU Manager كما تتوفر عبر ملف الترويسة EcuM.h [SWS_EcuM_02835]. يتم تمرير الهدف المطلوب عبر معامِل الإدخال target من النوع EcuM_BootTargetType [SWS_EcuM_02835].

كقيمة معادة، تشير الدالة E_OK إذا تم قبول هدف الإقلاع الجديد بواسطة EcuM، وإلا E_NOT_OK [SWS_EcuM_02835]. يجب على التنفيذ حفظ الهدف المحدد بطريقة متوافقة مع Bootloader [SWS_EcuM_02247]. يمكن الاستعلام عن القيمة المضبوطة حالياً عبر الخدمة المكملة EcuM_GetBootTarget [SWS_EcuM_02836].

تم تحديد الدالة على أنها قابلة لإعادة الدخول [SWS_EcuM_02835]؛ وفي إطار السلوك الداخلي لتكوين RTE، تم التصريح عن Runnable Entity SelectBootTarget باستخدام canbeInvokedConcurrently = TRUE [SWS_EcuM_03018]. وعلى سبيل التقييد، فإن هذه الخدمة مخصصة حصرياً لمكونات البرمجيات (SW-Cs) ذات الصلة بالتشخيص أو إدارة الإقلاع، وقد تعتمد على الـ Bootloader المستخدم فعلياً [SWS_EcuM_03000].

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

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

دالة EcuM_GetBootTarget [SWS_EcuM_02836] 📄 PDF

Std_ReturnType EcuM_GetBootTarget (EcuM_BootTargetType* target);

EcuM_GetBootTarget returns the current boot target - see EcuM_SelectBootTarget. EcuM_Get BootTarget is part of the ECU Manager Module port interface.

دالة EcuM_ValidateWakeupEvent [SWS_EcuM_02829] 📄 PDF

void EcuM_ValidateWakeupEvent (EcuM_WakeupSourceType sources);

After wakeup, the ECU State Manager will stop the process during the WAKEUP VALIDATION state/sequence to wait for validation of the wakeup event.This API service is used to indicate to the ECU Manager module that the wakeup events indicated in the sources parameter have been validated.

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

EcuM_ValidateWakeupEvent هي خدمة متزامنة (معرّف الخدمة 0x14) تشير إلى ECU Manager بأن مصادر الاستيقاظ الممررة في المعامِل sources قد تم التحقق من صحتها بنجاح ([SWS_EcuM_02829]). بعد الاستيقاظ، ينتظر ECU State Manager في تسلسل التحقق من الصحة هذا التأكيد. عند الاستدعاء، توقف الدالة مؤقت انتهاء مهلة التحقق الجاري ([SWS_EcuM_02710]) وتدرج الأحداث الممررة عبر عملية OR المنطقية لقناع البتات في المتغير الداخلي لأحداث الاستيقاظ المصدق عليها ([SWS_EcuM_04078]).

الدالة قابلة لإعادة الدخول ([SWS_EcuM_02829]) ويجوز استدعاؤها من سياق المهمة وكذلك من سياق المقاطعة ([SWS_EcuM_02345]). إذا كان ECU Manager في الحالة RUN، يظل الاستدعاء دون تأثير لجميع مصادر الاستيقاظ ما لم تكن قنوات اتصال ([SWS_EcuM_02790]). في المقابل، بالنسبة للمصادر المخصصة لقناة اتصال، فإن الخدمة تُحدث تأثيراً غير مقيد في كل مرحلة من مراحل ECU ([SWS_EcuM_02791]).

في المسار العام، تتفاعل الخدمة بشكل وثيق مع التحقق من صحة الاستيقاظ وإدارة الاتصال:

  • فحص التحقق من الصحة: يستدعي ECU Manager للتحقق دالة Callout EcuM_CheckValidation؛ وفي حال اكتشاف حدث استيقاظ صالح، يتم تقديم الإشعار الراجع عبر EcuM_ValidateWakeupEvent ([SWS_EcuM_02925]).
  • التكوين: إذا لم يتم تكوين بروتوكول تحقق لمصدر استيقاظ (EcuMValidationTimeout)، فإن EcuM_SetWakeupEvent يشمل بالفعل استدعاء EcuM_ValidateWakeupEvent ([SWS_EcuM_02566]).
  • الإشعار: إذا تم تكوين EcuMComMChannelRef لمصدر الاستيقاظ، تستدعي الخدمة ComM_EcuM_WakeUpIndication ([SWS_EcuM_02645]). عند تكوين EcuMComMPNCRef، يتم بالإضافة إلى ذلك إطلاق ComM_EcuM_PNCWakeUpIndication لكل PNC مشار إليه ([SWS_EcuM_04140]).

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

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

دالة EcuM_ErrorHook [SWS_EcuM_02904] 📄 PDF

void EcuM_ErrorHook (uint16 reason);

The ECU State Manager will call the error hook if the error codes "ECUM_E_RAM_CHECK_ FAILED" or "ECUM_E_CONFIGURATION_DATA_INCONSISTENT" occur. In this situation it is not possible to continue processing and the ECU must be stopped. The integrator may choose the modality how the ECU is stopped, i.e. reset, halt, restart, safe state etc.

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

يتم استدعاء دالة رد النداء المتزامنة وغير القابلة لإعادة الدخول EcuM_ErrorHook (المتوفرة عبر EcuM_Externals.h) بواسطة ECU State Manager بمجرد حدوث أخطاء جسيمة تجعل مواصلة المعالجة المنتظمة مستحيلة وتتطلب إيقاف وحدة التحكم الإلكترونية [SWS_EcuM_02904]. يتم إرسال سبب الخطأ المحدد عبر معامِل التمرير reason [SWS_EcuM_02904].

تشمل أسباب الأخطاء المحددة ECUM_E_RAM_CHECK_FAILED و ECUM_E_CONFIGURATION_DATA_INCONSISTENT [SWS_EcuM_02904]. إذا فشل فحص RAM عند الاستيقاظ، فإن ECU Manager ملزم بإطلاق EcuM_ErrorHook مع السبب ECUM_E_RAM_CHECK_FAILED [SWS_EcuM_02987]. بالإضافة إلى ذلك، تتم معالجة الأخطاء عبر هذا الـ Hook إذا فشل استدعاء دالة نظام التشغيل ولم يتم تحديد أي رد فعل خطأ آخر؛ ويظل EcuM في هذه الحالة في حالته السابقة [SWS_EcuM_04139].

بالنسبة لمسؤول تكامل النظام، تسري الشروط العامة التالية عند التنفيذ:

  • طريقة إيقاف وحدة التحكم الإلكترونية: يختار مسؤول التكامل الطريقة التي يتم بها إيقاف ECU (مثل إعادة التعيين أو التوقف التام أو إعادة التشغيل أو الحالة الآمنة) [SWS_EcuM_02904]. تفسير: في الإجراءات الصارمة مثل إعادة التعيين أو التوقف التام، فمن المرجح ألا تعود الدالة عادةً إلى التحكم المنتظم في المسار. سؤال Q-59c23e3a2569f670 (مفتوح)
  • الإبلاغ عن الخطأ إلى DEM: يرجع التقدير إلى مسؤول التكامل فيما إذا كان سيتم توجيه الخطأ إلى DEM، بشرط التأكد من أن DEM لا يكتب في أي كتل NVRAM تالفة [SWS_EcuM_02987].

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

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

دالة EcuM_AL_SetProgrammableInterrupts [SWS_EcuM_04085] 📄 PDF

void EcuM_AL_SetProgrammableInterrupts (void);

If the configuration parameter EcuMSetProgrammableInterrupts is set to true, this callout Ecu M_AL_SetProgrammableInterrupts is executed and shall set the interrupts on ECUs with programmable interrupts.

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

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

يتم استدعاء دالة رد النداء EcuM_AL_SetProgrammableInterrupts بواسطة وحدة ECU State Manager لتكوين وضبط المقاطعات المقابلة على وحدات التحكم الإلكترونية المزودة بوحدات تحكم مقاطعات قابلة للبرمجة [SWS_EcuM_04085]. ومع ذلك، لا يتم تنفيذ رد النداء هذا إلا إذا تم تعيين معلمة التكوين EcuMSetProgrammableInterrupts على القيمة true [SWS_EcuM_04085]. وإذا لم تكن هذه المعلمة مفعلة، فلن يتم الاستدعاء [SWS_EcuM_04085]. بالنسبة لمسؤولي التكامل ومحركات تشغيل المنصة، يتم توفير الإعلان عن الواجهة عبر ملف الترويسة EcuM_Externals.h [SWS_EcuM_04085].

تمتلك الواجهة الصيغة void EcuM_AL_SetProgrammableInterrupts (void) وتتبع لمعرف الخدمة 0x4A [SWS_EcuM_04085]. ويتم الاستدعاء بدون أي معلمات على الإطلاق: حيث لا يتم تمرير معلمات إدخال أو إدخال/إخراج أو إخراج، ولا تُرجع الدالة أي قيمة إرجاع إلى الوحدة المستدعية [SWS_EcuM_04085].

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

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

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

دالة EcuM_AL_DriverInitZero [SWS_EcuM_02905] 📄 PDF

void EcuM_AL_DriverInitZero (void);

This callout shall provide driver initialization and other hardware-related startup activities for loading the post-build configuration data. Beware: Here only pre-compile and link-time configurable modules may be used.

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

الاستخدام

يتم استدعاء دالة Callout EcuM_AL_DriverInitZero (معرّف الخدمة 0x31) بشكل متزامن، ولا تمتلك معامِلات ولا قيمة معادة وليست قابلة لإعادة الدخول [SWS_EcuM_02905]. يتم التصريح عنها عبر الترويسة EcuM_Externals.h [SWS_EcuM_02905]. تُستخدم الدالة لتوفير عمليات التهيئة المبكرة لبرامج التشغيل وأنشطة البدء الأساسية المتعلقة بالعتاد، والتي تُعد ضرورية للغاية للتمكن لاحقاً من تحميل بيانات تكوين Post-Build [SWS_EcuM_02905].

القيود والتشغيل متعدد الأنوية

تسري تعليمات وقيود محددة على التنفيذ والتشغيل:

  • فئات التكوين: في هذا الوقت المبكر، لا يجوز استخدام سوى الوحدات القابلة للتكوين كـ Pre-Compile أو Link-Time [SWS_EcuM_02905]. لا تتوفر برامج التشغيل القابلة للتكوين كـ Post-Build هنا بعد.
  • سياق الاستدعاء: يتم استدعاء الدالة بواسطة EcuM_Init على كل Core في النظام [SWS_EcuM_04145].
  • التهيئة الخاصة بكل Core: يجب أن يضمن تنفيذ دالة callout تهيئة وحدات MCAL التي يتم تنفيذها بالفعل على هذا الـ Core المحدد فقط، وذلك على الـ Core النشط حاليًا [SWS_EcuM_04145].

لم يتم تعريف قيم إرجاع أو رموز أخطاء محددة أو إشعارات عبر DET أو DEM لدالة callout هذه [SWS_EcuM_02905].

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

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

دالة EcuM_DeterminePbConfiguration [SWS_EcuM_02906] 📄 PDF

const EcuM_ConfigType* EcuM_DeterminePbConfiguration (void);

This callout should evaluate some condition, like port pin or NVRAM value, to determine which post-build configuration shall be used in the remainder of the startup process. It shall load this configuration data into a piece of memory that is accessible by all BSW modules and shall return a pointer to the EcuM post-build configuration as a base for all BSW module post-build configrations.

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

الدالة EcuM_DeterminePbConfiguration ([SWS_EcuM_02906]) هي نداء استدعاء (Callout) متزامن لـ ECU State Manager، وتُوفَّر عبر ملف الرأس EcuM_Externals.h وتمتلك معرّف الخدمة 0x32. لا تمتلك الواجهة أي معاملات دخل أو خرج أو دخل/خرج ([SWS_EcuM_02906]). يتمثل غرضها المركزي في تحديد مجموعة بيانات تكوين Post-Build التي يجب استخدامها لمسار بدء تشغيل النظام الإضافي استناداً إلى ظروف العتاد أو الذاكرة أثناء عملية بدء التشغيل ([SWS_EcuM_02906]).

لتحديد التكوين، يجب على نداء الاستدعاء تقييم معايير خارجية أو مقيمة مثل حالة أحد منافذ التوصيل (Port-Pin) أو قيمة في NVRAM ([SWS_EcuM_02906]). بعد ذلك، يجب على الدالة تحميل بيانات التكوين هذه إلى مقطع ذاكرة يمكن لجميع وحدات BSW الوصول إليه ([SWS_EcuM_02906]). وكقيمة مرجعة، تُعيد مؤشراً من النوع const EcuM_ConfigType* إلى تكوين Post-Build الخاص بـ EcuM ([SWS_EcuM_02906]). يشكل هذا المؤشر الأساس المشترك لـ BSW بأكملها، نظراً لأن الهيكل يحتوي على مؤشرات إلى تكوينات Post-Build الخاصة بجميع وحدات BSW الأخرى ([SWS_EcuM_02906]).

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

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

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

دالة EcuM_AL_DriverInitOne [SWS_EcuM_02907] 📄 PDF

void EcuM_AL_DriverInitOne (void);

This callout shall provide driver initialization and other hardware-related startup activities in case of a power on reset.

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

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

الدالة EcuM_AL_DriverInitOne هي دالة callout تابعة لـ ECU State Manager (EcuM)، ويتم توفيرها عبر ملف الرأس EcuM_Externals.h [SWS_EcuM_02907]. تتمثل مهمتها الأساسية في تنفيذ تهيئة برامج التشغيل بالإضافة إلى أنشطة بدء التشغيل الأخرى المرتبطة بالعتاد لوحدة التحكم في حالة حدوث إعادة ضبط التشغيل (Power-on-Reset) [SWS_EcuM_02907]. ونظرًا لأنها دالة callout، فمن المرجح أن يتم التنفيذ الفعلي لتهيئة العتاد وبرامج التشغيل بواسطة مكامل النظام المعني. سؤال Q-e22baf2fa31cf075 (مفتوح)

تمتلك الواجهة توقيع C void EcuM_AL_DriverInitOne (void) ومخصصة لـ Service-ID 0x33 [SWS_EcuM_02907]. وهي لا تقبل أي معلمات إدخال ولا تُرجع أي قيمة إرجاع إلى المستدعي [SWS_EcuM_02907].

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

تنطبق الشروط الحدية التالية على الاستدعاء وسلوك وقت التشغيل وفقًا لـ [SWS_EcuM_02907]:

  • التزامن: يتم التنفيذ بشكل متزامن (Synchronous)، بحيث ينتظر المستدعي اكتمال أنشطة بدء التشغيل.
  • إمكانية إعادة الدخول: تم تعريف الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant)؛ ولا يُسمح بالاستدعاء المتعدد المتزامن أو المقاطع.
  • سياق الاستدعاء: تم تحديد التنشيط حصريًا لمرحلة التهيئة بعد إعادة ضبط التشغيل (Power-on-Reset) مباشرةً.

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

نظرًا لأن EcuM_AL_DriverInitOne يحتوي على نوع الإرجاع void، فلا يوجد إشعار مباشر على مستوى الواجهة بنجاح التهيئة أو فشلها [SWS_EcuM_02907]. لم يتم تعريف رموز أخطاء محددة أو رسائل DET أو DEM في نطاق المواصفات الحالي لدالة callout هذه.

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

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

دالة EcuM_LoopDetection [SWS_EcuM_04137] 📄 PDF

void EcuM_LoopDetection (void);

If the configuration parameter EcuMResetLoopDetection is set to true, this callout EcuM_Loop Detection is called on every startup.

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

الدالة EcuM_LoopDetection هي دالة نداء خارجي لـ ECU State Manager بمعرّف الخدمة 0x4B، وتتوفر عبر ملف الرأس EcuM_Externals.h [SWS_EcuM_04137].

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

شريطة ضبط معامل التهيئة EcuMResetLoopDetection على true، يتم استدعاء دالة النداء الخارجي هذه بشكل متزامن عند كل بدء تشغيل (Startup) [SWS_EcuM_04137]. ولا تحتوي الدالة على معاملات دخل، أو دخل/خرج، أو خرج، ولا تُرجع أي قيمة (التوقيع: void EcuM_LoopDetection (void)) [SWS_EcuM_04137].

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

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

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

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

دالة EcuM_OnGoOffOne [SWS_EcuM_02916] 📄 PDF

void EcuM_OnGoOffOne (void);

This call allows the system designer to notify that the GO OFF I state is about to be entered.

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

الاستخدام

تُستخدم الدالة EcuM_OnGoOffOne للإعلان عن الوصول إلى حالة النظام GO OFF I ولمنح مصمم النظام إمكانية اتخاذ الإجراءات المناسبة مباشرةً قبل الانتقال [SWS_EcuM_02916]. تُنفذ الدالة بشكل متزامن، ولا تتوقع أي معلمات تمرير (لا in ولا inout)، ولا تُرجع أي قيمة إرجاع (void) [SWS_EcuM_02916]. وبما أنه يتم الإعلان عن الواجهة عبر ملف الترويسة EcuM_Externals.h، فمن المفهوم منطقياً أنها دالة رد نداء (callout) خاصة بالمستخدم ويتم تنفيذها في كود التكامل [SWS_EcuM_02916]. سؤال Q-93de53c47a5a6142 (مفتوح)

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

في مواصفة EcuM_OnGoOffOne، لم يتم إدراج أخطاء تطوير (DET) ولا أخطاء إنتاج (DEM) ولا قيم إرجاع محددة للأخطاء [SWS_EcuM_02916]. ويُستنتج من ذلك أن المستدعي لا يتوقع إدارة أخطاء قياسية، ويجب معالجة أي حالات استثنائية بشكل مستقل داخل التنفيذ المخصص للمستخدم [SWS_EcuM_02916].

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

تم تحديد الخصائص التالية لسياق الاستدعاء وسلوك وقت التشغيل [SWS_EcuM_02916]:

  • قابلية إعادة الدخول: تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) ولا يجوز بأي حال استدعاؤها بشكل متوازٍ أو متداخل [SWS_EcuM_02916].
  • التزامنية: الدلالة متزامنة تماماً (Synchronous)، بحيث ينتظر المستدعي العودة الكاملة للدالة [SWS_EcuM_02916].
  • معرف الخدمة: يتم تمثيل الخدمة داخلياً بواسطة المعرف السداسي عشري 0x3C [SWS_EcuM_02916].

نظراً للسلوك المتزامن والانتقال الوشيك إلى الحالة GO OFF I، يُفترض أنه ينبغي تجنب العمليات الحاجبة لتفادي تأخير عملية إيقاف التشغيل أو الانتقال دون مبرر [SWS_EcuM_02916]. سؤال Q-93f5e23c581f0c38 (مفتوح)

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

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

دالة EcuM_OnGoOffTwo [SWS_EcuM_02917] 📄 PDF

void EcuM_OnGoOffTwo (void);

This call allows the system designer to notify that the GO OFF II state is about to be entered.

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

تُستخدم الدالة المتزامنة EcuM_OnGoOffTwo وفقًا للمواصفات لتمكين مصمم النظام من تلقي إشعار بأن الحالة GO OFF II باتت وشيكة [SWS_EcuM_02917]. ويتم الاستدعاء بدون معلمات، دون معلمات إدخال (In) أو إدخال/إخراج (Inout) أو إخراج (Out)، ولا يُرجع أي قيمة إرجاع إلى المستدعي [SWS_EcuM_02917].

فيما يتعلق بسياق التنفيذ والتزامن، فإن الواجهة مزودة بـ Service-ID 0x3D ومحددة بأنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_EcuM_02917]. ويتم توفيرها عبر ملف الرأس EcuM_Externals.h [SWS_EcuM_02917]. التفسير: نظرًا لأن التصريح موجود في EcuM_Externals.h ويخدم إشعار مصمم النظام، فمن المرجح أن تكون الدالة مصممة كدالة callout متزامنة لإدارة وحدة التحكم (ECU)، ويتم استدعاؤها قبل الانتقال إلى الحالة GO OFF II. سؤال Q-bb0ae6e4632de827 (مفتوح)

بسبب خاصيتها كواجهة غير قابلة لإعادة الدخول، لا يجوز تكرار الاستدعاء بشكل متوازٍ أو مقاطع [SWS_EcuM_02917]. لم يتم تعريف رموز أخطاء محددة أو إشعارات إلى DET أو DEM أو آليات خاصة لمعالجة الأخطاء في نطاق المواصفات [SWS_EcuM_02917].

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

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

دالة EcuM_AL_SwitchOff [SWS_EcuM_02920] 📄 PDF

void EcuM_AL_SwitchOff (void);

This callout shall take the code for shutting off the power supply of the ECU. If the ECU cannot unpower itself, a reset may be an adequate reaction.

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

الاستخدام

تعد دالة callout EcuM_AL_SwitchOff جزءًا من وحدة ECU State Manager (EcuM) وتُستخدم لاحتواء الكود المخصص للمستخدم لفصل مصدر إمداد الطاقة عن وحدة التحكم [SWS_EcuM_02920]. تم تعريف الواجهة بشكل متزامن، وتمتلك Service-ID 0x3E، ويتم توفيرها عبر ملف الرأس EcuM_Externals.h [SWS_EcuM_02920].

وفقًا للمواصفات، لا تقبل الدالة معلمات إدخال أو إدخال/إخراج أو إخراج، وليس لها قيمة إرجاع (void) [SWS_EcuM_02920]. إذا تعذر على عتاد وحدة التحكم فصل التيار ذاتيًا، فإن المواصفات تنص على أن إطلاق إعادة ضبط يمكن أن يمثل استجابة مناسبة بدلاً من ذلك [SWS_EcuM_02920].

التفاعل والتزامن

يتم استدعاء EcuM_AL_SwitchOff إلزاميًا بواسطة وحدة ECU Manager بمجرد أن تكون وجهة إيقاف التشغيل المحددة هي OFF [SWS_EcuM_04075]. فيما يتعلق بسلوك التزامن، تم تحديد دالة callout بأنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_EcuM_02920]. التفسير: نظرًا لأن هدف الدالة هو الفصل الكامل للتيار الكهربائي أو إجراء إعادة ضبط كحل بديل، فمن المرجح أن تمثل دالة callout هذه الخطوة الختامية لتسلسل إيقاف التشغيل، والتي لا يحدث بعدها أي تنفيذ منتظم إضافي للبرنامج. سؤال Q-e8a1aaa1413bbea9 (مفتوح)

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

لم تنص المواصفات على رموز أخطاء محددة أو آليات لمعالجة الأخطاء أو رسائل إلى DET أو DEM لدالة callout [SWS_EcuM_02920].

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

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

دالة EcuM_AL_Reset [SWS_EcuM_04065] 📄 PDF

void EcuM_AL_Reset (EcuM_ResetType reset);

This callout shall take the code for resetting the ECU.

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

تُستخدم دالة النداء الخارجي EcuM_AL_Reset لاستقبال الشيفرة البرمجية المخصصة للتكامل، والمسؤولة عن إعادة ضبط وحدة التحكم الإلكترونية ([SWS_EcuM_04065]). يتم الإعلان عن الواجهة عبر ملف الرأس EcuM_Externals.h وتمتلك معرّف الخدمة 0x4C ([SWS_EcuM_04065]).

يتم استدعاء الدالة بشكل متزامن وتُعرَّف بأنها غير قابلة لإعادة الدخول (Non Reentrant) ([SWS_EcuM_04065]). ويتم تمرير reset من النوع EcuM_ResetType كمعامل دخل وحيد، والذي يحدد النوع الدقيق لإعادة الضبط المراد تنفيذها ([SWS_EcuM_04065]). ولا تمتلك الدالة قيمة إرجاع (void) ولا تحتوي على أي معاملات للخرج أو الدخل/الخرج ([SWS_EcuM_04065]).

ضمن تفاعل مرحلة إيقاف التشغيل، تم تحديد أنه يجب على وحدة ECU Manager استدعاء دالة النداء الخارجي EcuM_AL_Reset إلزاميًا إذا كانت وجهة إيقاف التشغيل مضبوطة على RESET ([SWS_EcuM_04074]). ولا تنص المواصفات على وجود رموز أخطاء أو إشعارات إلى DET أو DEM لدالة النداء الخارجي هذه ([SWS_EcuM_04065]). تفسير: من المرجح أن تنفذ دالة النداء الخارجي أوامر تحكم قريبة من العتاد تؤدي مباشرةً إلى إعادة ضبط MCU. سؤال Q-1e318404843faabd (مفتوح)

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

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

دالة EcuM_EnableWakeupSources [SWS_EcuM_02918] 📄 PDF

void EcuM_EnableWakeupSources (EcuM_WakeupSourceType wakeupSource);

The ECU Manager Module calls EcuM_EnableWakeupSource to allow the system designer to notify wakeup sources defined in the wakeupSource bitfield that SLEEP will be entered and to adjust their source accordingly.

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

الدالة EcuM_EnableWakeupSources هي دالة callout متزامنة لـ ECU-Manager تحمل Service-ID 0x3F، ويتم التصريح عنها عبر ملف الرأس EcuM_Externals.h [SWS_EcuM_02918]. تُستخدم لإعلام مطور النظام بأن الحالة SLEEP وشيكة، حتى يمكن تجهيز مصادر الاستيقاظ المحددة في حقل البتات wakeupSource (النوع EcuM_WakeupSourceType) وضبطها وفقًا لذلك [SWS_EcuM_02918].

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

يقوم ECU-Manager بتنفيذ EcuM_EnableWakeupSources لتكوين مصادر الاستيقاظ لوضع Sleep التالي؛ ويحدث هذا لكل مصدر استيقاظ تم تكوينه في EcuMWakeupSourceMask لوضع Sleep المستهدف [SWS_EcuM_02389]. ليس للدالة قيمة إرجاع (void) وتتوقع حقل البتات wakeupSource كمعلمة إدخال [SWS_EcuM_02918].

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

  • إعادة الدخول: تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_EcuM_02918].
  • التزامن: تتم المعالجة بشكل متزامن [SWS_EcuM_02918].
  • معالجة الأخطاء: لم يتم تعريف رسائل أخطاء محددة لـ DET أو DEM في نطاق مواصفات الواجهة [SWS_EcuM_02918].

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

دالة EcuM_GenerateRamHash [SWS_EcuM_02919] 📄 PDF

void EcuM_GenerateRamHash (void);

see EcuM_CheckRamHash

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

تُستخدم الدالة EcuM_GenerateRamHash لتوليد قيمة تحقق لـ RAM في سياق ECU State Manager، حيث تشير المواصفات إلى EcuM_CheckRamHash فيما يتعلق بطريقة العمل [SWS_EcuM_02919]. وتُستخدم قيمة التحقق المُولَّدة على الأرجح للتحقق اللاحق من تكامل الذاكرة الرئيسية فيما يتعلق بحالات السكون أو الخمول. سؤال Q-7f316b389e1609c0 (مفتوح)

الاستخدام والواجهة

تمتلك الخدمة Service-ID 0x40 والتوقيع void EcuM_GenerateRamHash(void) [SWS_EcuM_02919]. ولا تمتلك الدالة معلمات إدخال أو إخراج أو إدخال/إخراج، ولا تُرجع أي قيمة إرجاع. ويتم التنفيذ بشكل متزامن.

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

تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_EcuM_02919]. وبالتالي لا يجوز استدعاؤها بشكل مقاطع أو متوازٍ من سياقات متعددة. ويتم توفير التصريح عبر ملف الرأس EcuM_Externals.h [SWS_EcuM_02919]. التفسير: من خلال التعريف في EcuM_Externals.h، من المرجح أن تكون دالة callout يجب تنفيذها بشكل مخصص للتطبيق، ويستدعيها ECU State Manager في وقت مناسب ضمن تسلسل الحالات. سؤال Q-2f53f1a19cee079c (مفتوح)

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

لم يتم تعريف رموز أخطاء محددة ولا رسائل DET أو DEM لـ EcuM_GenerateRamHash في [SWS_EcuM_02919].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا بناءً على مواصفات الوحدة EcuM.

دالة EcuM_SleepActivity [SWS_EcuM_02928] 📄 PDF

void EcuM_SleepActivity (void);

This callout is invoked periodically in all reduced clock sleep modes. It is explicitely allowed to poll wakeup sources from this callout and to call wakeup notification functions to indicate the end of the sleep state to the ECU State Manager.

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

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

تمثل الدالة EcuM_SleepActivity رد نداء (callout) لـ ECU State Manager، ويتم توفيرها في ملف الترويسة EcuM_Externals.h مع معرف الخدمة 0x41 [SWS_EcuM_02928]. يتم الاستدعاء دورياً في جميع أوضاع النوم ذات تردد المعالج المنخفض (reduced clock sleep modes) [SWS_EcuM_02928]. تمتلك الدالة التوقيع void EcuM_SleepActivity(void)، وتعمل بشكل متزامن ولا تقبل معلمات إدخال أو إخراج أو إدخال/إخراج [SWS_EcuM_02928].

المهام الوظيفية والتفاعل

الغرض من رد النداء هذا هو تنفيذ الأنشطة أثناء النوم: من المنصوص عليه والمسموح به صراحةً الاستعلام الدوري عن مصادر الاستيقاظ (Polling) داخل EcuM_SleepActivity [SWS_EcuM_02928]. بالإضافة إلى ذلك، يُسمح باستدعاء دوال إخطار الاستيقاظ مباشرةً من رد النداء لإبلاغ ECU State Manager بإنهاء حالة النوم [SWS_EcuM_02928].

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

تم تحديد الواجهة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_EcuM_02928]. وبما أن رد النداء لا يُرجع أي قيمة إرجاع ولم يتم تحديد معلمات خطأ، فلا تتم معالجة مباشرة للأخطاء عبر واجهة الدالة باستخدام رموز أخطاء أو مبلّغات أخطاء مثل DET أو DEM [SWS_EcuM_02928].

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

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

دالة EcuM_StartCheckWakeup [SWS_EcuM_04096] 📄 PDF

void EcuM_StartCheckWakeup (EcuM_WakeupSourceType WakeupSource);

This API is called by the ECU Firmware to start the CheckWakeupTimer for the corresponding WakeupSource. If EcuMCheckWakeupTimeout > 0 the CheckWakeupTimer for the Wakeup Source is started. If EcuMCheckWakeupTimeout <= 0 the API call is ignored by the EcuM.

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

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

وفقًا لـ [SWS_EcuM_04096]، يتم استدعاء الواجهة المتزامنة EcuM_StartCheckWakeup بواسطة البرنامج الثابت لوحدة التحكم الإلكترونية (ECU firmware) لبدء المؤقت CheckWakeupTimer لمصدر استيقاظ معين. ويتم تمرير المعامل WakeupSource من النوع EcuM_WakeupSourceType إلى الدالة لهذا الغرض. لا تمتلك الدالة قيمة إرجاع (void) وتتوفر عبر ملف الرأس EcuM_Externals.h.

مسار التنفيذ والشروط

يعتمد تنفيذ الدالة على تهيئة مصدر الاستيقاظ [SWS_EcuM_04096]:

  • إذا كانت القيمة EcuMCheckWakeupTimeout > 0 مهيأة لمصدر الاستيقاظ المعني، فسيتم بدء CheckWakeupTimer المرتبط به.
  • إذا انطبق EcuMCheckWakeupTimeout <= 0، فإن EcuM يتجاهل استدعاء الدالة تمامًا.

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

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

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

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

دالة EcuM_CheckWakeup [SWS_EcuM_02929] 📄 PDF

void EcuM_CheckWakeup (EcuM_WakeupSourceType wakeupSource);

This callout is called by the EcuM to poll a wakeup source. It shall also be called by the ISR of a wakeup source to set up the PLL and check other wakeup sources that may be connected to the same interrupt.

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

تُستخدم دالة callout EcuM_CheckWakeup لفحص مصادر الاستيقاظ والاستقصاء الدوري (Polling) لها، بالإضافة إلى تكوين الـ PLL بعد حدث استيقاظ [SWS_EcuM_02929]. يتم توفير الدالة عبر ملف الرأس EcuM_Externals.h وتمتلك Service-ID 0x42 [SWS_EcuM_02929].

سياق الاستدعاء والدلالات البرمجية

  • التوقيع والمعلمات: تُنفذ الدالة بشكل متزامن (Synchronous)، وليس لها قيمة إرجاع، وتتوقع wakeupSource من النوع EcuM_WakeupSourceType كمعلمة إدخال [SWS_EcuM_02929].
  • المستدعي: يتم استدعاء دالة callout بواسطة EcuM للاستعلام الدوري عن مصدر استيقاظ. بالإضافة إلى ذلك، يجب استدعاؤها إلزاميًا من روتين خدمة المقاطعة (ISR) لمصدر استيقاظ، وذلك لتهيئة الـ PLL وفحص مصادر استيقاظ إضافية متصلة بنفس المقاطعة [SWS_EcuM_02929].
  • حلقة الاستقصاء الدوري (Polling): في تسلسل الاستقصاء الدوري، يستدعي EcuM دالتي callout EcuM_SleepActivity وEcuM_CheckWakeup بشكل متكرر في حلقة حاصرة (Blocking Loop)، حتى يتم الإبلاغ عن حدث استيقاظ كمعلق أو تم التحقق من صحته [SWS_EcuM_03020].

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

تم تحديد الدالة بأنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_EcuM_02929]. ونظرًا لأن الاستدعاءات تتم من مسار التنفيذ الحاجب لتسلسل الاستطلاع (Polling Sequence) وكذلك من سياقات ISR، فمن المرجح أن يتعين على عملية التكامل ضمان عدم حدوث استدعاءات متزامنة غير منسقة. سؤال Q-8bc8f164670a0911 (مفتوح) ولم يتم تحديد رموز أخطاء معينة أو إشعارات أخطاء إلى DET أو DEM لدالة النداء الخارجي (Callout) هذه.

تم توليد ملاحظة الاستخدام هذه تلقائيًا على أساس مواصفة AUTOSAR.

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

دالة EcuM_EndCheckWakeup [SWS_EcuM_02927] 📄 PDF

void EcuM_EndCheckWakeup (EcuM_WakeupSourceType WakeupSource);

This API is called by any SW Module whose wakeup source is checked asynchronously (e.g. asynchronous Can Trcv Driver) and the Check of the Wakeup returns a negative Result (no Wakeup by this Source). The API cancels the CheckWakeupTimer for the WakeupSource. If the correponding CheckWakeupTimer is canceled the check of this wakeup source is finished.

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

تستدعي وحدات البرمجيات الدالة المتزامنة EcuM_EndCheckWakeup عندما يُسفر الفحص غير المتزامن لمصدر استيقاظ (مثل برنامج تشغيل جهاز إرسال واستقبال CAN غير متزامن) عن نتيجة سلبية، أي عدم وجود حدث استيقاظ بواسطة هذا المصدر [SWS_EcuM_02927].

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

عبر معامل الدخل WakeupSource من النوع EcuM_WakeupSourceType، يتم تمرير مصدر الاستيقاظ المراد إلغاء مؤقت المراقبة المرتبط به [SWS_EcuM_02927]. لا تُعيد الدالة أي قيمة مرجعة (void) ولا تملك أي معاملات دخل/خرج أو معاملات خرج [SWS_EcuM_02927].

آلية العمل والتزامن

  • تلغي الدالة المؤقت CheckWakeupTimer لمصدر الاستيقاظ المحدد؛ ومع إلغاء هذا المؤقت، يُعتبر فحص مصدر الاستيقاظ مكتملاً [SWS_EcuM_02927].
  • تم تعريف الواجهة على أنها متزامنة وغير قابلة لإعادة الدخول (Non Reentrant) [SWS_EcuM_02927].
  • يُتاح التصريح عبر ملف الرأس EcuM_Externals.h [SWS_EcuM_02927].

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

دالة EcuM_CheckRamHash [SWS_EcuM_02921] 📄 PDF

uint8 EcuM_CheckRamHash (void);

This callout is intended to provide a RAM integrity test. The goal of this test is to ensure that after a long SLEEP duration, RAM contents is still consistent. The check does not need to be exhaustive since this would consume quite some processing time during wakeups. A well designed check will execute quickly and detect RAM integrity defects with a sufficient probability. This specification does not make any assumption about the algorithm chosen for a particular ECU. The areas of RAM which will be checked have to be chosen carefully. It depends on the check algorithm itself and the task structure. Stack contents of the task executing the RAM check e.g. very likely cannot be checked. It is good practice to have the hash generation and checking in the same task and that this task is not preemptible and that there is only little activity between hash generation and hash check. The RAM check itself is provided by the system designer. In case of applied multi core and existence of Satellite-Ecu M(s): this API will be called by the Master-EcuM only.

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

الدالة EcuM_CheckRamHash هي دالة callout متزامنة وغير قابلة لإعادة الدخول (مُصرَّح عنها في EcuM_Externals.h)، توفر اختبار تكامل لذاكرة RAM [SWS_EcuM_02921]. لا تحتوي الدالة على معلمات وتُرجع قيمة حالة من النوع uint8: تشير القيمة 0 إلى فشل الاختبار، بينما تشير أي قيمة أخرى إلى اجتيازه بنجاح [SWS_EcuM_02921].

وفقًا لـ [SWS_EcuM_02863]، تستدعي الوحدة EcuM أولاً [SWS_EcuM_02919] قبل إيقاف المتحكم الدقيق، وتنفذ EcuM_CheckRamHash بعد العودة من حالة التوقف (Halt). والهدف هو التحقق من أن محتوى RAM ظل متسقًا حتى بعد مرحلة SLEEP طويلة [SWS_EcuM_02921].

تنطبق الشروط الحدية التالية على التنفيذ وسير العمل:

  • الخوارزمية ونطاق الفحص: يتم توفير دالة الفحص بواسطة مصمم النظام؛ وليس بالضرورة أن تكون شاملة، ولكن ينبغي أن تُنفذ بسرعة وأن تكتشف الأخطاء بدرجة كافية من الموثوقية [SWS_EcuM_02921]. ويجب اختيار النطاقات المراد فحصها بعناية؛ إذ لا يمكن فحص محتويات مكدس (Stack) المهمة المنفذة في العادة [SWS_EcuM_02921].
  • بنية المهام: يُعتبر من أفضل الممارسات تنفيذ توليد التجزئة والتحقق منها في نفس المهمة غير القابلة للمقاطعة مع أدنى حد من النشاط البيني [SWS_EcuM_02921].
  • الأنظمة متعددة الأنوية (Multi-Core): في حالة وجود عدة نوى معالجات مع وحدات EcuM تابعة (Satellites)، يتم استدعاء دالة callout حصريًا بواسطة EcuM الرئيسي ولا تفحص سوى البيانات الواقعة ضمن نطاقه [SWS_EcuM_02863]، [SWS_EcuM_02921].

لم يتم تعريف رسائل DET أو DEM محددة لدالة callout هذه؛ ومن المرجح أن يخضع رد الفعل على الخطأ عند قيمة الإرجاع 0 لتقدير تصميم النظام الأعلى [SWS_EcuM_02921]. سؤال Q-473ef8617db29fe3 (مفتوح)

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

دالة EcuM_DisableWakeupSources [SWS_EcuM_02922] 📄 PDF

void EcuM_DisableWakeupSources (EcuM_WakeupSourceType wakeupSource);

The ECU Manager Module calls EcuM_DisableWakeupSources to set the wakeup source(s) defined in the wakeupSource bitfield so that they are not able to wake the ECU up.

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

تُستخدم الواجهة المتزامنة EcuM_DisableWakeupSources ذات معرّف الخدمة 0x44 لتهيئة مصادر الاستيقاظ المعرّفة في معامل حقل البتات wakeupSource من النوع EcuM_WakeupSourceType بحيث لا تعود قادرة على إيقاظ وحدة التحكم الإلكترونية (ECU) [SWS_EcuM_02922]. توقيع الدالة هو void EcuM_DisableWakeupSources (EcuM_WakeupSourceType wakeupSource) [SWS_EcuM_02922].

وفقاً للمواصفة، تنطبق الخصائص التالية على سياق الاستدعاء والتكامل:

  • المتصل وملف الرأس: يتم استدعاء الدالة بواسطة وحدة ECU Manager وتُوفَّر عبر ملف الرأس EcuM_Externals.h [SWS_EcuM_02922].
  • المعاملات والقيم المرجعة: يتم تمرير حقل البتات wakeupSource كمعامل الدخل الوحيد. لا تمتلك الدالة معاملات دخل/خرج أو معاملات خرج، ولا تُعيد قيمة مرجعة (void) [SWS_EcuM_02922].
  • دلالات التنفيذ والتزامن: تتم المعالجة بشكل متزامن. بالإضافة إلى ذلك، تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant)، بحيث يجب تجنب الاستدعاءات المتزامنة أو المتداخلة [SWS_EcuM_02922].

فيما يتعلق بمعالجة الأخطاء، لا تحتوي المواصفة الخاصة باستدعاء هذه الدالة على رموز أخطاء محددة أو إشعارات إلى DET أو DEM [SWS_EcuM_02922].

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

دالة EcuM_AL_DriverRestart [SWS_EcuM_02923] 📄 PDF

void EcuM_AL_DriverRestart (void);

This callout shall provide driver initialization and other hardware-related startup activities in the wakeup case.

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

يتم التصريح عن دالة callout EcuM_AL_DriverRestart عبر ملف الرأس EcuM_Externals.h وتحمل Service-ID 0x45 [SWS_EcuM_02923]. تمتلك الدالة التوقيع void EcuM_AL_DriverRestart (void)، ولا تتطلب معلمات تمرير ولا تُرجع أي قيمة إرجاع [SWS_EcuM_02923]. الغرض من هذه الواجهة هو توفير تهيئة برامج التشغيل بالإضافة إلى أنشطة أخرى مرتبطة بالعتاد أثناء مرحلة بدء التشغيل في حالة الاستيقاظ (Wakeup Case) [SWS_EcuM_02923].

تنطبق متطلبات إلزامية على التكامل والتفاعل مع الوحدة EcuM:

  • لإعادة التهيئة أثناء المرحلة WakeupRestart، يجب على المكامل تضمين كتلة إعادة تشغيل في كود التكامل لـ EcuM_AL_DriverRestart، والتي تستخدم القائمة المكونة EcuMDriverRestartList [SWS_EcuM_02947] [SWS_EcuM_02923].
  • يمكن أن تحتوي القائمة EcuMDriverRestartList على برامج تشغيل تعمل كمصادر استيقاظ (Wakeup Sources) [SWS_EcuM_02562]. في هذه الحالة، يجب على EcuM_AL_DriverRestart إعادة تجهيز (re-arm) آلية إطلاق رد النداء لاكتشاف الاستيقاظ (”wakeup detected“) لبرامج التشغيل هذه [SWS_EcuM_02562].

فيما يتعلق بسلوك وقت التشغيل، تم تعريف الدالة على أنها متزامنة وغير قابلة لإعادة الدخول [SWS_EcuM_02923]. ونظرًا لأنها كود تكامل خاص بالتطبيق، فإن المواصفات لا تحدد رموز أخطاء خاصة بها عند هذه الواجهة، ولا تحدد رسائل قياسية إلى DET أو DEM.

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

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

دالة EcuM_StartWakeupSources [SWS_EcuM_02924] 📄 PDF

void EcuM_StartWakeupSources (EcuM_WakeupSourceType wakeupSource);

The callout shall start the given wakeup source(s) so that they are ready to perform wakeup validation.

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

تُستخدم دالة callout EcuM_StartWakeupSources لبدء مصدر (مصادر) الاستيقاظ المُمَرَّر وتشغيله بحيث يكون جاهزًا للتنفيذ اللاحق للتحقق من صحة الاستيقاظ (Wakeup Validation) [SWS_EcuM_02924].

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

تم تحديد الدالة كاستدعاء متزامن مع Service-ID 0x46، وليس لها قيمة إرجاع (void)، وتتوفر عبر ملف الرأس EcuM_Externals.h [SWS_EcuM_02924].

  • المعلمة wakeupSource (in): تُمرر مصدر الاستيقاظ المراد بدؤه أو قناع بتات لعدة مصادر استيقاظ من النوع EcuM_WakeupSourceType إلى دالة callout [SWS_EcuM_02924]. ولا توجد معلمات إدخال/إخراج أو إخراج إضافية (inout/out) [SWS_EcuM_02924].

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

فيما يتعلق ببيئة التنفيذ، تم تصنيف EcuM_StartWakeupSources على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_EcuM_02924]. لذلك يجب على المستدعين التأكد من عدم تنفيذ الدالة في الوقت نفسه من روتين خدمة المقاطعة (ISR) المقاطع أو المهام المتوازية.

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

نظرًا لأن EcuM_StartWakeupSources مُصرَّح عنها كدالة callout، فإن التنشيط القريب من العتاد للمصادر المعنية يقع على عاتق التنفيذ المخصص للتطبيق من قِبل مكامل النظام [SWS_EcuM_02924]. لا تنص المواصفات على رسائل خطأ إلى DET أو DEM ولا على قيم إرجاع أخطاء محددة لهذه الواجهة [SWS_EcuM_02924]؛ ولذلك يُفترض على الأرجح معالجة حالات الأخطاء المحتملة عند بدء المصادر بشكل خاص بالتكامل داخل دالة callout. سؤال Q-b595e7175c34a831 (مفتوح)

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

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

دالة EcuM_CheckValidation [SWS_EcuM_02925] 📄 PDF

void EcuM_CheckValidation (EcuM_WakeupSourceType wakeupSource);

This callout is called by the EcuM to validate a wakeup source. If a valid wakeup has been detected, it shall be reported to EcuM via EcuM_ValidateWakeupEvent().

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

تُستخدم الدالة EcuM_CheckValidation كواجهة استدعاء خارجي (Callout) لـ ECU State Manager للتحقق من مصدر الإيقاظ [SWS_EcuM_02925]. يستدعي EcuM هذه الدالة لتحديد ما إذا كان حدث الإيقاظ المكتشف صالحاً [SWS_EcuM_02925].

الاستخدام

يمتلك الاستدعاء الخارجي معرّف الخدمة 0x47 ويتم توفيره عبر ملف الرأس EcuM_Externals.h [SWS_EcuM_02925]. وتُستخدم wakeupSource من النوع EcuM_WakeupSourceType كمعلمة تمرير، والتي يتم من خلالها تحديد مصدر الإيقاظ المراد التحقق من صحته [SWS_EcuM_02925]. لا ترجع الدالة أي قيمة (void) ولا تمتلك معلمات إخراج أو إدخال/إخراج [SWS_EcuM_02925]. ويتم التنفيذ بشكل متزامن [SWS_EcuM_02925].

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

لم يتم تعريف رموز خطأ محددة أو قيم إرجاع في حالة الخطأ أو رسائل إلى DET أو DEM لهذا الاستدعاء الخارجي في المواصفات.

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

فيما يتعلق بالتزامن، تم تحديد EcuM_CheckValidation على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_EcuM_02925]. ويجب أن يضمن سياق الاستدعاء لـ EcuM عدم حدوث استدعاءات متوازية أو متداخلة لمصدر الإيقاظ نفسه أو لمصادر إيقاظ مختلفة.

تفاعل

إذا تم اكتشاف حدث إيقاظ صالح أثناء التنفيذ، فيجب إبلاغ EcuM به إلزامياً عبر استدعاء الدالة EcuM_ValidateWakeupEvent() [SWS_EcuM_02925]. تفسير: يُرجح أن يتم تنفيذ المنطق الخاص بالجهاز للتحقق من العتاد وكذلك قرار الصلاحية بالكامل في كود الدمج (Integration Code). سؤال Q-08061e09b474728d (مفتوح)

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

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

دالة EcuM_StopWakeupSources [SWS_EcuM_02926] 📄 PDF

void EcuM_StopWakeupSources (EcuM_WakeupSourceType wakeupSource);

The callout shall stop the given wakeup source(s) after unsuccessful wakeup validation.

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

تُستخدم دالة callout EcuM_StopWakeupSources للوحدة EcuM (Classic Platform) لإيقاف مصدر (مصادر) الاستيقاظ المُمَرَّر بشكل مستهدف بعد التحقق غير الناجح من صحة الاستيقاظ [SWS_EcuM_02926]. يتوفر التصريح عن هذه الواجهة المتزامنة عبر ملف الرأس EcuM_Externals.h ويحمل Service-ID 0x48 [SWS_EcuM_02926].

الاستخدام ومعلمات الواجهة:

  • معلمة الإدخال: كمعلمة وحيدة، يتم تمرير wakeupSource من النوع EcuM_WakeupSourceType، والتي تحدد مصدر (مصادر) الاستيقاظ المراد إيقافه [SWS_EcuM_02926].
  • قيمة الإرجاع والإدخال/الإخراج: لا توجد معلمات إدخال/إخراج (inout) ولا معلمات إخراج (out) [SWS_EcuM_02926]. ولا تُرجع الدالة أي قيمة إرجاع (void) إلى المستدعي [SWS_EcuM_02926].
  • سلوك التنفيذ: تم تحديد سير عمل الدالة على أنه متزامن (Synchronous) [SWS_EcuM_02926].

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

تم تحديد الواجهة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_EcuM_02926]. وبالتالي لا يُسمح بالاستدعاءات المتوازية ويجب على المستدعي تجنبها. لا تحدد المواصفات رموز أخطاء محددة ولا قيم إرجاع أو إشعارات لوحدة Default Error Tracer (DET) أو وحدة Diagnostic Event Manager (DEM) لدالة callout هذه [SWS_EcuM_02926]. التفسير: نظرًا لأن الدالة يتم توفيرها كدالة callout خارجية عبر EcuM_Externals.h، فإن التعطيل المرتبط بالعتاد لعتاد الاستيقاظ المعني وكذلك معالجة الأخطاء الداخلية يقعان على عاتق التنفيذ المخصص للمستخدم. سؤال Q-b537c805bed751ab (مفتوح)

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

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

دالة EcuM_MainFunction [SWS_EcuM_02837] 📄 PDF

void EcuM_MainFunction (void);

The purpose of this service is to implement all activities of the ECU State Manager while the OS is up and running.

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

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

تمتلك الدالة EcuM_MainFunction التوقيع void EcuM_MainFunction(void) مع معرف الخدمة 0x18 وتتوفر عبر ملف الترويسة SchM_EcuM.h [SWS_EcuM_02837]. ولا تقبل أي معلمات ولا تُرجع أي قيمة إرجاع [SWS_EcuM_02837]. وتتمثل مهمتها في معالجة جميع أنشطة ECU State Manager أثناء تشغيل نظام التشغيل («OS is up and running») [SWS_EcuM_02837]. وفي هذا السياق، يُرجح أن يتم استدعاء الدالة دورياً بواسطة المجدول (تفسير: الدمج عبر SchM_EcuM.h). سؤال Q-ca471f22bdb1f11d (مفتوح)

التفاعل والمهام

أثناء التشغيل، يتولى EcuM_MainFunction مهام التنسيق المركزية:

  • التحقق من مصادر الاستيقاظ: إذا توفرت قائمة بالمرشحين لمصادر الاستيقاظ بعد اكتمال تسلسل WakeupRestart، فإن وحدة EcuM تتحقق من هؤلاء المرشحين داخل EcuM_MainFunction [SWS_EcuM_02539].
  • انتهاء مهلة التحقق: إذا انتهت مهلة التحقق لحدث استيقاظ معلق، تقوم الدالة عبر عملية OR منطقية بضبط البت المقابل في المتغير الداخلي لأحداث الاستيقاظ المنتهية مهلتها [SWS_EcuM_04081]. بالإضافة إلى ذلك، تقوم بإخطار BSW Management عبر BswM_EcuM_Current_Wakeup باستخدام قناع بت EcuM_WakeupSourceType الخاص بالحدث والحالة ECUM_WKSTATUS_EXPIRED [SWS_EcuM_04082].
  • خدمة Alarm Clock: إذا كانت الخدمة متوفرة عبر EcuMAlarmClockPresent، تقوم EcuM_MainFunction بتحديث مؤقت Alarm Clock Timer [SWS_EcuM_04002].

القيود ومثيلات التشغيل

كشرط أساسي للبنى متعددة الأنوية أو متعددة المثيلات، يجب تنفيذ EcuM_MainFunction في جميع مثيلات EcuM [SWS_EcuM_04011].

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

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

نوع EcuM_ConfigType [SWS_EcuM_04038] 📄 PDF

A pointer to such a structure shall be provided to the ECU State Manager initialization routine for configuration.

نوع EcuM_RunStatusType [SWS_EcuM_04120] 📄 PDF

Result of the Run Request Protocol sent to BswM

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

نوع البيانات EcuM_RunStatusType مُعرَّف كـ uint8 ويتم توفيره عبر ملف الرأس EcuM.h ([SWS_EcuM_04120]). وهو يخدم التمثيل الرسمي للحالة الحالية لبروتوكول Run-Request في مدير ECU ويُنقل كنتيجة إلى Basic Software Mode Manager (BswM) ([SWS_EcuM_04120]).

يشمل نطاق القيم المسموح به ثلاث حالات منفصلة ([SWS_EcuM_04120]):

  • ECUM_RUNSTATUS_UNKNOWN (القيمة 0): يمثل حالة غير معروفة ويعمل في الوقت نفسه كقيمة تهيئة أولية محددة (Init Value).
  • ECUM_RUNSTATUS_REQUESTED (القيمة 1): يميز الحالة التي تم فيها طلب حالة RUN بنشاط من قِبل مدير ECU.
  • ECUM_RUNSTATUS_RELEASED (القيمة 2): يشير إلى أن حالة RUN قد تم تحريرها مجددًا بواسطة مدير ECU.

فيما يتعلق بالتفاعل، يلزم المتطلب [SWS_EcuM_04121] وحدة مدير ECU بإبلاغ BswM بصورة ملزمة بالحالة الحالية لبروتوكول Run-Request استنادًا إلى قيم الحالة المدرجة في EcuM_RunStatusType. تفسير: بما أن المتطلب لا يذكر توقيع دالة محددًا أو اصطلاح استدعاء لتدفق الرسائل، فمن المحتمل أن تُمرر معلومات الحالة عادةً عبر دالة إخطار داخلية أو واجهة استدعاء رد (Callback) إلى وحدة BswM. سؤال Q-e136b90c2edbc29c (مفتوح) لم يتم النص في المتطلبات الحالية على رموز خطأ محددة، أو رسائل DET أو DEM، أو شروط خاصة لعودية الدخول (Reentrancy) لنوع البيانات الأولي هذا.

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

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

نوع EcuM_WakeupSourceType [SWS_EcuM_04040] 📄 PDF

EcuM_WakeupSourceType defines a bitfield with 5 pre-defined positions (see Range). The bitfield provides one bit for each wakeup source. In WAKEUP, all bits cleared indicates that no wakeup source is known. In STARTUP, all bits cleared indicates that no reason for restart or reset is known. In this case, ECUM_WKSOURCE_RESET shall be assumed.

نوع EcuM_WakeupStatusType [SWS_EcuM_04041] 📄 PDF

The type describes the possible states of a wakeup source.

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

يصف نوع البيانات EcuM_WakeupStatusType وفقًا لـ [SWS_EcuM_04041] الحالات الممكنة لمصدر الاستيقاظ (Wakeup Source) في ECU State Manager. ويُشتق النوع من النوع الأساسي uint8 ويتم توفيره عبر ملف الرأس EcuM.h [SWS_EcuM_04041].

يمثل نطاق القيم دورة حياة حدث الاستيقاظ عبر أربع حالات [SWS_EcuM_04041]:

  • ECUM_WKSTATUS_NONE (القيمة 0): لم يتم اكتشاف أي حدث استيقاظ معلق [SWS_EcuM_04041].
  • ECUM_WKSTATUS_PENDING (القيمة 1): تم اكتشاف حدث استيقاظ، ولكنه لم يتم التحقق من صلاحيته بعد [SWS_EcuM_04041].
  • ECUM_WKSTATUS_VALIDATED (القيمة 2): حدث الاستيقاظ صالح وتم تأكيده بنجاح [SWS_EcuM_04041].
  • ECUM_WKSTATUS_EXPIRED (القيمة 3): لم يتم التحقق من صلاحية حدث الاستيقاظ في الوقت المناسب، وبالتالي انتهت صلاحيته [SWS_EcuM_04041].

الاستخدام والتفاعل: يعمل النوع كتمثيل مركزي لحالة مصادر الاستيقاظ. تفسير: من المرجح أن تقوم الجهات المستدعية بتقييم هذه الحالة ضمن استعلامات الحالة، وذلك لتحديد ما إذا كان يجري التحقق من صلاحية مصدر الاستيقاظ بنشاط، أو أنه أشار بالفعل إلى استيقاظ صالح، أو تم تجاوز النافذة الزمنية للتحقق من الصلاحية. سؤال Q-a3f721e8f1753eb1 (مفتوح)

تم إنشاء هذا النص تلقائيًا. تستند جميع المعلومات حصريًا إلى متطلبات مواصفات الإصدار المعني.

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

نوع EcuM_ResetType [SWS_EcuM_04044] 📄 PDF

This type describes the reset mechanisms supported by the ECU State Manager. It can be extended by configuration.

نوع EcuM_StateType [SWS_EcuM_91005] 📄 PDF

ECU State Manager states.

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

النوع EcuM_StateType هو نوع بيانات مشتق من uint8، يُوفَّر عبر ملف الرأس EcuM.h ويمثل حالات تشغيل ECU State Manager [SWS_EcuM_91005]. تلتزم وحدة EcuM بتعريف جميع الحالات المدرجة في EcuM_StateType [SWS_EcuM_02664]. يشمل نطاق القيم قناع الحالة الفرعية ECUM_SUBSTATE_MASK (0x0f) بالإضافة إلى الحالات الرئيسية ECUM_STATE_STARTUP (0x10)، وECUM_STATE_RUN (0x32)، وECUM_STATE_POST_RUN (0x33)، وECUM_STATE_SHUTDOWN (0x40)، وECUM_STATE_SLEEP (0x50) [SWS_EcuM_91005].

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

يعمل نوع البيانات كمعامل محوري لاتصال الحالة بين BswM وEcuM:

  • تغيير الحالة إلى EcuM: عبر استدعاء الدالة المتزامن والقابل لإعادة الدخول EcuM_SetState(EcuM_StateType state) بمعرّف الخدمة 0x2b، يُخطر BswM وحدة EcuM بتغيير في الحالة [SWS_EcuM_04122].
  • الإبلاغ عن الحالة إلى BswM: يبلّغ EcuM الحالة الحالية إلى BswM من خلال استدعاء الواجهة BswM_EcuM_CurrentState(EcuM_StateType State) [SWS_EcuM_04143].

التزامن، الترتيب ومعالجة الأخطاء

فيما يتعلق بالترتيب الزمني، يُشترط عدم السماح بتعيين حالة جديدة بواسطة EcuM إلا بعد أن تقدّم RTE استجابتها عبر منفذ الإقرار (Acknowledgement) المقابل [SWS_EcuM_04143]. لم يتم النص على رموز أخطاء أو قيم مرجعة أو رسائل DET/DEM محددة لنوع البيانات هذا في المصادر الحالية.

تم إنشاء ملاحظة الاستخدام هذه بصورة آلية استناداً إلى متطلبات المواصفات.

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

نوع EcuM_Mode [SWS_EcuM_04107] 📄 PDF

–

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

تم تعريف النوع EcuM_Mode كـ ModeDeclarationGroup وفقًا لـ [SWS_EcuM_04107] ويمثل الحالات المركزية لـ ECU State Manager. وتم تحديد STARTUP كوضع أولي. بالإضافة إلى ذلك، تتضمن المجموعة الأوضاع المحددة POST_RUN، وRUN، وSHUTDOWN، وكذلك SLEEP [SWS_EcuM_04107].

ضمن ترابط النظام، يعمل EcuM_Mode كأساس نوع لمجموعة الأوضاع currentMode داخل واجهة الخدمة EcuM_CurrentMode [SWS_EcuM_04108]. ومن خلال هذه الواجهة، يمكن الاستعلام عن وضع ECU الحالي أو إرسال إشارة به إلى مكونات البرمجيات الأخرى عبر آلية وضع RTE.

فيما يتعلق بسياق الاستدعاء والتزامن، لا تتضمن مواصفات النوع في حد ذاتها أي قيود صريحة بشأن إمكانية إعادة الدخول أو رموز الأخطاء؛ وتتم إدارة انتقالات الحالة عبر واجهات الخدمة المرتبطة بـ EcuM.

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

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

نوع currentMode [SWS_EcuM_04112] 📄 PDF

–

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

العنصر currentMode مُعرَّف كمنفذ مُقدَّم (Provided-Port) للوحدة EcuM ويوفر واجهة الخدمة EcuM_CurrentMode لبنية البرمجيات [SWS_EcuM_04112]. تُستخدم واجهة الخدمة هذه لقراءة وضع ECU الحالي وتغلف مجموعة الأوضاع currentMode استنادًا إلى نوع البيانات EcuM_Mode [SWS_EcuM_04108].

أثناء تشغيل النظام، يتم الاستخدام للإشارة إلى تغيرات الحالة:

  • الاستدعاء والاستخدام: بمجرد حدوث تغيير في الوضع، يُبلغ EcuM مكونات البرمجيات (SW-Cs) بذلك عبر منافذ وضع RTE [SWS_EcuM_04133]. وبناءً على افتراض المواصفة لاسم المنفذ currentMode وعند استخدام API المباشر لـ RTE، يتم استدعاء الدالة Rte_Switch_currentMode_currentMode( Rte_ModeType_EcuM_Mode mode) لهذا الغرض [SWS_EcuM_04133].
  • المعلمات والقيمة المعادة: تُمرر المعلمة mode الوضع الجديد المطلوب اتخاذه إلى RTE [SWS_EcuM_04133]. لا يتم تقييم القيمة المعادة من نوع Rte_StatusType والمقدمة من Switch-API، بل يجب تجاهلها إلزاميًا وفقًا للمواصفة [SWS_EcuM_04133].
  • التفاعل: يجب على أي مكون برمجيات مطلوب إخطاره بتغييرات الوضع أن يطلب واجهة تبديل الوضع EcuM_CurrentMode كمنفذ مطلوب (Required-Port) [SWS_EcuM_04133].

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

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

نوع EcuM_ShutdownCauseType [SWS_EcuM_04045] 📄 PDF

This type describes the cause for a shutdown by the ECU State Manager. It can be extended by configuration.

نوع EcuM_ShutdownModeType [SWS_EcuM_04101] 📄 PDF

This data type represents the modes of the ECU Manager module.

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

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

يستند نوع البيانات EcuM_ShutdownModeType إلى uint16 ويتم توفيره عبر ملف الترويسة Rte_EcuM_Type.h [SWS_EcuM_04101]. وهو يمثل الأوضاع المكونة في ECU State Manager. ويشمل نطاق قيمه ما يلي:

  • أوضاع Sleep المكونة وفقاً لـ EcuMSleepModeId [SWS_EcuM_04101] بالإضافة إلى
  • أوضاع Reset المكونة، المحسوبة من الإزاحة 256 + EcuMResetModeId [SWS_EcuM_04101].

التفاعل وسياق الاستدعاء

يُستخدم النوع في خدمات ECU Manager المتزامنة والقابلة لإعادة الدخول:

  • تأخذ EcuM_SelectShutdownTarget shutdownMode كمعلمة إدخال لتحديد وضع Sleep الفعلي (عند الهدف ECUM_SHUTDOWN_TARGET_SLEEP) أو آلية Reset (عند الهدف ECUM_SHUTDOWN_TARGET_RESET) [SWS_EcuM_02822].
  • تُرجع EcuM_GetShutdownTarget عبر معلمة مؤشر تشير إلى EcuM_ShutdownModeType وضع Sleep أو Reset المكون والمحدد لهدف إيقاف التشغيل الحالي [SWS_EcuM_02824].
  • تُخرج EcuM_GetLastShutdownTarget وضع إيقاف التشغيل لعملية إيقاف التشغيل السابقة عبر معلمة إخراج [SWS_EcuM_02825]. وعبر واجهة الخدمة EcuM_ShutdownTarget، تتاح هذه الوظيفة أيضاً لمكونات البرمجيات (SW-Cs) [SWS_EcuM_03011].

معالجة الأخطاء والشروط الحدية

تُرجع الدوال Std_ReturnType. فإذا تم تمرير مؤشر NULL إلى EcuM_GetShutdownTarget أو EcuM_GetLastShutdownTarget على سبيل المثال، فإن الاستدعاء يفشل بـ E_NOT_OK [SWS_EcuM_02824]، [SWS_EcuM_02825]. وعند التنفيذ بنجاح، تُبلغ الخدمات عن E_OK [SWS_EcuM_02822]، [SWS_EcuM_03011].

تم إنشاء ملاحظة الاستخدام هذه بصورة آلية استناداً إلى متطلبات المواصفات.

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

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

Record
AUTOSAR/AP/record/CP_MOD_EcuM
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_EcuM@rel:R20-11#4060bec5
Content hash
4060bec5
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_ECUStateManager.pdf#nameddest=SWS_EcuM_02813

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

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

2

الخدمات · On…

2

الخدمات · Release…

2

الخدمات · Request…

2

عرض التفاصيل

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

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

Returns the version information of this module.

void EcuM_GetVersionInfo (Std_VersionInfoType* versioninfo);
EcuM_Init دالة

Initializes the ECU state manager and carries out the startup procedure. The function will never return (it calls StartOS)

void EcuM_Init (void);

الخدمات · Get…

EcuM_GetBootTarget returns the current boot target - see EcuM_SelectBootTarget. EcuM_Get BootTarget is part of the ECU Manager Module port interface.

Std_ReturnType EcuM_GetBootTarget (EcuM_BootTargetType* target);

EcuM_GetCurrentTime returns the current value of the EcuM clock (i.e. the time since battery connect). EcuM_GetCurrentTime is part of the ECU Manager Module port interface.

Std_ReturnType EcuM_GetCurrentTime (EcuM_TimeType* time);

Gets expired wakeup events.

EcuM_WakeupSourceType EcuM_GetExpiredWakeupEvents (void);

EcuM_GetLastShutdownTarget returns the shutdown target of the previous shutdown process. EcuM_GetLastShutdownTarget is part of the ECU Manager Module port interface.

Std_ReturnType EcuM_GetLastShutdownTarget (EcuM_ShutdownTargetType* shutdownTarget, EcuM_ShutdownModeType* shutdownMode);

Gets pending wakeup events.

EcuM_WakeupSourceType EcuM_GetPendingWakeupEvents (void);

EcuM_GetShutdownCause returns the selected shutdown cause as set by EcuM_Select ShutdownCause. EcuM_GetShutdownCause is part of the ECU Manager Module port interface.

Std_ReturnType EcuM_GetShutdownCause (EcuM_ShutdownCauseType* shutdownCause);

EcuM_GetShutdownTarget returns the currently selected shutdown target as set by EcuM_ SelectShutdownTarget. EcuM_GetShutdownTarget is part of the ECU Manager Module port interface.

Std_ReturnType EcuM_GetShutdownTarget (EcuM_ShutdownTargetType* shutdownTarget, EcuM_ShutdownModeType* shutdownMode);

Gets validated wakeup events.

EcuM_WakeupSourceType EcuM_GetValidatedWakeupEvents (void);

EcuM_GetWakeupTime returns the current value of the master alarm clock (the minimum absolute time of all user alarm clocks). EcuM_GetWakeupTime is part of the ECU Manager Module port interface.

Std_ReturnType EcuM_GetWakeupTime (EcuM_TimeType* time);

الخدمات · A…

This callout shall provide driver initialization and other hardware-related startup activities in case of a power on reset.

void EcuM_AL_DriverInitOne (void);

This callout shall provide driver initialization and other hardware-related startup activities for loading the post-build configuration data. Beware: Here only pre-compile and link-time configurable modules may be used.

void EcuM_AL_DriverInitZero (void);

This callout shall provide driver initialization and other hardware-related startup activities in the wakeup case.

void EcuM_AL_DriverRestart (void);
EcuM_AL_Reset دالة

This callout shall take the code for resetting the ECU.

void EcuM_AL_Reset (EcuM_ResetType reset);

If the configuration parameter EcuMSetProgrammableInterrupts is set to true, this callout Ecu M_AL_SetProgrammableInterrupts is executed and shall set the interrupts on ECUs with programmable interrupts.

void EcuM_AL_SetProgrammableInterrupts (void);

This callout shall take the code for shutting off the power supply of the ECU. If the ECU cannot unpower itself, a reset may be an adequate reaction.

void EcuM_AL_SwitchOff (void);

الخدمات · Set…

EcuM_SetAbsWakeupAlarm sets the user's wakeup alarm to an absolute point in time. EcuM_ SetAbsWakeupAlarm is part of the ECU Manager Module port interface.

Std_ReturnType EcuM_SetAbsWakeupAlarm (EcuM_UserType user, EcuM_TimeType time);
EcuM_SetClock دالة

EcuM_SetClock sets the EcuM clock time to the provided value. This API is useful for testing the alarm services; Alarms that take days to expire can be tested. EcuM_SetClock is part of the ECU Manager Module port interface.

Std_ReturnType EcuM_SetClock (EcuM_UserType user, EcuM_TimeType time);

EcuM_SetRelWakeupAlarm sets a user's wakeup alarm relative to the current point in time. EcuM_SetRelWakeupAlarm is part of the ECU Manager Module port interface.

Std_ReturnType EcuM_SetRelWakeupAlarm (EcuM_UserType user, EcuM_TimeType time);
EcuM_SetState دالة

Function called by BswM to notify about State Switch.

void EcuM_SetState (EcuM_StateType state);

Sets the wakeup event.

void EcuM_SetWakeupEvent (EcuM_WakeupSourceType sources);

الخدمات · Check…

This callout is intended to provide a RAM integrity test. The goal of this test is to ensure that after a long SLEEP duration, RAM contents is still consistent. The check does not need to be exhaustive since this would consume quite some processing time during wakeups. A well designed check will execute quickly and detect RAM integrity defects with a sufficient probability. This specification does not make any assumption about the algorithm chosen for a particular ECU. The areas of RAM which will be checked have to be chosen carefully. It depends on the check algorithm itself and the task structure. Stack contents of the task executing the RAM check e.g. very likely cannot be checked. It is good practice to have the hash generation and checking in the same task and that this task is not preemptible and that there is only little activity between hash generation and hash check. The RAM check itself is provided by the system designer. In case of applied multi core and existence of Satellite-Ecu M(s): this API will be called by the Master-EcuM only.

uint8 EcuM_CheckRamHash (void);

This callout is called by the EcuM to validate a wakeup source. If a valid wakeup has been detected, it shall be reported to EcuM via EcuM_ValidateWakeupEvent().

void EcuM_CheckValidation (EcuM_WakeupSourceType wakeupSource);

This callout is called by the EcuM to poll a wakeup source. It shall also be called by the ISR of a wakeup source to set up the PLL and check other wakeup sources that may be connected to the same interrupt.

void EcuM_CheckWakeup (EcuM_WakeupSourceType wakeupSource);

الخدمات · Select…

EcuM_SelectBootTarget selects a boot target. EcuM_SelectBootTarget is part of the ECU Manager Module port interface.

Std_ReturnType EcuM_SelectBootTarget (EcuM_BootTargetType target);

EcuM_SelectShutdownCause elects the cause for a shutdown. EcuM_SelectShutdownCause is part of the ECU Manager Module port interface.

Std_ReturnType EcuM_SelectShutdownCause (EcuM_ShutdownCauseType target);

EcuM_SelectShutdownTarget selects the shutdown target. EcuM_SelectShutdownTarget is part of the ECU Manager Module port interface.

Std_ReturnType EcuM_SelectShutdownTarget (EcuM_ShutdownTargetType shutdownTarget, EcuM_ShutdownModeType shutdownMode);

الخدمات · On…

This call allows the system designer to notify that the GO OFF I state is about to be entered.

void EcuM_OnGoOffOne (void);

This call allows the system designer to notify that the GO OFF II state is about to be entered.

void EcuM_OnGoOffTwo (void);

الخدمات · Release…

Releases a POST RUN request previously done with a call to EcuM_RequestPOST_RUN. The service is intended for implementing AUTOSAR ports.

Std_ReturnType EcuM_ReleasePOST_RUN (EcuM_UserType user);

Releases a RUN request previously done with a call to EcuM_RequestRUN. The service is intended for implementing AUTOSAR ports.

Std_ReturnType EcuM_ReleaseRUN (EcuM_UserType user);

الخدمات · Request…

Places a request for the POST RUN state. Requests can be placed by every user made known to the state manager at configuration time. Requests for RUN and POST RUN must be tracked independently (in other words: two independent variables). The service is intended for implementing AUTOSAR ports.

Std_ReturnType EcuM_RequestPOST_RUN (EcuM_UserType user);

Places a request for the RUN state. Requests can be placed by every user made known to the state manager at configuration time.

Std_ReturnType EcuM_RequestRUN (EcuM_UserType user);

الخدمات · Start…

This API is called by the ECU Firmware to start the CheckWakeupTimer for the corresponding WakeupSource. If EcuMCheckWakeupTimeout > 0 the CheckWakeupTimer for the Wakeup Source is started. If EcuMCheckWakeupTimeout <= 0 the API call is ignored by the EcuM.

void EcuM_StartCheckWakeup (EcuM_WakeupSourceType WakeupSource);

The callout shall start the given wakeup source(s) so that they are ready to perform wakeup validation.

void EcuM_StartWakeupSources (EcuM_WakeupSourceType wakeupSource);

الخدمات · أخرى

Ecum_AbortWakeupAlarm aborts the wakeup alarm previously set by this user. EcuM_Abort WakeupAlarm is part of the ECU Manager Module port interface.

Std_ReturnType EcuM_AbortWakeupAlarm (EcuM_UserType user);

Clears wakeup events.

void EcuM_ClearWakeupEvent (EcuM_WakeupSourceType sources);

This callout should evaluate some condition, like port pin or NVRAM value, to determine which post-build configuration shall be used in the remainder of the startup process. It shall load this configuration data into a piece of memory that is accessible by all BSW modules and shall return a pointer to the EcuM post-build configuration as a base for all BSW module post-build configrations.

const EcuM_ConfigType* EcuM_DeterminePbConfiguration (void);

The ECU Manager Module calls EcuM_DisableWakeupSources to set the wakeup source(s) defined in the wakeupSource bitfield so that they are not able to wake the ECU up.

void EcuM_DisableWakeupSources (EcuM_WakeupSourceType wakeupSource);

The ECU Manager Module calls EcuM_EnableWakeupSource to allow the system designer to notify wakeup sources defined in the wakeupSource bitfield that SLEEP will be entered and to adjust their source accordingly.

void EcuM_EnableWakeupSources (EcuM_WakeupSourceType wakeupSource);

This API is called by any SW Module whose wakeup source is checked asynchronously (e.g. asynchronous Can Trcv Driver) and the Check of the Wakeup returns a negative Result (no Wakeup by this Source). The API cancels the CheckWakeupTimer for the WakeupSource. If the correponding CheckWakeupTimer is canceled the check of this wakeup source is finished.

void EcuM_EndCheckWakeup (EcuM_WakeupSourceType WakeupSource);

The ECU State Manager will call the error hook if the error codes "ECUM_E_RAM_CHECK_ FAILED" or "ECUM_E_CONFIGURATION_DATA_INCONSISTENT" occur. In this situation it is not possible to continue processing and the ECU must be stopped. The integrator may choose the modality how the ECU is stopped, i.e. reset, halt, restart, safe state etc.

void EcuM_ErrorHook (uint16 reason);

see EcuM_CheckRamHash

void EcuM_GenerateRamHash (void);

Instructs the ECU State Manager module to go into a sleep mode, Reset or OFF depending on the previously selected shutdown target.

Std_ReturnType EcuM_GoDownHaltPoll (EcuM_UserType UserID);

If the configuration parameter EcuMResetLoopDetection is set to true, this callout EcuM_Loop Detection is called on every startup.

void EcuM_LoopDetection (void);
EcuM_Shutdown دالة

Typically called from the shutdown hook, this function takes over execution control and will carry out GO OFF II activities.

void EcuM_Shutdown (void);

This callout is invoked periodically in all reduced clock sleep modes. It is explicitely allowed to poll wakeup sources from this callout and to call wakeup notification functions to indicate the end of the sleep state to the ECU State Manager.

void EcuM_SleepActivity (void);

This function implements the STARTUP II state.

void EcuM_StartupTwo (void);

The callout shall stop the given wakeup source(s) after unsuccessful wakeup validation.

void EcuM_StopWakeupSources (EcuM_WakeupSourceType wakeupSource);

After wakeup, the ECU State Manager will stop the process during the WAKEUP VALIDATION state/sequence to wait for validation of the wakeup event.This API service is used to indicate to the ECU Manager module that the wakeup events indicated in the sources parameter have been validated.

void EcuM_ValidateWakeupEvent (EcuM_WakeupSourceType sources);

دورية

The purpose of this service is to implement all activities of the ECU State Manager while the OS is up and running.

void EcuM_MainFunction (void);

الأنواع

–

A pointer to such a structure shall be provided to the ECU State Manager initialization routine for configuration.

EcuM_Mode نوع

–

This type describes the reset mechanisms supported by the ECU State Manager. It can be extended by configuration.

Result of the Run Request Protocol sent to BswM

This type describes the cause for a shutdown by the ECU State Manager. It can be extended by configuration.

This data type represents the modes of the ECU Manager module.

ECU State Manager states.

This data type represents the time of the ECU Manager module.

Unique value for each user.

EcuM_WakeupSourceType defines a bitfield with 5 pre-defined positions (see Range). The bitfield provides one bit for each wakeup source. In WAKEUP, all bits cleared indicates that no wakeup source is known. In STARTUP, all bits cleared indicates that no reason for restart or reset is known. In this case, ECUM_WKSOURCE_RESET shall be assumed.

The type describes the possible states of a wakeup source.