DFU BLE SVC

nRF5 SDK v9.0.0

nRF51 SDK v9.0.0

DFU BLE SVC in bootloader. The DFU BLE SuperVisor Calls allow an application to execute functions in the installed bootloader. More...

Modules

DFU BLE SVC internal
DFU BLE SVC internal functions in bootloader. The DFU BLE SuperVisor Calls allow an application to execute functions in the installed bootloader. This interface provides internal Bootloader DFU functions for retrieving data exchanged through SuperVisor Calls.

Data Structures

struct dfu_ble_peer_data_t
DFU Peer data structure. More...

Enumerations

enum BOOTLOADER_SVCS {
DFU_BLE_SVC_PEER_DATA_SET = 0x0,
BOOTLOADER_SVC_LAST
}
The SVC numbers used by the SVC functions in the SoC library. More...

Functions

uint32_t dfu_ble_svc_peer_data_set ( dfu_ble_peer_data_t *p_peer_data)
SVC Function for setting peer data containing address, IRK, and LTK to establish bonded connection in DFU mode. More...

Detailed Description

DFU BLE SVC in bootloader. The DFU BLE SuperVisor Calls allow an application to execute functions in the installed bootloader.

This module implements handling of SuperVisor Calls in the bootloader. SuperVisor Calls allow for an application to execute calls into the bootloader. Currently, it is possible to exchange bonding information (like keys) from the application to a bootloader supporting DFU OTA using BLE, so the update process can be done through an already existing bond.

Note
The application must make sure that all SuperVisor Calls (SVC) are forwarded to the bootloader to ensure correct behavior. Forwarding of SVCs to the bootloader is done using the SoftDevice SVC sd_softdevice_vector_table_base_set with the value present in NRF_UICR->BOOTLOADERADDR .

Macro Definition Documentation

#define BOOTLOADER_SVC_BASE   0x0

The number of the lowest SVC number reserved for the bootloader.

#define SYSTEM_SERVICE_ATT_SIZE   8

Size of the system service attribute length including CRC-16 at the end.

Enumeration Type Documentation

The SVC numbers used by the SVC functions in the SoC library.

Enumerator
DFU_BLE_SVC_PEER_DATA_SET

The number of the lowest SVC number reserved for the bootloader. SVC number for the setting of peer data call.

Function Documentation

uint32_t dfu_ble_svc_peer_data_set ( dfu_ble_peer_data_t * p_peer_data )

SVC Function for setting peer data containing address, IRK, and LTK to establish bonded connection in DFU mode.

Parameters
[in] p_peer_data Pointer to the peer data containing keys for the connection.
Return values
NRF_ERROR_NULL If a NULL pointer was provided as argument.
NRF_SUCCESS If the function completed successfully.

Please send us your feedback about the documentation! For technical questions, visit the Nordic Developer Zone .