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

Get DFU/OTA to work with Android/IOS

I am trying to get DFU/OTA to work with the supplied sample Apps, so far no luck. I bought the nRF51 DK to have the hardware matching and tried with SD S310 2.01 and dfu_dual_bank_ble_s310_pca10028.uvprojx sample from SDK 7.2 and also with SD S110 8.0 and dfu_dual_bank_ble_s110_pca10028.uvprojx from SDK 8.0 and tried to load dfu_test_app_hrm.zip or dfu_test_app_hrm.hex (supplied with SDK 8.0 in test_images_update) with nRF Toolbox and nRF Master control panel under Android 4.4.2 all without luck. I see the DfuTarg advertising, in some cases I see the connected LED going on but I never got a successful load. Error messages vary, f.e. GATT error, nrf file error(2), remote DFU not supp ...

Could somebody please clarify, which versions of the Apps are compatible with which versions of SDK+SD and which file formats they support ? In the 8.0 bootloader there is a requirement for 'Master Control Panel v3.8 or later', which is obviously a PC version, which seems not available yet ?

A complete set of files to get the chain running for the 1st time would be really helpful.

BR Uwe

Parents
  • Hi Uwenord,

    Testing here with nRFToolbox v1.11.4 (latest on google play) and MCP v2.1.1, worked fine with S110 v7.1 and the bootloader included in SDK v7.2.

    Which .zip did you use ? Have you make sure it follow the naming requirement where your application hex should be application.hex and the init data file should be application.dat ?

    I attached here the .zip file I used, it has the hrm example on it.
    application.zip

    Note that, if you want to test the DFU on MCP on PC you would need to copy and paste the python source code provided in the SDK you use,in \examples\dfu\ble_dfu_send_hex\dfu to C:\Program Files (x86)\Nordic Semiconductor\Master Control Panel\3.7.1.8567\lib\dfu

Reply
  • Hi Uwenord,

    Testing here with nRFToolbox v1.11.4 (latest on google play) and MCP v2.1.1, worked fine with S110 v7.1 and the bootloader included in SDK v7.2.

    Which .zip did you use ? Have you make sure it follow the naming requirement where your application hex should be application.hex and the init data file should be application.dat ?

    I attached here the .zip file I used, it has the hrm example on it.
    application.zip

    Note that, if you want to test the DFU on MCP on PC you would need to copy and paste the python source code provided in the SDK you use,in \examples\dfu\ble_dfu_send_hex\dfu to C:\Program Files (x86)\Nordic Semiconductor\Master Control Panel\3.7.1.8567\lib\dfu

Children
  • Hi Hung Bui,

    thank you very much for your test and reply. I could successfully load your .zip, while load does not work with the .zip files, which Nordic supplies with the SDK 8.0 (dfu_test_app_hrm.zip). Yours contains a .hex application, the Nordic ones do contain a .bin application . Anyhow the application did not work for me, which might be related to 7.2 vs. 8.0 compatibility issues. I will check further and still find all these not documented release dependencies very annoying.

  • @Uwenord: The .zip file provided in the SDK v8.0 is for the MCP on PC. It might not work with the current nRFToolbox/MCP on Android. I will try to clarify this.

  • Still no news on this one ? The more I am involved here, the more I get confused about all the versions of Nordic provided software. I currently have 2 projects, one with SD110, one with SD310. Which SDK should I use ? 8.0.0 does not include S310. I am using Keil, most current Version 5.14. I don't know, if this is a consequence of having the 8.0 installed, I get lots of compile errors in the SD310 project, for example the device_manager_peripheral.c does obviously not match with the ble_gatt.h supplied for S310, f.e. the ble_gap_id_key_t define is missing (and lots of similar problems).

  • Hi Uwenord,

    Sorry that I didn't get back earlier. I just tested here with the nRFToolbox v1.12 and the zip file dfu_test_app_hrm.zip and found no problem. Not sure why it didn't work for you at the begining. Which softdevice & bootloader did you flash ? I may need a sniffer trace when you update the firmware to know what went wrong.

    One of the reason we removed S310 bootloader in SDK v8.0 is that the API for S310 v2.01 is not aligned with the S110 v8.0. So some minor modifications needed if you want to port the examples to work with S310.

    We will bring the S310 back when the newer version of the stack is updated with the API matched with S110 v8.x.

    For now, our suggestion is either to modify the code in SDK v8.0 or to switch back to SDK v7.1

Related