nRF9160: Secure Services

The Secure Services sample shows how to use the secure services provided by Secure Partition Manager. This firmware needs 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 sample supports the following development kit:

Hardware platforms


Board name

Build target

nRF9160 DK




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

You can also configure it to use TF-M instead of Secure Partition Manager.

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 Secure Partition Manager. You can also configure it to use TF-M instead of SPM.

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


This sample uses the following nRF Connect SDK libraries: