nRF5 SDK  v14.0.0
Choose documentation:
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
DFU bootloader

Bootloader with Device Firmware Update (DFU) functionality. More...

Data Structures

struct  nrf_dfu_peer_data_t
 
struct  nrf_dfu_adv_name_t
 

Macros

#define SYSTEM_SERVICE_ATT_SIZE   8
 

Enumerations

enum  nrf_dfu_svci_numbers {
  NRF_DFU_SVCI_EXECUTE_COMMAND_INIT,
  NRF_DFU_SVCI_EXECUTE_DATA_INIT,
  NRF_DFU_SVCI_SET_PEER_DATA,
  NRF_DFU_SVCI_SET_ADV_NAME
}
 
enum  nrf_dfu_peer_data_state_t {
  DFU_PEER_DATA_STATE_INVALID = 0,
  DFU_PEER_DATA_STATE_INITIALIZED = 1,
  DFU_PEER_DATA_STATE_WRITE_REQUESTED = 2,
  DFU_PEER_DATA_STATE_WRITE_FINISHED = 3,
  DFU_PEER_DATA_STATE_WRITE_FAILED = 4
}
 
enum  nrf_dfu_set_adv_name_state_t {
  DFU_ADV_NAME_STATE_INVALID = 0,
  DFU_ADV_NAME_STATE_INITIALIZED = 1,
  DFU_ADV_NAME_STATE_WRITE_REQUESTED = 2,
  DFU_ADV_NAME_STATE_WRITE_FINISHED = 3,
  DFU_ADV_NAME_STATE_WRITE_FAILED = 4
}
 

Functions

 NRF_SVCI_ASYNC_FUNC_DECLARE (NRF_DFU_SVCI_SET_PEER_DATA, nrf_dfu_set_peer_data, nrf_dfu_peer_data_t, nrf_dfu_peer_data_state_t)
 Sets up the async SVCI interface for exchanging peer data like bonding and the system attribute table. More...
 
 NRF_SVCI_ASYNC_FUNC_DECLARE (NRF_DFU_SVCI_SET_ADV_NAME, nrf_dfu_set_adv_name, nrf_dfu_adv_name_t, nrf_dfu_set_adv_name_state_t)
 Sets up the async SVCI interface for exchanging advertisement name to use when entering DFU mode. More...
 

Detailed Description

Bootloader with Device Firmware Update (DFU) functionality.

The DFU bootloader module, in combination with the Bootloader module, can be used to implement a bootloader that supports Device Firmware Updates.

Macro Definition Documentation

#define SYSTEM_SERVICE_ATT_SIZE   8

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

Function Documentation

NRF_SVCI_ASYNC_FUNC_DECLARE ( NRF_DFU_SVCI_SET_PEER_DATA  ,
nrf_dfu_set_peer_data  ,
nrf_dfu_peer_data_t  ,
nrf_dfu_peer_data_state_t   
)

Sets up the async SVCI interface for exchanging peer data like bonding and the system attribute table.

The peer data will be stored in flash by the bootloader. This requires memory management and handling forwarding of system events and state from the main application to the bootloader.

Note
This is only available in the buttonless DFU that supports bond sharing.
NRF_SVCI_ASYNC_FUNC_DECLARE ( NRF_DFU_SVCI_SET_ADV_NAME  ,
nrf_dfu_set_adv_name  ,
nrf_dfu_adv_name_t  ,
nrf_dfu_set_adv_name_state_t   
)

Sets up the async SVCI interface for exchanging advertisement name to use when entering DFU mode.

The advertisement name will be stored in flash by the bootloader. This requires memory management and handling forwarding of system events and state from the main application to the bootloader.

Note
This is only available in the buttonless DFU that does not support bond sharing.