This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Advices to implement custom DFU

On a custom board based on nrf52840.

We want to implement OTA DFU with radio (not necessarily BLE, e.g Serial 4G Modem)

We already checked the Serial DFU example and made it work on our board without SoftDevice, but we want to have the following specifications :
- We want to download the updates in the application without putting the device in a DFU mode of the bootloader
- We want to implement an AB-model of firmware update : 2 Applications Memory Slots, Application N (current application)
writes Application N+1 in the memory Slot of Application N-1 (previous application).
If Application N+1 is booting correctly it becomes the current application.
-We want to receive the application chunk by chunk from radio (because it is not possible to receive a file of the size of an application
in one go)

We would like to know if with those specifications it is advisable to use the DFU bootloader and :
- implement our own DFU transport method ? Is there some tutorial or guide to implement custom DFU transport method ?
- How can we use the DFU functions in an application ?
- What do we need to modify in the DFU and bootloader to have a AB-model of firmware update ?
  
 We plan to release the code as an open-source MIT package. 
 
Thanks for any advice on the topic.
Related