35.9.2 Fast Start-Up

At exit from ULP1 or ULP2 mode, the device allows the processor to restart in several microseconds only if the C-code function that manages the ULP1 or ULP2 mode entry and exit is linked to and executed from on-chip SRAM.

A fast start-up occurs upon the detection of a programmed level on one of the wake-up inputs (WKUP0 to WKUP5) or upon an active alarm from the RTC, RTT, USB Controller or HSDHC alarm. The polarity of each of the wake-up inputs is programmable in the PMC Wake-Up Control Register (PMC_WCR).

Warning: The duration of the WKUPx pins active level must be greater than four MAINCK cycles.

The fast start-up circuitry, as shown in the following figure, is fully asynchronous and provides a fast start-up signal to the PMC. As soon as the fast start-up signal is asserted, the main RC oscillator restarts automatically.

Figure 35-2. Fast Start-Up Circuitry

Any PIOBU[3:0] input can be used as a wake-up pin (WKUP[5:2]). Additionally, any PIO line can be configured to generate a fast start-up event by setting the corresponding bits in PMC_WCR.

To configure a wake-up pin, a write access must be performed in PMC_WCR (CMD=’1’). Field PID must be written with the ID of the wake-up pin, WIP set to the polarity of the wake-up pin and EN set to enable/disable the wake-up pin.

To read the configuration status of a wake-up pin, PMC_WCR.PID must be written with the ID of the wake-up pin and the CMD bit set to ‘0’. Then the next read access to PMC_WCR sends the configuration status of the wake-up pin specified in PID.

Each alarm can be enabled to generate a fast start-up event by setting the corresponding bit in PMC_FSMR.

The user interface does not provide any status for fast start-up. The status can be read in the PIO Controller and the status registers of the RTC, RTT and USB Controller.