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... | |
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.
[in] | skip_crc_check | True if the bootloader was requested to skip computing and checking CRC. |
true | If a valid application has been detected. |
false | If 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.
[in,out] | p_enter_dfu_mode | True if update requires DFU mode. |
NRF_SUCCESS | If 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.
[in] | size_req | Requirements for the size of the new image. |
[out] | p_address | Updated to the cache address if a cache location is found. |
NRF_SUCCESS | If a cache location was found for the DFU process. |
NRF_ERROR_NO_MEM | If 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.
[in] | p_context | Unused param to comply with app timer API. |