Cortex-M3 Processor (Reference Material)
UG0331 User Guide Revision 15.0
45
instruction it stops executing instructions and enters sleep mode. See
more information.
3.5.5.1.2
Wait for Event
The
wait for event
instruction, WFE, causes entry to sleep mode dependent 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 clears the register to 0 and continues executing instructions without entering Sleep
mode.
See
page 94 for more information.
If the event register is 1, this indicate that the processor must not enter Sleep mode on execution of a
WFE instruction. Typically, this is because an external event signal is asserted, or a processor in the
system has executed an SEV instruction, see
page 93. Software cannot access this register directly.
3.5.5.1.3
Sleep-on-exit
If the SLEEPONEXIT bit of the SCR is set to 1, when the processor completes the execution of all
exception handles it returns to Thread mode and immediately enters Sleep mode. Use this mechanism in
applications that only require the processor to run when an exception occurs.
3.5.5.2
Wakeup from Sleep Mode
The conditions for the processor to wakeup depend on the mechanism that cause it to enter sleep mode.
3.5.5.2.1
Wakeup from WFI or sleep-on-exit
Normally, the processor wakes up only when it detects an exception with sufficient priority to cause
exception entry.
Some embedded systems might have to execute system restore tasks after the processor wakes up, and
before it executes an interrupt handler. To achieve this set the PRIMASK bit to 1 and the FAULTMASK bit
to 0. If an interrupt arrives that is enabled and has a higher priority than current exception priority, the
processor wakes up but does not execute the interrupt handler until the processor sets PRIMASK to
zero. For more information about PRIMASK and FAULTMASK see
3.5.5.2.2
Wakeup from WFE
The processor wakes up if:
•
it detects an exception with sufficient priority to cause exception entry
•
it detects an external event signal, see
•
in a multiprocessor system, another processor in the system executes an SEV instruction
In addition, if the SEVONPEND bit in the SCR is set to 1, any new pending interrupt triggers an event
and wakes up the processor, even if the interrupt is disabled or has insufficient priority to cause exception
entry. For more information about the SCR see
3.5.5.3
The Wakeup Interrupt Controller
The Wakeup Interrupt Controller (WIC) is a peripheral that can detect an interrupt and wake the
processor from deep sleep mode. The WIC is enabled only when the DEEPSLEEP bit in the SCR is set
to 1, see
The WIC is not programmable, and does not have any registers or user interface. It operates entirely
from hardware signals.
When the WIC is enabled and the processor enters deep sleep mode, the power management unit in the
system can power down most of the Cortex-M3 processor. This has the side effect of stopping the
SysTick timer. When the WIC receives an interrupt, it takes a number of clock cycles to wakeup the
processor and restore its state, before it can process the interrupt. This means interrupt latency is
increased in deep sleep mode.
Note:
If the processor detects a connection to a debugger it disables the WIC.
Содержание SmartFusion2 MSS
Страница 1: ...UG0331 User Guide SmartFusion2 Microcontroller Subsystem ...
Страница 166: ...Cortex M3 Processor Reference Material UG0331 User Guide Revision 15 0 132 ...
Страница 200: ...Embedded NVM eNVM Controllers UG0331 User Guide Revision 15 0 166 Figure 87 System Builder Window ...
Страница 407: ...Universal Serial Bus OTG Controller UG0331 User Guide Revision 15 0 373 ...
Страница 806: ...Fabric Interface Controller UG0331 User Guide Revision 15 0 772 Figure 345 FIC Master AHB Lite Subsystem ...