nRF9160: Secure Services

The Secure Services sample shows how to use the secure services provided by nRF9160: Secure Partition Manager. This firmware needs nRF9160: Secure Partition Manager to also be present on the chip.


This sample generates random numbers and prints them to the console, sleeps, then reboots. This is to demonstrate the spm_request_system_reboot() and spm_request_random_number() secure services.


The following development board:

  • nRF9160 DK board (PCA10090) - see Working with nRF9160

  • The sample is configured to compile and run as a non-secure application on nRF91’s Cortex-M33. Therefore, it automatically includes the nRF9160: Secure Partition Manager that prepares the required peripherals to be available for the application.

Building and running

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

The sample is built as a non-secure firmware image for the nrf9160dk_nrf9160ns build target. Because of this, it automatically includes the nRF9160: Secure Partition Manager.

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


This sample uses the following nRF Connect SDK libraries: