【ICU Wakeup】Difference between ECUStateManager and IcuDriver

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

【ICU Wakeup】Difference between ECUStateManager and IcuDriver

1,941 次查看
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 项奖励
回复
1 回复

1,817 次查看
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 项奖励
回复