Hi
I can‘t find the bank size configuration in the project secure_bootloader_uart_mbr_pca10056。For safety reasons,I want to artificially divide the size of bank0 and bank1 to ensure dual bank update.


Hi
I can‘t find the bank size configuration in the project secure_bootloader_uart_mbr_pca10056。For safety reasons,I want to artificially divide the size of bank0 and bank1 to ensure dual bank update.


Hi,
You can enable the NRF_DFU_FORCE_DUAL_BANK_APP_UPDATES setting in your sdk_config header to make the bootloader only accept dual bank updates.
Best regards,
Vidar
Hi
Due to the requirements of customer's protocol,The customer wants to use uart to receive the new firmware of .bin file in the ble_app_hrs_freertos, and then this .bin file is written to bank1.Is it feasible to implement dual bank dfu in this way?Is there such a sample?
Hi,
The easiest approach is generally to perform DFU within the bootloader even with custom DFU transports. This also enables updates of the Softdevice and the bootloader itself.
We do have support for background DFU of the application (i.e. receiving the FW image while running the main app), but we do not have any official examples for it, only the demo sample I uploaded in this post: https://devzone.nordicsemi.com/f/nordic-q-a/46994/background-dfu-application-source-code/187534#187534
Hi
1、I use keil to download app failed after I call nrf_bootloader_flash_protect()to protect app area.Is there a function to unprotect the flash area?
2、Can the flash protected area be read and written through API or SWD after the flash area is protected?
Hi
1、I use keil to download app failed after I call nrf_bootloader_flash_protect()to protect app area.Is there a function to unprotect the flash area?
2、Can the flash protected area be read and written through API or SWD after the flash area is protected?
Hi,
nrf_bootloader_flash_protect() uses the ACL — Access control lists module to change the read/write permissions for a given flash region. And as noted in the documentation, once protection is enabled, the only way to disable it again is through a reset.