2.7
Power Management
The Cortex-M4F processor sleep modes reduce power consumption:
■ Sleep mode stops the processor clock.
■ Deep-sleep mode stops the system clock and switches off the PLL and Flash memory.
The
SLEEPDEEP
bit of the
System Control (SYSCTRL)
register selects which sleep mode is used
(see page 173). For more information about the behavior of the sleep modes, see “System
Control” on page 239.
This section describes the mechanisms for entering sleep mode and the conditions for waking up
from sleep mode, both of which apply to Sleep mode and Deep-sleep mode.
2.7.1
Entering Sleep Modes
This section describes the mechanisms software can use to put the processor into one of the sleep
modes.
The system can generate spurious wake-up events, for example a debug operation wakes up the
processor. Therefore, software must be able to put the processor back into sleep mode after such
an event. A program might have an idle loop to put the processor back to sleep mode.
2.7.1.1
Wait for Interrupt
The wait for interrupt instruction,
WFI
, causes immediate entry to sleep mode unless the wake-up
condition is true (see “Wake Up from WFI or Sleep-on-Exit” on page 127). When the processor
executes a
WFI
instruction, it stops executing instructions and enters sleep mode. See the
Cortex™-M4 instruction set chapter in the
ARM® Cortex™-M4 Devices Generic User Guide (literature
number
)
for more information.
2.7.1.2
Wait for Event
The wait for event instruction,
WFE
, causes entry to sleep mode conditional on the value of a one-bit
event register. When the processor executes a
WFE
instruction, it checks the event register. If the
register is 0, the processor stops executing instructions and enters sleep mode. If the register is 1,
the processor clears the register and continues executing instructions without entering sleep mode.
If the event register is 1, the processor must not enter sleep mode on execution of a
WFE
instruction.
Typically, this situation occurs if an
SEV
instruction has been executed. Software cannot access
this register directly.
See the Cortex™-M4 instruction set chapter in the
ARM® Cortex™-M4 Devices Generic User Guide
(literature number
for more information.
2.7.1.3
Sleep-on-Exit
If the
SLEEPEXIT
bit of the
SYSCTRL
register is set, when the processor completes the execution
of all exception handlers, it returns to Thread mode and immediately enters sleep mode. This
mechanism can be used in applications that only require the processor to run when an exception
occurs.
2.7.2
Wake Up from Sleep Mode
The conditions for the processor to wake up depend on the mechanism that caused it to enter sleep
mode.
June 18, 2014
126
Texas Instruments-Production Data
The Cortex-M4F Processor