Smart Remote 3 nRF52 v1.2
Functions
DFU utilities

Functions

bool nrf_dfu_app_is_valid (bool skip_crc_check)
 Function for checking if the main application is valid. More...
 
uint32_t nrf_dfu_continue (bool *p_enter_dfu_mode)
 Function for continuing an ongoing DFU operation. More...
 
uint32_t nrf_dfu_find_cache (uint32_t size_req, uint32_t *p_address)
 Function for finding a cache write location for the DFU process. More...
 
void nrf_dfu_reset_timeout_handler (void *p_context)
 Function to handle timeout resets in the DFU. More...
 

Detailed Description

Function Documentation

bool nrf_dfu_app_is_valid ( bool  skip_crc_check)

Function for checking if the main application is valid.

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

Parameters
[in]skip_crc_checkTrue if the bootloader was requested to skip computing and checking CRC.
Return values
trueIf a valid application has been detected.
falseIf there is no valid application.
uint32_t nrf_dfu_continue ( bool *  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 initiates a reboot to activate the new bootloader.
Parameters
[in,out]p_enter_dfu_modeTrue if 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,
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.
[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.
void nrf_dfu_reset_timeout_handler ( void *  p_context)

Function to handle timeout resets in the DFU.

If there is a valid application, function will stop transport modules and reboot the system. If valid application is not available function will switch transport to low power mode and exit.

Warning
This function may not return.
Parameters
[in]p_contextUnused param to comply with app timer API.

Documentation feedback | Developer Zone | Subscribe | Updated