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

How to upload to device with DFU legacy mode

Hi,

I have a smartwatch that has a nrf52832 chip inside. It firmware runs on S132 SoftDevice ver 2.0.1 and has an OTA bootloader which supposingly allows me to upload firmware via the Nordic upload tool.

I am unfamilar with OTA and how to go about uploading a new firmware onto the smartwatch. I have a few questions relating to this issue:

1. I want to develop my own firmware for the smartwatch. Can I use the latest nRF SDK version to write the firmware? I can just modify any example from pca10040 and it should work right?

2. What do I need to do to in order to upload the firmware to the smartwatch? I can compile the examples in the SDK to generate the HEX file. I have a NRF Dongle and have nRF Connect installed on my computer. From the Bluetooth Energy app, I can scan and discover and connect to the smartwatch, and I can see Legacy DFU service. But there is no option for me to upload any file. Do I need to initiate a pairing and bonding? I tried doing that, but the log show the message "Authentication failed with status BLE_GAP_SEC_STATUS_PAIRING_NOT_SUPP"

3. I also tried with the NRF Connect app on my mobile phone. Similarly, I can connect to the smartwatch and see the Device Firmware Update Service. On the top right side of the screen I see a DFU icon and I selected that. Then it prompted me to select file type. Which option should I choose? I tried to select "Application", click on OK, select the HEX file that I want to upload. Then on the next screen, I saw this long message:

*****************************************

Init packet

Do you want to select the init packet file?

The init packet file (*.dat) should contain the device type and revision, application version, list of supported Soft Device and firmware CRC in binary format or, with old versions of the DFU bootloader, only the CRC (CRC-CCITT-16).  With the new version of the bootloader the extended init packet is required. I click on NO. Then I see a graph and a message: "Starting DFU". Almost immediately, a Disconnecting message appears and nothing happens.


Anyone can give some advise on what I need to do to successful use OTA to upload new firmware to a device? Thanks in advance!

Related