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

Make BLE Central send firmware to DFU Bootloader

Hello all!

I've been researching DFU over BLE, between a central and a peripheral.

The peripheral is possible to upgrade over the DFU Bootloader. I've tried upgrading this unit with the MCP from nordic, and it works.

However, when i try to initiate the DFU on the peripheral, using my central device, by writing 0x01 to the DFU Control Point of the peripheral - i receive {0x10, 0x01, 0x06}. Does the 0x06 mean that the process was unable to start? (infocenter.nordicsemi.com/.../bledfu_transport_bleservice.html

What am I doing wrong here? Is this not the way to start the process?

Parents
  • Hi Goature,

    Yes, error code 6 is Operation Failed: Response if the requested procedure failed.

    The DFU image transfer procedure is explained in detail here. In order to start and initialize DFU you have to

    1. Enable DFU Control point notification ( Write 0x0001 to the CCCD of the Control Point Characteristic)

    2. Write the start DFU Op code 0x01 followed by the DFU Type ( 0x01 = SD, 0x02= BL and 0x04 = App)

    3. Write the Image size to the to the DFU packet characteristic

    Best regards

    Bjørn

  • Thank you very much, got the whole thing working now :-)

Reply Children
No Data