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

Updating an nRF52 application over the air with OTA DFU

Hello,

I'm using IAR 8.22.1, SDK 15.0.0, S132, nRF Connect V4.19.2.

I've loaded the 'secure_bootloader' example to PCA10040 EVB.

The device is recognized as DFUTARG and is connected to the smartphone.

I've copied image 'hrs_application_s132.zip' file to the smartphone.

The problem is that when performing DFU start-> Select file type->Distribution packet (ZIP) and selecting the zip file - nothing happens.

Please help me to figure out what is the problem.

Thanks in advance.

  • hello Bjorn,

    I had a mistake, my phone is Xiaomi, Redmi Note 4, Android 7.0 NRD90M, MIUI version: MIUI Global 9.2 (9.2.1.0 NCFMIEK).

  • As I mentioned previously, do you have another phone to test the DFU with? That way, we can check to make sure you have done all of the steps correctly. If the DFU works with the other phone, then we know that you have done all of the dfu steps correctly & that there could be an issue with your phone. Then, we can continue looking at the issue then.

  • Hello Bjorn,

    I was trying to insert a video with no success (MP4 ~100MB). If you can give me an E-mail address to send the video it will be great.

    I've tested with Galaxy S8, Model:SM-G950F, Android version 8.0.0.

    After selecting the ZIP file of ble_app_hrs project, the following messages were populated:

    1. Starting DFU.

    2. Starting bootloading.

    3. Connecting

    When it stopped, I disconnected from device, and pressed SCAN.

    I thought I should recognize the device as HRS service but the device was recognized as DfuTarg.

    Do I have a misunderstanding with the DFU process or something is not working properly here?

    Best regards.

  • Did you follow the blog post I linked to step by step? Did you test the ble_app_hrs project by erasing the dev kit, only flashing the softdevice & the application to the dev kit first & see if that works? 

    From what you are explaining, it seems that the DFU failed to complete since the device is advertising as "DFuTarg" instead of "Nordic_HRM". This is most likely why the device goes back into bootloader mode instead of advertising "Nordic_HRM". 

    Do you have any logging information that you could upload? Does the DFU complete to 100% in nrf connect?

    Which --sd-req code are you using for the softdevice when you create the zip package using nrfutil in Step C2 of the blog post? If you are using s132 v6 softdevice, it should be 0x00a8. You can also use the command: nrfutil pkg generate --help

    or load the softdevice to your dev kit & check the softdevice code using nrf go studio or nrf programmer app in nrf connect for pc.

  • Thanks a lot for your reply.

    1. I've followed the blog post step by step.

    2.The ble_app_hrs project runs properly.

    3. I haven't been seeing process of DFU showing percentage.

    4. I've used the same --sd-req 0x98 as in the blog post and not 0x00a8!!!

    5. I need to check if I have a logging information.

    My DK was burned out, so I'm waiting for new board.

    BR,

    Ran

Related