System on Chip (SoC) library

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

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

Table 1. System on Chip 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 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.
Power

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:
    • DISABLED
    • ENABLED
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 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
1 This can also be used when the SoftDevice is disabled.