nRF51 SDK - S130 SoftDevice
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages

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...
 

Macros

#define BOOTLOADER_SVC_BASE   0x0
 
#define SYSTEM_SERVICE_ATT_SIZE   8
 

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_dataPointer to the peer data containing keys for the connection.
Return values
NRF_ERROR_NULLIf a NULL pointer was provided as argument.
NRF_SUCCESSIf the function completed successfully.