The Summit SOM 8M Plus is based on the NXP i.MX 8M Plus SoC which includes a Cortex-M7 MCU secondary processor which can run at a clock speed of up to 800 MHz. The default Summit SOM 8M Plus DVK image includes support for a Zephyr-based low-power example application which demonstrates some of the Asymmetric Multiprocessing (AMP) use cases that can be utilized.

Boot Modes

The Cortex-M7 core supports booting and running from three sources:

  1. Instruction/Data Tightly Coupled Memory (TCM)
  2. DDR
  3. QSPI-attached flash storage*

*The Summit SOM 8M Plus DVK board includes a NOR flash chip which can be used for booting the Cortex-M7 core via QSPI; however, a similar chip would need to be incorporated into the design of any carrier boards utilizing the SOM.

By default, the Cortex-M7 core is not booted in the standard DVK image; however, it can be enabled via the set-m7-boot-mode command at the Linux command prompt:

set-m7-boot-mode enable|disable

After the set-m7-boot-mode command, the board will reset, boot the Cortex-M7 core, and also boot to Linux on the Cortex-A core.

Cortex-M7 Demo Application

The default demo application running on the Cortex-M7 core contains a Zephyr-based simple shell prompt and supports waking the Cortex-A core from suspend via the wakeup command as shown below. The demo application demonstrates how to enable low power operation on the Cortex-M7 core while the Cortex-A core is suspended (lowest power state). Therefore, for the best low power performance, it is recommended to use the sdio-uart-stop radio mode for this example (see the ‘Switching between interfaces for the NXP 88W8997 radio’ for more info on the available radio modes).

  1. From the Linux prompt, login and enter the suspend state:
     systemctl suspend
    

    The Cortex-A core and much of the board will enter a low power state, but the Cortex-M7 core will remaining running.

  2. From the Cortex-M7 shell prompt, enter the wakeup command:
     uart:~$ wakeup
    

    The Cortex-M7 core will signal the Cortex-A core to wakeup from suspend mode back to normal operating mode.