I am using S32K144 controller for my product development. To configure the peripherals, I am using a processor expert tool in S32 design studio.
With above mentioned setup, I want to implement features listed below,
1. I want to enter in VLPS mode after certain condition is met in application.
2. Wake up from VLPS mode and enter in normal mode after a rising edge on GPIO or after RTC alarm is triggered.
I have configured the VLPS mode in processor expert but I am not able to find the settings to wake up from VLPS mode based on above mentioned conditions.
Please let me know where can I configure the wake up interrupt sources in processor expert.
Please have a look at the power_mode_switch_s32k144 SDK example.
It shows how to put the MCU in VLPS and it utilizes a PORTC interrupt as a wake-up source.
Regarding RTC, there is an SDK RTC example as well (RTC_alarm_s32k144).
The RTC module is fully-functional in VLPS and the RTC alarm interrupt is a wake-up source provided the selected RTC functional clock is enabled in VLPS.
And from where the program execution will resume after waking up?
I read in the application note that, ISR which caused the wake up will executefirst.
But, once the ISR execution is complete, will the program counter start from the beginning or from the next instruction to be executed before going to sleep?
The program execution stops at the WFI (wait for interrupt) instruction and once there is no pending interrupt, it continues with the next instruction after the WFI instruction.
I am able to enter in the VLPS mode but neither the RTC interrupt nor the port interrupt is able to wake up the controller.
For RTC, I am using LPO_1KHz clock. Is this correct configuration?
The SDK example (power_mode_switch_s32k144) uses a port interrupt as a wake up source.
Does it mean the example does not work?
Yes, LPO_1kHz is functional in VLPS and it can be used for RTC.
You can refer to this non-SDK example as well: