Integration with applications

The nRF BLE Controller is an RTOS-agnostic library built for the Nordic Semiconductor nRF52 and nRF53 Series that supports Bluetooth 5.

For the nRF53 Series, the requirements described in this document are only relevant for applications running alongside the nRF BLE Controller on the network processor.

Applications utilizing the nRF BLE Controller library are responsible for the following:

  • Forwarding RNG interrupts to the nRF BLE Controller library. The application should not add additional processing in the corresponding interrupt handler. Otherwise, the behavior is undefined.

  • The BLE Controller relies on functionality provided by the Nordic MPSL (Multiprotocol Service Layer), which has its own set of requirements that the application must follow.

  • Ensuring thread-safe operation. This can be achieved by either:

    • Calling all BLE Controller and MPSL APIs from the same execution priority,

    • ensuring that no API call is interrupted by other API calls, for example by using critical sections.

  • Configuring the number of available links:

    • Link configuration must be done before enabling the controller.

    • The application is required to provide a memory buffer the size of which is dependent on the link configuration.

The following peripherals are owned by the nRF BLE Controller and must not be accessed directly by the application:

  • RNG

  • ECB

  • AAR

  • NVMC

  • PPI channels 17 - 31, for the nRF52 Series

  • DPPI channels 0 - 13, for the nRF53 Series

The APIs provided in ble_controller_soc.h and in MPSL give the application limited access to some of these peripherals.

Architecture diagrams

The image below shows how the nRF BLE Controller and MPSL integrates in an RTOS-free environment.


The image below shows how the nRF BLE Controller and MPSL integrates with an RTOS.