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

failed to upload ble_app_uart with dfu

Hi everybody.

I am making a firmware based on ble_app_uart example (PCA10028 NRF51422, Softdevice S110, NRF51 SDK9.0). In this firmware, I insert dfu part (follow by this instruction ) to support upload firmware via OTA(by nrfConnect android app). I upload successful at the first time (the MCU already has Softdevice and bootloader in memory). However, when I upload again it is failed and the android app show a message: upload failed dfu service disconnected.

Could you please tell me how to solve this problem?

Sorry because my English is not good. Thank you very much.

UPDATE: I put the log file for each test case:

  • Step 1: I upload Softdevice and bootloader to MCU, then I use nrfconnect to upload my ble app, the result is successfull and the log file is here

  • Step 2: After upload my ble app, I connect and re-upload my ble app (the ble app version is 0xFFFFFFFF) the result is failed and the log file is here

  • Step 3: I erase the memory of MCU then upload Softdevice and bootloader same as step 1. After that, I upload the sample dfu file (dfu_test_hrm_s110.zip). The result is successfull and here is log file.

  • Step 4: I connect and upload dfu_test_hrm_s110.zip second time, the result is successfull and this is log file.

Parents
  • @Minh: The interesting part is at step 2 when you jump from your application to the bootloader, the DFU master tried to connect to the bootloader but then got "disconnected" (09:49:01.345). If you have a button, you can try to enter DFU bootloader manually (press and hold the button and reset the device), then try to update your same application. i would assume there won't be any problem doing that. This will rule out any issue with the bootloader and pointing to how you implement the buttonless service to switch form application to bootloader.

    You then can try to put the application into bootloader mode via BLE manually. Simply enable notification and write 0x0104 to the DFU characteristic. Then verify if the bootloader is advertising and do DFU as in Step 1.

  • I already tried it, and it is successful to upload manually.

Reply Children
No Data
Related