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 | DATA_OBJECT_MAX_SIZE (CODE_PAGE_SIZE) |
|
Size of a flash page. This value is used for calculating the size of the reserved flash space in the bootloader region.
More...
|
|
| #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 | BOOTLOADER_SETTINGS_BACKUP_ADDRESS NRF_MBR_PARAMS_PAGE_ADDRESS |
|
Page location of the MBR parameters page address.
|
|
| #define | NRF_DFU_APP_DATA_AREA_SIZE (CODE_PAGE_SIZE * 3) |
| #define | DFU_APP_DATA_RESERVED NRF_DFU_APP_DATA_AREA_SIZE |
| #define | DFU_REGION_END (bootloader_start_addr) ((bootloader_start_addr) - ( NRF_DFU_APP_DATA_AREA_SIZE )) |
|
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...
|
|
Functions |
|
| STATIC_ASSERT (((CODE_PAGE_SIZE *3)%CODE_PAGE_SIZE)==0,"NRF_DFU_APP_DATA_AREA_SIZE must be a multiple of the flash page size.") | |
Variables |
|
| ANON_UNIONS_ENABLE | |
|
DFU progress.
More...
|
|
| ANON_UNIONS_DISABLE | |
Detailed Description
Macro Definition Documentation
| #define DATA_OBJECT_MAX_SIZE (CODE_PAGE_SIZE) |
Size of a flash page. This value is used for calculating the size of the reserved flash space in the bootloader region.
Maximum size of a data object.
| #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).
- Note
- If the value at the given location is 0xFFFFFFFF, no MBR parameters page is set.
Enumeration Type Documentation
| enum nrf_dfu_evt_type_t |
Event types in the bootloader and DFU process.
Variable Documentation
| 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 .
- Note
- The union inside this struct is cleared when CREATE_OBJECT of command type is executed, and when there is a valid post-validation. In DFU activation (after reset) the dfu_progress_t::update_start_address will be used in case of a SD/SD+BL update.