IDLE mode allows power optimization with
the fastest wake-up time.
The CPU is stopped, and peripherals are
still working. As in Active mode, the AHBx and APBx clocks for peripheral are still
provided if requested. As the main clock source is still running, wake-up time is very
fast.
- Entering Idle mode: The Idle mode is
entered by executing the WFI instruction. Additionally, if the SLEEPONEXIT bit in the
Cortex System Control register (SCR) is set, the Idle mode will be entered when the CPU
exits the lowest priority ISR (Interrupt Service Routine, refer to the ARM Cortex
documentation for details). This mechanism can be useful for applications that only
require the processor to run when an interrupt occurs. Before entering the Idle mode,
the user must select the Idle Sleep mode in the Sleep Configuration register
(SLEEPCFG.SLEEPMODE=IDLE).
- Exiting Idle mode: The processor wakes
the system up when it detects any non-masked interrupt with sufficient priority to cause
exception entry. The system goes back to the Active mode. The CPU and affected modules
are restarted.
GCLK clocks, regulators and RAM are not
affected by the Idle Sleep mode and operate in normal mode.