UM10429
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2010. All rights reserved.
User manual
Rev. 1 — 20 October 2010
194 of 258
NXP Semiconductors
UM10429
Chapter 19: Appendix LPC1102 ARM Cortex-M0 reference
Remark:
If lockup state occurs in the NMI handler a subsequent NMI does not cause the
processor to leave lockup state.
19.3.5 Power management
The Cortex-M0 processor sleep modes reduce power consumption:
•
a sleep mode, that stops the processor clock
•
a Deep-sleep mode.
The SLEEPDEEP bit of the SCR selects which sleep mode is used, see
.
This section describes the mechanisms for entering sleep mode and the conditions for
waking up from sleep mode.
19.3.5.1 Entering sleep mode
This section describes the mechanisms software can use to put the processor into sleep
mode.
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 in
to sleep mode.
19.3.5.1.1
Wait for interrupt
The Wait For Interrupt instruction,
WFI
, causes immediate entry to sleep mode. When the
processor executes a
WFI
instruction it stops executing instructions and enters sleep
for more information.
19.3.5.1.2
Wait for event
Remark:
The WFE instruction is not implemented on the LPC1102.
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
value of the event register:
0 —
The processor stops executing instructions and enters sleep mode
1 —
The processor sets the register to zero and continues executing instructions without
entering sleep mode.
See
for more information.
If the event register is 1, this indicates that the processor must not enter sleep mode on
execution of a
WFE
instruction. Typically, this is because of the assertion of an external
event, or because another processor in the system has executed a
SEV
instruction, see
. Software cannot access this register directly.