nRF5340: Empty firmware for application core

You can use this sample to run an application on the network core of the nRF5340 when there is no need for the working application core.

Requirements

The sample supports the following development kit:

Hardware platforms

PCA

Board name

Build target

nRF5340 DK

PCA10095

nrf5340dk_nrf5340

nrf5340dk_nrf5340_cpuapp

Overview

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

  • 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.

Building and running

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

To build the sample with Visual Studio Code, follow the steps listed on the Building nRF Connect SDK application quick guide page in the nRF Connect for VS Code extension documentation. See Building and programming an application for other building and programming scenarios and Testing and debugging an application for general information about testing and debugging in the nRF Connect SDK.

Testing

To test the sample, complete the following steps:

  1. Program the 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 has the following nrfx dependencies:

  • nrfx/nrf.h

  • nrfx/nrfx.h

In addition, it uses the following Zephyr libraries: