Hello,
I am using an MKL03Z microcontroller and I am facing this issue which is impacting the system behavior very badly. Inside init_gpios() i initialize a GPIO pin to Output, HIGH. So when the system boots up, this line is set to high.
Next, the system enters VLLS3 state. Here, the status of that GPIO pin is maintained. When transitioning from VLLS3->RUN, I see a blip shown in the attached image which impacts my system very badly. How do I get rid of this (the yellow line in the scope is that GPIO and the green line is the wake-up source from VLLS3 to RUN)? I would avoid any hardware change at this point in the project. So adding a capacitor filtering won't be possible. This seems to be an MCU issue for now.
========
int main(void)
{
//Initialize event queue
EVENT_QUEUE_INITIALIZE( mainEventQueue, EVENT_QUEUE_SIZE );
/* Power related. */
SMC_SetPowerModeProtection(SMC, kSMC_AllowPowerModeAll);
if (kRCM_SourceWakeup & RCM_GetPreviousResetSources(RCM)){ /* Wakeup from VLLS. */
PMC_ClearPeriphIOIsolationFlag(PMC);
NVIC_ClearPendingIRQ(LLWU_IRQn);
}
/* Init board hardware. */
BOARD_InitBootPins();
BOARD_BootClockRUN();
init_gpios();
========
Hi, Gaurav,
From the VLLS3 state to RUN mode, KL03 will reset, if the GPIO pin is in Disabled state in reset state, the pin is in high impedance. Can you try to connect a pull-up resistor to the pin and have try?
Hope it can help you.
BR
Xiangjun Rong
Hello Xiangjun,
Could you please tell what is the meaning of Disabled in " if the GPIO pin is in Disabled state in reset state"?
As I have already mentioned, the GPIO pin is at level 1 before the MCU goes to VLLS3 state and nothing else is done to this pin by the firmware code. I don't know if it is in "Disabled" state during reset or not.
Best regards,
Gaurav.
All pins revert to their 'default' state via reset, as outlined in the ref manual. In general, this means analog-capable to analog, other GPIO to 'input, no pull'.
Hi,
What Earl said is correct.
BR
XiangJun Rong