nRF5340: Empty firmware for application core

This sample can be used to run an application on the network core of the nRF5340 when there is no need for the working application core.

Overview

The sample has minimal Zephyr configuration: no multithreading, no clock, no MPU, no device drivers. It does the following things:

  • During system initialization:

    • It allows the network core to access GPIO pins for LEDs and buttons. If more pins are required, you can add them to the network_gpio_allow() function.

    • It starts the network core. This is not done directly in the source code of the sample, but internally by Zephyr.

  • In the main() function of the sample:

    • The application RAM is powered off to reduce power consumption.

    • The application core is suspended indefinitely.

Requirements

The sample supports the following development kit:

Hardware platforms

PCA

Board name

Build target

nRF5340 DK

PCA10095

nrf5340dk_nrf5340

nrf5340dk_nrf5340_cpuapp

Building and running

This sample can be found under samples/nrf5340/empty_app_core in the nRF Connect SDK folder structure.

See Building and programming a sample application for information about how to build and program the application.

Testing

  1. Program this sample to the application core.

  2. Program Zephyr’s Blinky sample to the network core.

  3. Observe the LEDs on the kit.

Dependencies

This sample uses the following nrfx dependencies:

  • nrfx/nrf.h

  • nrfx/nrfx.h

In addition, it uses the following Zephyr libraries: