DEENESPTFRRUARHIKOZHNL
CLASSIC Modul: ecum Rolle: heuristic Konfidenz: 80%

SNIP_CLASSIC_ECUM_SECTION_7_5_5_Activities_in_the_WakeupRestart_Sequence

Quelle: SWS_ECUStateManager.pdf (Seite 56) • Ziel-Anforderung: SWS_EcuM_91003

Wortlaut

7.5.5 Activities in the WakeupRestart Sequence WakeupRestart6 Wakeup Activity Comment Opt. Restore MCU normal mode Selected MCU mode is configured in the configuration parameter EcuMNormalMcuModeRef Get the pending wakeup sources Callout EcuM_DisableWakeupSources Disable currently pending wakeup source but leave the others armed so that later wakeups are possible. Callout EcuM_AL_DriverRestart Initialize drivers that need restarting Unlock Scheduler From this point on, all other tasks may run again. Table 7.6: Wakeup Restart activities The ECU Manager module invokes the EcuM_AL_DriverRestart (see [SWS_EcuM_02923] ) callout which is intended for re-initializing drivers. Among others, drivers with wakeup sources typically require re-initialization. For more details on driver initialization refer to section 7.3.5 Driver Initialization. During re-initialization, a driver must check if one of its assigned wakeup sources was the reason for the previous wakeup. If this test is true, the driver must invoke its ’wakeup detected’ callback (see the Specification of CAN Transceiver Driver [11] for example), which in turn must call the EcuM_SetWakeupEvent (see [SWS_EcuM_02826] ) function. The driver implementation should only invoke the wakeup callback once. Thereafter it should not invoke the wakeup callback again until it has been re-armed by an explicit function call. The driver must thus be re-armed to fire the callback again. [SWS_EcuM_02539] ⌈If the ECU Manager module has a list of wakeup source candidates when the WakeupRestart Sequence has finished, the ECU Manager module shall validate these wakeup source candidates in EcuM_MainFunction.⌋(SRS_ModeMgm_09100, SRS_BSW_00373) See section 7.6.4 Activities in the WakeupValidation Sequence. [SWS_EcuM_04066] ⌈⌋(SRS_ModeMgm_09136) «module» Mcu «module» Os «module» EcuM Integration Code EnableAllInterrupts() ReleaseResource(RES_AUTOSAR_ECUM_<core#>) Mcu_SetMode(Mcu_ModeType) DisableAllInterrupts() EcuM_GetPendingWakeupEvents(EcuM_WakeupSourceType) EcuM_AL_DriverRestart() EcuM_DisableWakeupSources(EcuM_WakeupSourceType) Figure 7.14: WakeupRestart Sequence [SWS_EcuM_04148] ⌈If WakeupEvent was reported EcuM shall exit sleep mode.⌋ (SRS_ModeMgm_09136, SRS_ModeMgm_09145) [SWS_EcuM_04149] ⌈If all CheckWakeupTimers for all WakeupSources have been expired, EcuM shall transit to GoSleep state and begin sending EcuM to sleep (halt or polling) again.⌋(SRS_ModeMgm_09118) Note: When EcuM was resumed by an asynchronous WakeupSource the EcuM has to execute WakeRestart sequence to re-start the mainfunctions to establish asynchronous communication towards the used hardware (e.g. SPI). [SWS_EcuM_04150] ⌈EcuM shall report the run-time error ECUM_E_WAKEUP_TIMEOUT if no wake up event was set after a signaled wake up and the corresponding CheckWakeupTimer expires.⌋(SRS_BSW_00452)

Versionen & Provenienz · Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Begründung & Zuweisungs-Evidenz

ECUM_E_WAKEUP_TIMEOUT runtime error definition

Dokumenten-Herkunft & Rückverfolgbarkeit

Spezifikations-Dokument SWS_ECUStateManager.pdf
Dokumentseite Seite 56
Ziel-Modul ecum (classic)
Ziel-Anforderung SWS_EcuM_91003
Semantische Rolle heuristic
Automatisierungs-Konfidenz 0.80