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

Updating Firmware via DFU or directly

I am working on adding firmware updates to my BLE application on the BL652 module (nRF52832/PCA10040).  nRF 15.2.

I added in the code for the BLE Background DFU, which crashed with "ERROR_NO_MEM"; so I deleted my battery BLE and then it runs.  But what the heck do I do on the PC end?  There doesn't seem to be any instructions anywhere on how to use this.  I see a note that there is a utility app (nrfutil), but that is useless since this has to be integrated into a user app.  I need the protocol for sending the firmware update.

What would be even better is if there was documentation as to where to write the firmware update directly into flash and bypass the DFU.

Please help!  My customer and boss are breathing down my neck to get this implemented.

Thank you,

-Erik

Parents
  • Hi,

    The DFU process, the DFU protocol and the BLE transport are all documented in our online documentation (Infocenter).

    Implementation examples are available through github, in the form of iOS library, Android library, source code for nrfutil and DFU library, part of pc-ble-driver-js (which is used by nRF Connect for Desktop). All of those implementations uses a zip package generated by nrfutil, as the upgrade package.

    What would be even better is if there was documentation as to where to write the firmware update directly into flash and bypass the DFU.

    What do you mean by that, connecting a programmer to the board and reflash firmware manuallly? DFU, or Device Firmware Update, is the process of updating firmware through use of firmware already present on the device, as opposed to using a programmer to directly access flash through the debug interface of the device. E.g. DFU is suited for end customers, while direct programming is typically done in production and during development.

    Regards,
    Terje

Reply
  • Hi,

    The DFU process, the DFU protocol and the BLE transport are all documented in our online documentation (Infocenter).

    Implementation examples are available through github, in the form of iOS library, Android library, source code for nrfutil and DFU library, part of pc-ble-driver-js (which is used by nRF Connect for Desktop). All of those implementations uses a zip package generated by nrfutil, as the upgrade package.

    What would be even better is if there was documentation as to where to write the firmware update directly into flash and bypass the DFU.

    What do you mean by that, connecting a programmer to the board and reflash firmware manuallly? DFU, or Device Firmware Update, is the process of updating firmware through use of firmware already present on the device, as opposed to using a programmer to directly access flash through the debug interface of the device. E.g. DFU is suited for end customers, while direct programming is typically done in production and during development.

    Regards,
    Terje

Children
No Data
Related