Hi,
I want to update my nrf device via OTA update. I configured it for dual bank update in sdk_config.h of my bootloader project:
#define NRF_DFU_SINGLE_BANK_APP_UPDATES 0 #define NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES 1
I noticed, that the update with the nrf connect app invalidates the current application in bank 0 if I disconnect the device during the update process. I checked the bootloader debug output and noticed, that the address of bank 0 and bank 1 are the same.
00> <debug> app: nrf_dfu_bank0_start_addr() = 0x27000 00> <debug> app: nrf_dfu_bank1_start_addr() = 0x27000
I checked the code and saw, that address of bank1 is bank0_addr + s_dfu_settings.bank_0.image_size. This means, that s_dfu_settings.bank_0.image_size must be 0.
How can this happen and where do I set the image size of bank0?
I'm generating the bootloader settings with the following command and then program it to the device:
nrfutil settings generate --family NRF52 --app-boot-validation NO_VALIDATION --application _build\application.hex --application-version 0 --bootloader-version 0 --bl-settings-version 2 _build\bootloader_setting.hex
Do I have to generate the bootloader settings everytime I reprogram the device?