Data Structures | |
struct | nrf_dfu_bank_t |
Description of a single bank. More... | |
struct | dfu_progress_t |
struct | nrf_dfu_settings_t |
DFU settings for application and bank data. More... | |
Macros | |
#define | INIT_COMMAND_MAX_SIZE 256 |
#define | CODE_PAGE_SIZE (MBR_PAGE_SIZE_IN_WORDS * sizeof(uint32_t)) |
Size of a flash page. This value is used for calculating the size of the reserved flash space in the bootloader region. | |
#define | DATA_OBJECT_MAX_SIZE (CODE_PAGE_SIZE) |
Maximum size of a data object. | |
#define | BOOTLOADER_SETTINGS_PAGE_SIZE (CODE_PAGE_SIZE) |
Page location of the bootloader settings address. | |
#define | NRF_UICR_MBR_PARAMS_PAGE_ADDRESS (NRF_UICR_BASE + 0x18) |
MBR parameters page in UICR. More... | |
#define | NRF_MBR_PARAMS_PAGE_SIZE (CODE_PAGE_SIZE) |
#define | DFU_APP_DATA_RESERVED (CODE_PAGE_SIZE * 3) |
Page location of the MBR parameters page address. More... | |
#define | DFU_REGION_END(bootloader_start_addr) ((bootloader_start_addr) - (DFU_APP_DATA_RESERVED)) |
Total size of the region between the SoftDevice and the bootloader. | |
#define | DFU_REGION_START (nrf_dfu_bank0_start_addr()) |
#define | DFU_REGION_TOTAL_SIZE ((DFU_REGION_END) - (DFU_REGION_START)) |
#define | NRF_DFU_CURRENT_BANK_0 0x00 |
#define | NRF_DFU_CURRENT_BANK_1 0x01 |
#define | NRF_DFU_BANK_LAYOUT_DUAL 0x00 |
#define | NRF_DFU_BANK_LAYOUT_SINGLE 0x01 |
#define | NRF_DFU_BANK_INVALID 0x00 |
DFU bank state codes. More... | |
#define | NRF_DFU_BANK_VALID_APP 0x01 |
#define | NRF_DFU_BANK_VALID_SD 0xA5 |
#define | NRF_DFU_BANK_VALID_BL 0xAA |
#define | NRF_DFU_BANK_VALID_SD_BL 0xAC |
Typedefs | |
typedef void(* | nrf_dfu_observer_t )(nrf_dfu_evt_type_t notification) |
Function for notifying DFU state. | |
Enumerations | |
enum | nrf_dfu_evt_type_t { NRF_DFU_EVT_DFU_INITIALIZED, NRF_DFU_EVT_TRANSPORT_ACTIVATED, NRF_DFU_EVT_TRANSPORT_DEACTIVATED, NRF_DFU_EVT_DFU_STARTED, NRF_DFU_EVT_OBJECT_RECEIVED, NRF_DFU_EVT_DFU_FAILED, NRF_DFU_EVT_DFU_COMPLETED, NRF_DFU_EVT_DFU_ABORTED } |
Event types in the bootloader and DFU process. More... | |
Variables | |
ANON_UNIONS_ENABLE | |
DFU progress. More... | |
ANON_UNIONS_DISABLE | |
#define DFU_APP_DATA_RESERVED (CODE_PAGE_SIZE * 3) |
Page location of the MBR parameters page address.
Size (in bytes) of the flash area reserved for application data.
The area is found at the end of the application area, next to the start of the bootloader. This area will not be erased by the bootloader during a firmware upgrade. The default value is 3 pages which matches the size used in most SDK examples.
#define INIT_COMMAND_MAX_SIZE 256 |
Maximum size of the init command stored in dfu_settings.
#define NRF_DFU_BANK_INVALID 0x00 |
DFU bank state codes.
The DFU bank state indicates the content of a bank: A valid image of a certain type or an invalid image.Invalid image.
#define NRF_DFU_BANK_VALID_APP 0x01 |
Valid application.
#define NRF_DFU_BANK_VALID_BL 0xAA |
Valid bootloader.
#define NRF_DFU_BANK_VALID_SD 0xA5 |
Valid SoftDevice.
#define NRF_DFU_BANK_VALID_SD_BL 0xAC |
Valid SoftDevice and bootloader.
#define NRF_UICR_MBR_PARAMS_PAGE_ADDRESS (NRF_UICR_BASE + 0x18) |
MBR parameters page in UICR.
Register location in UICR where the page address of the MBR parameters page is stored (only used by the nRF52 MBR).
enum nrf_dfu_evt_type_t |
Event types in the bootloader and DFU process.
ANON_UNIONS_ENABLE |
DFU progress.
Be aware of the difference between objects and firmware images. A firmware image consists of multiple objects, each of a maximum size DATA_OBJECT_MAX_SIZE.