zephyr/samples/boards/quark_se_c1000/power_mgr
Sebastian Bøe 55ee53ce91 cmake: Prepend 'cmake_minimum_required()' into 'app' build scripts
Prepend the text 'cmake_minimum_required(VERSION 3.8.2)' into the
application and test build scripts.

Modern versions of CMake will spam users with a deprecation warning
when the toplevel CMakeLists.txt does not specify a CMake
version. This is documented in bug #8355.

To resolve this we include a cmake_minimum_required() line into the
toplevel build scripts. Additionally, cmake_minimum_required is
invoked from within boilerplate.cmake. The highest version will be
enforced.

This patch allows us to afterwards change CMake policy CMP000 from OLD
to NEW which in turn finally rids us of the verbose warning.

The extra boilerplate is considered more acceptable than the verbosity
of the CMP0000 policy.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-08-15 04:06:50 -07:00
..
src samples: boards: quark_se_c1000: Do not enter LPS states on test exit 2018-07-25 07:21:17 -04:00
CMakeLists.txt cmake: Prepend 'cmake_minimum_required()' into 'app' build scripts 2018-08-15 04:06:50 -07:00
README.rst
prj.conf
prj_tickless.conf
sample.yaml tests/samples: add hw dependencies 2018-05-01 19:10:27 -04:00

README.rst

.. _power-mgr-sample:

Intel® Quark™ SE Microcontroller C1000 Power management demo
############################################################

Overview
********

A sample implementation of a power manager app that uses the Zephyr
power management infrastructure.

This app will cycle through the various power schemes at every call
to _sys_soc_suspend() hook function.
It will cycle through the following states:

1. CPU Low Power State

2. Deep Sleep - demonstrates invoking suspend/resume handlers of
   devices to save device states and switching to deep sleep state.

3. No-op - no operation and letting kernel do its idle

Requirements
************

This application uses an Intel® Quark™ SE Microcontroller C1000 board for
the demo. It demonstrates power operations on the x86 and ARC cores in
the board.

.. note::

  PM support on Intel Quark SE Microcontroller C1000 board requires
  the latest version of the `boot loader
  <https://github.com/quark-mcu/qm-bootloader/releases>`_.


Building and Running
********************

.. zephyr-app-commands::
   :zephyr-app: samples/boards/quark_se_c1000/power_mgr
   :board: <board>
   :goals: build
   :compact:

Sample Output
=============

x86 core output
---------------

.. code-block:: console

  Power Management Demo on x86

  Application main thread

  Low power state entry!

  Low power state exit!
  Total Elapsed From Suspend To Resume = 131073 RTC Cycles
  Wake up event handler

  Application main thread

  Deep sleep entry!
  Wake from Deep Sleep!

  Deep sleep exit!
  Total Elapsed From Suspend To Resume = 291542 RTC Cycles
  Wake up event handler

  Application main thread

  No PM operations done

  Application main thread

  Low power state entry!

  Low power state exit!

  ...

ARC core output
---------------

.. code-block:: console

  Power Management Demo on arc

  Application main thread

  Low power state entry!

  Low power state exit!
  Total Elapsed From Suspend To Resume = 131073 RTC Cycles
  Wake up event handler

  Application main thread

  No PM operations done

  Application main thread

  Low power state entry!

  Low power state exit!

  ...