This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Progress bar for DFU updates

Hi everyone,

We are using the secure bootloader in our board, and we are adapting that bootloader for our requirements. Moreover, we use the DFU updates for our Main application. Currently, we support two transport layers, BLE and SPI.

We want to know if there is a way to know the size of the firmware update before starting the process, by this way we can implement some animation such as a progress bar or something like that.

I saw this other case DFU API to get Image Size, but it is based on SDK 15. Did you include something in the DFU API?

I have reviewed the DFU protocol, but I did not find something similar. It would be great to have that information during the transfer of an init packet.

Does the size of the firmware image include in the DFU protocol? Or should be sent by the user before starting the process?

If the size is not included in the DFU protocol. Does the number of packets that we are going to receive included? It would be useful too, and it would be a workaround for our solution.

We currently have the below setup:

  • Secure bootloader
  • Main application
  • Softdevice s332
  • SDK 17.1.0

Thanks for your support and best regards,

Javier

Parents
  • Hi Javier,

    Is the case that you want to know the size of the new firmware when the DFU procedure starts in the bootloader? If so, that is possible, and is already used in the bootloader, which gets this from the init command from the call to nrf_dfu_validation_init_cmd_execute(). You can see how this is used in the bootloader by looking at m_firmware_size_req in components\libraries\bootloader\dfu\nrf_dfu_req_handler.c.

    Einar

Reply
  • Hi Javier,

    Is the case that you want to know the size of the new firmware when the DFU procedure starts in the bootloader? If so, that is possible, and is already used in the bootloader, which gets this from the init command from the call to nrf_dfu_validation_init_cmd_execute(). You can see how this is used in the bootloader by looking at m_firmware_size_req in components\libraries\bootloader\dfu\nrf_dfu_req_handler.c.

    Einar

Children
Related