A. CPU1 does necessary
application-specific context save to M0/M1 memories if required. This includes
GPIO state if using I/O Isolation. Configures the LPMCR register of CPU1 for
HIBERNATE mode. Powers down Flash Pump/Bank, USB-PHY, CMPSS, DAC, and ADC using
their register configurations. The application should also power down the PLL
and peripheral clocks before entering HIBERNATE. In dual-core
applications, CPU1 should confirm that CPU2 has entered IDLE/STANDBY using
the LPMSTAT register.
B. IDLE instruction is executed to
put the device into HIBERNATE mode.
C. The device is now in HIBERNATE
mode. If configured, I/O isolation is turned on, M0 and M1 memories are
retained. CPU1 and CPU2
are powered down.
Digital peripherals are powered down. The oscillators,
PLLs, analog peripherals, and Flash are in their software-controlled Low-Power
modes. Dx, LSx, and GSx memories are also powered down, and their memory
contents lost.
D. A falling edge on the
GPIOHIBWAKEn pin will drive the wakeup of the devices clock sources INTOSC1,
INTOSC2, and X1/X2 OSC. The wakeup source must keep the GPIOHIBWAKEn pin low
long enough to ensure full power-up of these clock sources.
E. After the clock sources are
powered up, the GPIOHIBWAKEn must be driven high to trigger the wakeup sequence
of the remainder of the device.
F. The BootROM will then begin to
execute. The BootROM can distinguish a HIBERNATE wakeup by reading the
CPU1.REC.HIBRESETn bit. After the TI OTP trims are loaded, the BootROM code will
branch to the user-defined IoRestore function if it has been configured.
G. At this point, the device is out
of HIBERNATE mode, and the application may continue.
H. The IoRestore function is a
user-defined function where the application may reconfigure GPIO states, disable
I/O isolation, reconfigure the PLL, restore peripheral configurations, or branch
to application code. This is up to the application requirements.
I. If the application has not
branched to application code, the BootROM will continue after completing
IoRestore. It will disable I/O isolation automatically if it was not taken care
of inside of IoRestore. CPU2 will be brought out of reset at this point as well.
J. BootROM will then boot as
determined by the HIBBOOTMODE register. Refer to the ROM Code and Peripheral
Booting chapter of the
TMS320F2837xD
Dual-Core Real-Time Microcontrollers Technical Reference
Manual
for more
information.
Figure 6-24 HIBERNATE
Entry and Exit Timing Diagram