System on Chip library

The coexistence of the Application and SoftDevice with safe sharing of common System on Chip (SoC) resources is ensured by the SoC library.

The features described in the following table are implemented by the SoC library and can be used for accessing the shared hardware resources when the SoftDevice is enabled.

Table 1. SoC features
Feature Description
Mutex The SoftDevice implements atomic mutex acquire and release operations that are safe for the application to use. Use this mutex to avoid disabling global interrupts in the application, because disabling global interrupts will interfere with the SoftDevice and may lead to dropped packets or lost connections.
NVIC Wrapper functions for the Cortex Microcontroller Software Interface Standard (CMSIS) NVIC functions provided by ARMĀ®.
Note: To ensure reliable usage of the SoftDevice you must use the wrapper functions when the SoftDevice is enabled.
Rand Provides random numbers from the hardware random number generator.

Access to POWER block configuration:

  • Access to RESETREAS register
  • Set power modes
  • Configure power fail comparator
  • Control RAM block power
  • Use general purpose retention register
  • Configure DC/DC converter state:
Clock Access to CLOCK block configuration. Allows the HFCLK Crystal Oscillator source to be requested by the application.
Wait for event Simple power management call for the application to use to enter a sleep or idle state and wait for an application event.
PPI Configuration interface for Programmable Peripheral Interconnect (PPI) channels and groups reserved for an application.1
Radio Timeslot API Schedule other radio protocol activity, or periods of radio inactivity. For more information, see Concurrent multiprotocol implementation using the Radio Timeslot API.
Radio Notification Configure Radio Notification signals on ACTIVE and/or nACTIVE. See Radio Notification signals.
Block Encrypt (ECB) Safe use of 128-bit AES encrypt HW accelerator
Event API Fetch asynchronous events generated by the SoC library.
Flash memory API Application access to flash write, erase, and protect. Can be safely used during all protocol stack states.1 See Flash memory API.
Temperature Application access to the temperature sensor
USB power API Application Programming Interface (API) for enabling and disabling USB power events and for reading the USBREGSTATUS register
1 This can also be used when the SoftDevice is disabled.