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

UART DFU update of BLE application not working

Hi,

I am using the DFU example given in the SDK15.2.0 to try and update the application on my NRF52840. Currently, I have been able to update the application to run the blinky_mbr.hex file given in the secure_dfu_test_images. I works great. However, I wanted to see if I can update the application to run the sample ble_app_blinky example. I placed the corresponding hex file into a zip file and according to the terminal, I was able to download it onto the NRF52840, however, the application is not able to start. If I press Button 4, it goes back into DFU mode. If anyone has any advice on how to go about this, please let me know!

  • Hi,

    ble_app_blinky needs to run with softdevice. Do you flash the softdevice? You need to program the softdevice first or pack the softdevice and ble_app_blinky to upload. 

    -Amanda H.  

  • It does have a softdevice programmed. It was programmed before uploading the new application zip file.

    I do now notice that after I program the nrf52840, the leds all turn off for a brief moment before going into dfu mode again rather than waiting for me to press button 4 to return it to dfu mode. 

  • As I was still trying to go about different ways as to how to fix this problem, I realized that the bootloader hex file is called secure_bootloader_uart_mbr_pca10056.hex and the application is called ble_app_blinky_pca10056_s140.hex . From this I noticed that the bootloader is functioning via MBR and the app is running on softdevice s140. I was wondering if this is could be the reason why the app is not loading? If it is, how should I go about fixing this?

  • Update: I downloaded nRF Programmer on my laptop and have reprogrammed the nrf52840 the same way I have been. I check on the nRF Programmer and it looks as if the application, softdevice and the bootloader were downloaded as seen in the picture below, but the nrf52840 is now no longer going back into dfu mode once the application is uploaded. 

      

    Color Region Name Addr. Range Size (Bytes)

    1. black

    N/A 0x000FF000 - 0x000FF05B 1048576
    2. black MBR Parameters 0x000FE000 - 0x000FE05B 92
    3. pink Bootloader 0x000F8000 - 0x000FD217  21016
    4. gray Application 0x00000000 - 0x00100000 1048576
    5. green Application 0x00076000 - 0x0007B84B 22604
    6. green Application 0x00051000 - 0x00075E7B 151164
    7. green Application 0x0004B000 - 0x0005064F 22096
    8. green Application 0x00026000 - 0x0004AE7B 151164
    9. blue SoftDevice 0x00001000 - 0x00025E7B 151164
    10 orange MBR or Application 0x00000000 - 0x00000A17 2584
  • Hi, 

    If you use s140_nrf52_6.1.0, you should use --sd-req 0xAE for s140_nrf52_6.1.0 for ble_app_blinky_pca10056_s140. 

    If a valid application is installed on the device, hold Button 4 during startup to prevent the bootloader from starting the application and force it to enter DFU mode instead.

    -Amanda H.

Related