DFU flash transport

Hello,

Im working right now on a product which saves the update file (init + app packet) on its Flash in a specified memory section. 

After "uploading" the file in the flash the product get sets in DFU mode from extern. 

My question here: How to adjust the bootloader to do the firmware update with the already saved update file from the flash?

Is it possible to do this without transport layer? Is it easier to write a new transport layer? Are there any examples? 

If its too complicated I still can work with the Serial UART DFU transport layer. Thanks!

Parents
  • Hi,

    Can you elaborate a bit on how the image is stored in flash, and how the "uploading" happens? Do you mean that a separate application firmware is stored in the flash of the device at all times?

    We have multiple protocols using Background DFU, where the image is received over a transport protocol in application (i.e. not running in the bootloader when receiving the image). 

    If you can store the image in the same format, it should be quite simple to modify the bootloader to only enable the new image when this is desired.

    Using the Serial UART transport layer will likely be easier and not require modifications to the bootloader.

    Best regards,
    Jørgen

  • The image will be written via Fstorage in 100 Byte chunks in a memory section defined in the linker script (in application): Trigger extern DFU mode, Bootloader should detect the image and update. After this the image should be deleted.

    Didnt read anything about Background DFU? Do you have docu for this? 

Reply Children
No Data
Related