OS Power management demo¶
Overview¶
This sample demonstrates OS managed power saving mechanism through the sample application which will periodically go sleep there by invoking the idle thread which will call the _sys_soc_suspend() to enter into low power states. The Low Power state will be selected based on the next timeout event.
Requirements¶
This application uses nrf52 DK board for the demo.
Building, Flashing and Running¶
# On Linux/macOS
cd $ZEPHYR_BASE/samples/subsys/power/power_mgr
mkdir build && cd build
# On Windows
cd %ZEPHYR_BASE%\samples\subsys\power\power_mgr
mkdir build & cd build
cmake -GNinja -DBOARD=nrf52_pca10040 ..
ninja
ninja flash
Running:
- Open UART terminal.
- Power Cycle Device.
- Device will enter into Low Power Modes periodically.
Sample Output¶
nrf52 core output¶
***OS Power Management Demo on arm****
Demo Description
Application creates Idleness, Due to which System Idle Thread is
scheduled and it enters into various Low Power States.
<-- App doing busy wait for 10 Sec -->
<-- App going to sleep for 6000 msec -->
Entering Low Power state (0)
Entering Low Power state (0)
Entering Low Power state (0)
Entering Low Power state (0)
<-- App doing busy wait for 10 Sec -->
<-- App going to sleep for 11000 msec -->
Entering Low Power state (1)
Entering Low Power state (1)
Entering Low Power state (1)
Entering Low Power state (1)
<-- App doing busy wait for 10 Sec -->
<-- App going to sleep for 6000 msec -->
Entering Low Power state (0)
Entering Low Power state (0)
Entering Low Power state (0)
Entering Low Power state (0)
<-- App doing busy wait for 10 Sec -->
<-- App going to sleep for 11000 msec -->
Entering Low Power state (1)
Entering Low Power state (1)
Entering Low Power state (1)
Entering Low Power state (1)
OS managed Power Management Test completed