| nRF5 SDK v12.0.0 |

Choose documentation: | nRF5 SDK | S130 SoftDevice API | S132 SoftDevice API | S212 SoftDevice API | S332 SoftDevice API

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
DFU utilities
DFU bootloader

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

  true | If a valid application has been detected.
  false | If 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_mode | True if the continuation failed or the update requires DFU mode.

Return values

  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,
|  | 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_req | Requirements for the size of the new image.
  [in] | dual_bank_only | True 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_address | Updated to the cache address if a cache location is found.

Return values

  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.