nRF5 SDK v12.1.0
Functions
DFU utilities

Functions

uint32_t nrf_dfu_continue (uint32_t *p_enter_dfu_mode)
 Function for continuing an ongoing DFU operation. More...
 
bool nrf_dfu_app_is_valid (void)
 Function for checking if the main application is valid. More...
 
uint32_t nrf_dfu_find_cache (uint32_t size_req, bool dual_bank_only, uint32_t *p_address)
 Function for finding a cache write location for the DFU process. More...
 

Detailed Description

Function Documentation

bool nrf_dfu_app_is_valid ( void  )

Function for checking if the main application is valid.

This function checks if there is a valid application located at Bank 0.

Return values
trueIf a valid application has been detected.
falseIf there is no valid application.
uint32_t nrf_dfu_continue ( uint32_t *  p_enter_dfu_mode)

Function for continuing an ongoing DFU operation.

This function initiates or continues the DFU copy-back routines. These routines are fail-safe operations to activate either a new SoftDevice, Bootloader, combination of SoftDevice and Bootloader, or a new application.

This function relies on accessing MBR commands through supervisor calls. It does not rely on the SoftDevice for flash operations.

Note
When updating the bootloader or both bootloader and SoftDevice in combination, this function does not return, but rather initiate a reboot to activate the new bootloader.
Parameters
[in,out]p_enter_dfu_modeTrue if the continuation failed or the update requires DFU mode.
Return values
NRF_SUCCESSIf the DFU operation was continued successfully. Any other error code indicates that the DFU operation could not be continued.
uint32_t nrf_dfu_find_cache ( uint32_t  size_req,
bool  dual_bank_only,
uint32_t *  p_address 
)

Function for finding a cache write location for the DFU process.

This function checks the size requirements and selects a location for placing the cache of the DFU images. The function tries to find enough space in Bank 1. If there is not enough space, the present application is erased.

Parameters
[in]size_reqRequirements for the size of the new image.
[in]dual_bank_onlyTrue to enforce dual-bank updates. In this case, if there is not enough space for caching the DFU image, the existing application is retained and the function returns an error.
[out]p_addressUpdated to the cache address if a cache location is found.
Return values
NRF_SUCCESSIf a cache location was found for the DFU process.
NRF_ERROR_NO_MEMIf there is no space available on the device to continue the DFU process.

Documentation feedback | Developer Zone | Subscribe | Updated