Board support

The nRF Connect SDK provides board definitions for all Nordic Semiconductor devices. In addition, you can define custom boards.

Board names

The following tables list all boards and build targets for Nordic Semiconductor’s hardware platforms.

The build target column uses several entries for multi-core hardware platforms:

  • For core type:

    • cpuapp - When you choose this target, you build the application core firmware.

    • cpunet - When you choose this target, you build the network core firmware.

  • For usage of Cortex-M Security Extensions (CMSE):

    • Entries without *_ns (cpuapp) - When you choose this target, you build the application core firmware as a single execution environment that does not use CMSE (Trusted Firmware-M (TF-M)).

    • Entries with *_ns (for example, cpuapp_ns) - When you choose this target, you build the application with CMSE. The application core firmware is placed in Non-Secure Processing Environment (NSPE) and uses Secure Processing Environment (SPE) for security features. By default, the build system automatically includes Trusted Firmware-M (TF-M) in SPE and merges it with NSPE.

Read more about separation of processing environments in the Processing environments section.

Boards included in sdk-zephyr

The following boards are defined in the zephyr/boards/arm/ folder. Also see the Supported Boards section in the Zephyr documentation.

Hardware platform

PCA number

Board name

Build target

nRF52 DK (nRF52832)

PCA10040

nrf52dk_nrf52832

nrf52dk_nrf52832

nrf52dk_nrf52810

nrf52dk_nrf52810

nrf52dk_nrf52805

nrf52dk_nrf52805

nRF52833 DK

PCA10100

nrf52833dk_nrf52833

nrf52833dk_nrf52833

nrf52833dk_nrf52820

nrf52833dk_nrf52820

nRF52840 DK

PCA10056

nrf52840dk_nrf52840

nrf52840dk_nrf52840

nrf52840dk_nrf52811

nrf52840dk_nrf52811

nRF52840 Dongle

PCA10059

nrf52840dongle_nrf52840

nrf52840dongle_nrf52840

Thingy:52

PCA20020

thingy52_nrf52832

thingy52_nrf52832

nRF21540 DK

PCA10112

nrf21540dk_nrf52840

nrf21540dk_nrf52840

nRF5340 DK

PCA10095

nrf5340dk_nrf5340

nrf5340dk_nrf5340_cpunet

nrf5340dk_nrf5340_cpuapp

nrf5340dk_nrf5340_cpuapp_ns

Thingy:53

PCA20053

thingy53_nrf5340

thingy53_nrf5340_cpunet

thingy53_nrf5340_cpuapp

thingy53_nrf5340_cpuapp_ns

nRF9160 DK

PCA10090

nrf9160dk_nrf9160

nrf9160dk_nrf9160

nrf9160dk_nrf9160_ns

nrf9160dk_nrf52840

nrf9160dk_nrf52840

Note

In nRF Connect SDK releases before v1.6.1:

  • The build target nrf9160dk_nrf9160_ns was named nrf9160dk_nrf9160ns.

  • The build target nrf5340dk_nrf5340_cpuapp_ns was named nrf5340dk_nrf5340_cpuappns.

Boards included in sdk-nrf

The following boards are defined in the nrf/boards/arm/ folder.

Hardware platform

PCA number

Board name

Build target

nRF5340 Audio

PCA10121

nrf5340_audio_dk_nrf5340

nrf5340_audio_dk_nrf5340_cpuapp

nRF Desktop Gaming Mouse

PCA20041

nrf52840gmouse_nrf52840

nrf52840gmouse_nrf52840

nRF Desktop Mouse

PCA20044

nrf52dmouse_nrf52832

nrf52dmouse_nrf52832

nRF Desktop Mouse

PCA20045

nrf52810dmouse_nrf52810

nrf52810dmouse_nrf52810

nRF Desktop Keyboard

PCA20037

nrf52kbd_nrf52832

nrf52kbd_nrf52832

nRF Desktop Dongle

PCA10111

nrf52833dongle_nrf52833

nrf52833dongle_nrf52833

nRF Desktop Dongle

PCA10114

nrf52820dongle_nrf52820

nrf52820dongle_nrf52820

Thingy:91

PCA20035

thingy91_nrf9160

thingy91_nrf9160

thingy91_nrf9160_ns

thingy91_nrf52840

thingy91_nrf52840

nRF7002 DK

PCA10143

nrf7002dk_nrf5340

nrf7002dk_nrf5340_cpunet

nrf7002dk_nrf5340_cpuapp

nrf7002dk_nrf5340_cpuapp_ns

The nRF21540 EK shield is defined in the nrf/boards/shields folder.

Custom boards

Defining your own board is a very common step in application development, because applications are typically designed to run on boards that are not directly supported by the nRF Connect SDK, and are often custom designs not available publicly. To define your own board, you can use the following Zephyr guides as reference, since boards are defined in the nRF Connect SDK just as they are in Zephyr:

One of the nRF Connect SDK applications that lets you add custom boards is nRF Desktop. See Integrating your own hardware in the application documentation for details.

Processing environments

The build target column in the tables above separates entries according to the CPU to target (for multi-core SoCs) and whether Cortex-M Security Extensions (CMSE) are used or not (addition of _ns if they are used).

When CMSE is used, the firmware is split in accordance with the security by separation architecture principle to better protect sensitive assets and code. With CMSE, the firmware is stored in one of two security environments (flash partitions), either Secure Processing Environment (SPE) or Non-Secure Processing Environment (NSPE). This isolation of firmware is only possible if the underlying hardware supports ARM TrustZone.

Processing environments in the |NCS|

Processing environments in the nRF Connect SDK

In Zephyr and the nRF Connect SDK, SPE and NSPE are used exclusively in the context of the application core of a multi-core SoC. Building follows the security by separation principle and depends on the build target.

Building for cpuapp (CMSE disabled)

When you build for cpuapp, you build the firmware for the application core without CMSE. Because CMSE is disabled, TF-M is not used and there is no separation of firmware.

Building for *_ns (CMSE enabled)

When you build for *_ns, you build firmware with CMSE. Firmware is separated in the following way:

  • SPE implements security-critical functionality and data (including bootloaders) and isolates them from the application software in NSPE. It also contains secure firmware running in the secure state.

  • NSPE typically implements the user application and communication firmware, among other major components.

The application is built as a non-secure image and Trusted Firmware-M (TF-M) is built as the secure image. The build system merges both images to form a combined image that will be used for programming or updating the device.

TF-M enables hardware-supported separation of firmware. It also implements Platform Security Architecture (PSA) API, which provides security features for the system, including roots of trust for protecting secrets, platform state, and cryptographic keys. The API coordinates the communication with the components in NSPE.

More information about SPE and NSPE

Read the following pages for a better understanding of security by separation in the nRF Connect SDK: