We are designing our DFU mechanism for our system that has 4 Nordic 52840.
It's going to be a consumer product, so we don't want the user to have to do 4 manual updates. For this reason, we are thinking to write the new application to the flash ourselves (through Wifi & ESB using our proprietary packets) and utilize the bootloader to check if there's valid application in "Bank 1" and process it if valid. So if the user requests, we will distribute the packets to the flash transparently. Then the user would only need to power cycle the boards and, voila, it's updated.
From reading through the forum, it seems like "Background DFU update" is the way to go. However, in the post such as this one, the links to the documentation seem to be invalid:
It seems like there are 2 parts we need to modify:
1) The bootloader part, that can be found in:
based on info here: infocenter.nordicsemi.com/.../background_dfu_bootloader.html
2) The application part, that does:
Transferring the new firmware to flash memory.
Validating checksum for each block of the firmware.
Triggering a swap procedure by entering the bootloader context.
I don't find where I can find the code for this part. Can you please direct me to the where in the <InstallFolder> it is located?
And, perhaps, if you have documentation that shows how to do background DFU? So that I can try it in the DK first...