Documentation
Additional recommended reading for developing applications using the SoftDevice on the nRF51 SoC includes the product specification, errata, compatibility matrix, and Bluetooth® core specification.
Product overview
The S130 SoftDevice is a precompiled and linked binary image implementing a Bluetooth® 4.2 low energy protocol stack for the nRF51 Series of SoCs.
Application Programming Interface (API)
The SoftDevice Application Programming Interface (API) is available to applications as a C programming language interface based on SuperVisor Calls (SVC) and defined in a set of header files.
SoftDevice Manager
The SoftDevice Manager (SDM) API allows the application to manage the SoftDevice on a top level. It controls the SoftDevice state and configures the behavior of certain SoftDevice core functionality.
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.
System on Chip resource requirements
This section describes how the SoftDevice, including the Master Boot Record (MBR), uses the System on Chip (SoC) resources. The SoftDevice requirements are shown for both when the SoftDevice is enabled and disabled.
Flash memory API
The System on Chip (SoC) flash memory API provides the application with flash write, flash erase, and flash protect support through the SoftDevice. Asynchronous flash memory operations can be safely performed during active BLE connections using the Flash memory API of the SoC library.
Multiprotocol support
Multiprotocol support allows a developer to implement their own 2.4 GHz proprietary protocol in the application; both when the SoftDevice is not in use (non-concurrent), or while the SoftDevice protocol stack is in use (concurrent). For concurrent multiprotocol implementations, the Radio Timeslot API allows the application protocol to safely schedule radio usage between BLE events.
Bluetooth low energy protocol stack
The Bluetooth® 4.2 compliant low energy Host and Controller implemented by the SoftDevice are fully qualified with multi-role support (Central, Observer, Peripheral, and Broadcaster).
Radio Notification
The Radio Notification is a configurable feature that enables ACTIVE and INACTIVE (nACTIVE) signals from the SoftDevice to the application notifying it when the radio is in use.
Master Boot Record and bootloader
The SoftDevice supports the use of a bootloader. A bootloader may be used to update the firmware on the SoC.
SoftDevice memory usage
The SoftDevice shares the available flash memory and RAM on the nRF51 SoC with the application. The application must therefore be aware of the memory resources needed by the SoftDevice and leave the parts of the memory used by the SoftDevice undisturbed for correct SoftDevice operation.
Scheduling
The S130 stack has multiple activities, called timing-activities, which require exclusive access to certain hardware resources. These timing-activities are time multiplexed to give them the required exclusive access for a period of time, this is called a timing-event. Such timing-activities are BLE role events (central roles, peripheral roles), Flash memory API usage, and Radio Timeslot API timeslots.
Interrupt model and processor availability
This chapter documents the SoftDevice interrupt model, how interrupts are forwarded to the application, and describes how long the processor is used by the SoftDevice in different priority levels.
BLE data throughput
This chapter gives an indication of achievable BLE connection throughput for GATT procedures used to send and receive data in stated SoftDevice configurations.
BLE power profiles Power profiles give a detailed overview of the stages within a Bluetooth® low energy Radio Event, the approximate timing of stages within the event, and how to calculate the peak current at each stage using data from the product specification.