power_mode_comp_only#
Overview#
The power_mode_switch application shows the usage of normal power mode control APIs for entering the low power mode: Sleep mode, Deep Sleep mode, Deep Sleep Retention mode, Deep Power Down mode and Full Deep Power Down mode. When the application runs to each low powermode, the device would cut off the power for specific modules to save energy. The device can be also waken up by prepared wakeup source from external event. Tips: This demo is to show how the various power mode can switch to each other. However, in actual low power use case, to save energy and reduce the consumption even more, many things can be done including:
Disable the clock for unnecessary module during low power mode. That means, programmer can disable the clocks before entering the low power mode and re-enable them after exiting the low power mode when necessary.
Disable the function for unnecessary part of a module when other part would keep working in low power mode. At the most time, more powerful function means more power consumption. For example, disable the digital function for the unnecessary pin mux, and so on.
Set the proper pin state (direction and logic level) according to the actual application hardware. Otherwise, the pin cirrent would be activied unexpectedly waste some energy.
Other low power consideration based on the actual application hardware.
In order to meet typedef power consumption of DateSheet manual. Please configure MCU under the following conditions.
Configure all pins as GPIO with pull-up resistor disabled in the IOCON block.
Configure GPIO pins as outputs using the GPIO DIR register.
Write 1 to the GPIO CLR register to drive the outputs LOW.
All peripherals disabled.
Supported Boards#
MIMXRT700-EVK
Hardware requirements
Micro USB cable
MIMXRT700-EVK board
Personal Computer
Board settings
Make sure JP7(2-3) connected for 3.3V supply for VDDIO_2. JP55(1-2) disconnected to ommit the impact of MCU-LINK during DPD and FDPD mode.
The board supports multiple power supply options. The code should be aligned with power supply on the board.
VDDN supplied by internal DCDC, VDD1 and VDD2 by PMC LDOs. Jumper setting - JP1(Open), JP2(1-2), JP3(Open), JP4(1-2) Code setting(power_demo_config.h) - #define DEMO_POWER_SUPPLY_OPTION DEMO_POWER_SUPPLY_PMC
VDDN supplied by PMIC, VDD1 and VDD2 by PMC. Jumper setting - JP1(Open), JP2(2-3), JP3(Open), JP4(1-2) Code setting(power_demo_config.h) - #define DEMO_POWER_SUPPLY_OPTION DEMO_POWER_SUPPLY_MIXED
Default power supply. Use PMIC to supply all. Jumper setting - JP1(1-2), JP2(2-3), JP3(1-2), JP4(1-2) Code setting(power_demo_config.h) - #define DEMO_POWER_SUPPLY_OPTION DEMO_POWER_SUPPLY_PMIC
NOTE,
Please disconnect the debugger when measuring the power consumption.
When measuring power consumption for Full Deep Power Down mode, please power the board using 5V adapter and disconnect MCU-LINK and JP55 to ommit the impact of MCU-LINK circute.
Prepare the Demo
Connect a micro USB cable between the PC host and the MCU-LINK on the board
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Build cm33_core1 project first, then the cm33_core0 project.
Download the core0 program to the target board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
The log below shows the output of the demo in the cm33_core0 terminal window:
#################### Power Mode Demo - CPU0 ####################
Build Time: Feb 4 2024--14:01:54
Core Clock: 192000000Hz
Select an option
1. Sleep mode
2. Deep Sleep mode
3. Deep Sleep Retention mode
4. Deep power down mode
5. Full deep power down mode
6. Active test mode
The cm33_core1 terminal window shows the below log,
#################### Power Mode Demo - CPU1 ####################
Build Time: Feb 4 2024--13:36:32
Core Clock: 32000000Hz
Entering Deep sleep...
FRDM-IMXRT700
Hardware requirements
Type-C USB cable
FRDM-IMXRT700 board
Personal Computer
Board settings
Make sure JP7(2-3) connected for 3.3V supply for VDDIO_2. JP55(1-2) disconnected to ommit the impact of MCU-LINK during DPD and FDPD mode.
The board supports multiple power supply options. The code should be aligned with power supply on the board.
VDDN supplied by internal DCDC, VDD1 and VDD2 by PMC LDOs. Jumper setting - JP1(Open), JP2(1-2), JP3(Open), JP4(1-2) Code setting(power_demo_config.h) - #define DEMO_POWER_SUPPLY_OPTION DEMO_POWER_SUPPLY_PMC
VDDN supplied by PMIC, VDD1 and VDD2 by PMC. Jumper setting - JP1(Open), JP2(2-3), JP3(Open), JP4(1-2) Code setting(power_demo_config.h) - #define DEMO_POWER_SUPPLY_OPTION DEMO_POWER_SUPPLY_MIXED
Default power supply. Use PMIC to supply all. Jumper setting - JP1(1-2), JP2(2-3), JP3(1-2), JP4(1-2) Code setting(power_demo_config.h) - #define DEMO_POWER_SUPPLY_OPTION DEMO_POWER_SUPPLY_PMIC
NOTE,
Please disconnect the debugger when measuring the power consumption.
When measuring power consumption for Full Deep Power Down mode, please power the board using 5V adapter and disconnect MCU-LINK and JP55 to ommit the impact of MCU-LINK circute.
Prepare the Demo
Connect a USB cable between the PC host and the MCU-LINK on the board
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Build cm33_core1 project first, then the cm33_core0 project.
Download the core0 program to the target board.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
Running the demo
The log below shows the output of the demo in the cm33_core0 terminal window:
#################### Power Mode Demo - CPU0 ####################
Build Time: Feb 4 2026--14:01:54
Core Clock: 192000000Hz
Select an option
1. Sleep mode
2. Deep Sleep mode
3. Deep Sleep Retention mode
4. Deep power down mode
5. Full deep power down mode
6. Active test mode
The cm33_core1 terminal window shows the below log,
#################### Power Mode Demo - CPU1 ####################
Build Time: Feb 4 2026--13:36:32
Core Clock: 32000000Hz
Entering Deep sleep...