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

DFU sequence questions

Hi,

I am trying to write my own dfu updater for the NRF51 chip and I am stuck trying to make sense of the actual DFU sequence described here infocenter.nordicsemi.com/index.jsp My device has the standard dual-bank DFU bootloader provided with the SDK 11.0 and I enter it by pressing a button.

Here are the 2 questions:

  • The first step is "Enable DFU CCCD Notifications": is this different than enabling notifications on the Dfu Control Point Characteristic (000015311212efde1523785feabcd123) ?

  • I tried the following sequence: Put target device in DFU mode (identifies as DfuTarg); Enable notifications on the DFU control point characteristic; send 01 04 to the Ctrl Point Characteristic; send image size to the same characteristic. At this point I get a disconnect message on the central but the target appears to still be connected (I can't find it with a BLE browser and as well, the Bluetooth icon shows connected state). Is this a bug on my side or does DfuTarg actually disconnects (as explained here infocenter.nordicsemi.com/index.jsp and I have to reconnect? Note that the target is already in dfu mode.

I'm sure this is a confusion on my part and I'd appreciate any help with this. florin

Parents
    1. No, enable DFU CCCD Notifications and enabling notifications on the Dfu Control Point Characteristic is the same thing.
    2. If you are writing to the DFU Control point of an application thats been extended with DFU support, then the application will reset the device into DFU mode(i.e. bootloader mode). If you're already in DFU mode, then you should not see a disconnect after writting 01-04 to the DFU Control Point. However, the image size should be written to the DFU Packet Characteristic and not the DFU Control Point Characteristic, as shown in the first link in your question.
Reply
    1. No, enable DFU CCCD Notifications and enabling notifications on the Dfu Control Point Characteristic is the same thing.
    2. If you are writing to the DFU Control point of an application thats been extended with DFU support, then the application will reset the device into DFU mode(i.e. bootloader mode). If you're already in DFU mode, then you should not see a disconnect after writting 01-04 to the DFU Control Point. However, the image size should be written to the DFU Packet Characteristic and not the DFU Control Point Characteristic, as shown in the first link in your question.
Children
Related