Typedefs | |
typedef fs_cb_t | dfu_flash_callback_t |
fstorage event handler function for DFU fstorage operations. More... | |
Functions | |
uint32_t | nrf_dfu_flash_init (bool sd_enabled) |
Function for initializing the flash module. More... | |
fs_ret_t | nrf_dfu_flash_store (uint32_t const *p_dest, uint32_t const *const p_src, uint32_t len_words, dfu_flash_callback_t callback) |
Function for storing data to flash (with or without the SoftDevice enabled). More... | |
fs_ret_t | nrf_dfu_flash_erase (uint32_t const *p_dest, uint32_t num_pages, dfu_flash_callback_t callback) |
Function for erasing data from flash (with or without the SoftDevice enabled). More... | |
void | nrf_dfu_flash_error_clear (void) |
Function for clearing an error that has occurred during fstorage operations. | |
fs_ret_t | nrf_dfu_flash_wait (void) |
Function for waiting for an event from fstorage. More... | |
typedef fs_cb_t dfu_flash_callback_t |
fstorage event handler function for DFU fstorage operations.
This function is intended to be registered to the fstorage module as the event handler for all DFU flash operations. When each flash operation has completed or failed this function will be called.
See fs_cb_t for implementation details.
fs_ret_t nrf_dfu_flash_erase | ( | uint32_t const * | p_dest, |
uint32_t | num_pages, | ||
dfu_flash_callback_t | callback | ||
) |
Function for erasing data from flash (with or without the SoftDevice enabled).
[in] | p_dest | The address of the first byte to be deleted. |
[in] | num_pages | The number of flash pages to be deleted. |
[in] | callback | Pointer to the callback function. |
FS_SUCCESS | If the operation was successful. |
FS_ERR_UNALIGNED_ADDR | If p_dest is not aligned to a page boundary. |
FS_ERR_INVALID_ADDR | If p_dest does not point to the start of a flash page or the operation would go beyond the flash memory boundary. |
FS_ERR_NOT_INITIALIZED | If the fstorage module is not initialized. |
FS_ERR_INVALID_CFG | If the initialization of the fstorage module is invalid. |
FS_ERR_NULL_ARG | If p_dest is NULL. |
FS_ERR_INVALID_ARG | If num_pages is zero. |
FS_ERR_QUEUE_FULL | If the internal operation queue of the fstorage module is full. |
uint32_t nrf_dfu_flash_init | ( | bool | sd_enabled | ) |
Function for initializing the flash module.
You can use this module with or without a SoftDevice:
[in] | sd_enabled | Set the flash handling to run with or without the SoftDevice enabled. |
NRF_SUCCESS | If the operation was successful. |
NRF_ERROR_INVALID_STATE | If the fstorage module could not be initiated or the SoftDevice could not set the event handler. |
fs_ret_t nrf_dfu_flash_store | ( | uint32_t const * | p_dest, |
uint32_t const *const | p_src, | ||
uint32_t | len_words, | ||
dfu_flash_callback_t | callback | ||
) |
Function for storing data to flash (with or without the SoftDevice enabled).
p_src
until the operation is complete. Without SoftDevice, the operation is complete when the function returns. With SoftDevice, the operation is complete when the fstorage event is received.[in] | p_dest | Pointer to the address where the data should be stored. |
[in] | p_src | Pointer to the address where the data should be copied from. This address can be in flash or RAM. |
[in] | len_words | The number of words to be copied from p_src to p_dest . |
[in] | callback | Pointer to the callback function. |
FS_SUCCESS | If the operation was successful. |
FS_ERR_FAILURE_SINCE_LAST | If an error occurred in another transaction and fstorage cannot continue before the event has been dealt with. |
FS_ERR_UNALIGNED_ADDR | If p_src or p_dest is not word-aligned. Ensure that the address pointed to is divisible by four. |
FS_ERR_INVALID_ARG | If len_words is zero. It is not possible to write zero words. |
FS_ERR_NULL_ARG | If p_src or p_dest is NULL. |
FS_ERR_NOT_INITIALIZED | If the fstorage module is not initialized. |
FS_ERR_INVALID_CFG | If the initialization of the fstorage module is invalid. |
FS_ERR_QUEUE_FULL | If the internal operation queue of the fstorage module is full. |
fs_ret_t nrf_dfu_flash_wait | ( | void | ) |
Function for waiting for an event from fstorage.
This function halts execution until an event is received from the SoftDevice. You can use this function to halt execution until a flash operation has completed, to prevent tampering with the source data until fstorage is done with it.
FS_SUCCESS | If the operation was successful. |
FS_ERR_FAILURE_SINCE_LAST | If an error has occurred in another transaction and fstorage cannot continue before the event has been dealt with. |