【ICU Wakeup】Difference between ECUStateManager and IcuDriver

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

【ICU Wakeup】Difference between ECUStateManager and IcuDriver

1,998 Views
MyLV
Contributor I

Hello NXP team,

I am confused about Icu Wakeup implementation.

According to ECUStateManager version 4.4.0 
https://www.autosar.org/fileadmin/standards/R4-4-0/CP/AUTOSAR_SWS_ECUStateManager.pdf

"Icu driver is not itself the wake up source. It is just the module that processes the wake up interrupt"

MyLV_0-1694567072753.pngMyLV_1-1694567142926.png


EcuM_SetWakeupEvent(EcuM_WakeupSourceType) will he handled in [module] side.
where module may be Can, Lin, Flexray ...
Icu just to handle interrupt only.

However, In Icu driver documentation the same version 4.4.0
https://www.autosar.org/fileadmin/standards/R4-4-0/CP/AUTOSAR_SWS_ICUDriver.pdf

EcuM_SetWakeupEvent shall be invoked inside Icu_CheckWakeup() function.

MyLV_2-1694567571835.png

And, the following Icu driver Icu_CheckWakeup() implementation (S32K344 RTD 2.0.2) 

MyLV_3-1694567652535.png

Could anyone explain why please?

 

Kind Regards,

MyLV

0 Kudos
Reply
1 Reply

1,874 Views
cuongnguyenphu
NXP Employee
NXP Employee

As my understanding, Icu is still a wakeup resource (beside GPT, CAN, LIN, FlexRay), but not itself wakeup.
Your highlighted below is process for the sentence: This makes it necessary for EcuM_CheckWakeup (see SWS_EcuM_02929) to ask the module that is the actual wake up source. In order to
know which module to ask, the ICU has to pass the identifier of the wake up source
to EcuM_CheckWakeup

cuongnguyenphu_0-1699353044918.png


I think you can ask Autosar in this wakeup source also for more detail. 



0 Kudos
Reply