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

Integrating DFU into ble_app_uart example in sdkv10.0.0.

I am trying to integrate DFU into ble_app_uart example.

I am using nrf51422 board, sdk v10.0.0, soft device "s110_nrf51_8.0.0_softdevice.hex".

I have made some changes in "ble_app-uart example" by taking "ble_app_hrs with dfu" as reference. 

The application compiled well no errors, but when I connect to it by using nrf connect it is not displaying "DFU" on top.

Is there anything else I need to do to integrate DFU in "ble_app_uart"?

Could anybody help in solving this? I need it specially for sdk v10.0.0.

Thanks in advance.

Parents
  • Hi, 


    Could you post a screenshot of what you have inside nRFConnect after it discovers the services ? 

    When you add the dfu service into your application, please make sure you have all the API calls to add service and characteristic return NRF_SUCCESS and that you have increased the number of VS_UUID in your application. 

  • Hi Hung BUi,

    Thanks for the reply, I forgot to define BLE_DFU_APP_SUPPORT.

    Now I included it and when I connect to Nordic_UART, DFU is displayed on the top of nrf connect application.

    But when i am pressing DFU and trying to update the test image "dfu_test_app_hrm_s110" it is not uploading showing the error "DFU DEVICE IS DISCONNECTED" after some time in nrf connect application.

    One more thing I want to know is, is there any particular procedure to create "dfu.zip" for an application "particularly for sdk v 10.0.0".

  • Have you made sure you flashed the bootloader ? 

    To generate the .zip package,  you would need the nrf.exe tool. This tool comes with the nRF Master Control Panel. Please have a look at this guide, at question G

    Have you managed to test the ble_app_hrs with dfu ? 

  • yes, I flashed the bootloader.

    I used nrfutil.exe tool to generate the .zip file. I used the following command to generate it.

    C:\Program Files (x86)\Nordic Semiconductor\Master Control Panel\3.10.0.14\nrf>nrfutil dfu genpkg --application"C:\Users\kishor.babu\Downloads\nRF51_SDK_10.0.0_dc26b5e\examples\ble_peripheral\ble_app_hrs\pca10028\s110_with_dfu\arm5_no_packs\_build\nrf51422_xxac_s110.hex"  --application-version 4 --dev-revision 0xffff --dev-type 0xffff --sd-req 0x0080 "D:\dfu_test\dfu_hrs.zip"

    After generating .zip file, when I tried to update the it via OTA using nrf connect it is showing "operation failed" error.

    The same procedure I followed and tried with sdk 11 and it is updating the firmware.

    But I need to do this by using sdk v 10.0.0 only.

    How can I make it to work?

Reply
  • yes, I flashed the bootloader.

    I used nrfutil.exe tool to generate the .zip file. I used the following command to generate it.

    C:\Program Files (x86)\Nordic Semiconductor\Master Control Panel\3.10.0.14\nrf>nrfutil dfu genpkg --application"C:\Users\kishor.babu\Downloads\nRF51_SDK_10.0.0_dc26b5e\examples\ble_peripheral\ble_app_hrs\pca10028\s110_with_dfu\arm5_no_packs\_build\nrf51422_xxac_s110.hex"  --application-version 4 --dev-revision 0xffff --dev-type 0xffff --sd-req 0x0080 "D:\dfu_test\dfu_hrs.zip"

    After generating .zip file, when I tried to update the it via OTA using nrf connect it is showing "operation failed" error.

    The same procedure I followed and tried with sdk 11 and it is updating the firmware.

    But I need to do this by using sdk v 10.0.0 only.

    How can I make it to work?

Children
Related