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

dfu example doesn't work

Hello. I have a nrf51822 ek and trying to create my software using same technics as the bootloader example from sdk. But sdk's bootloader in my case doesn't work. I programm s110_nrf51822_6.0.0-5.beta_softdevice in evaluation board using nrfErgo Studio, then I compile and download dfu_dualbank_ble (sdk v 5.0.0) into same board. Now in master control panel I see DfuTarg. After that I am trying "over the air DFU" option with ble_app_hrs. It seems to work properly, progress bar going to 100% and in log prints "over the air DFU completed", but board still In dfu mode. In J-mem window (from segger tools) from 0x0 address there are some data (softdevice), and from 0x3C800 some data too (bootloader), but from 0x14000 to 3C7FF there are only 0xFF. What am I doing wrong?

  • A little additional information: I can't even see what's going on when trying to do DFU because of closing keil's debug with message:

    "Second debugger connection to the same J-link detected. J-Link currently uses target interface SWD while current debugger tries to select target interface JTAG. Currently selected target interface will not be changed." and then "Connection to JLink lost. Shutting down debug session"

    Without DFU from master control panel debug in keil works as it should. And second strange thing: if I choose some other file (which is definitely not a valid program but have about the same size as a proper firmware) to DFU it still sort of written in ek board and prints "Over-the-air DFU completed". But at 0x14000 - 0x3C7FF still 0xFF.

  • Hi Vladimir,

    Could you test and verify that the bootloader example in the SDK work properly and you can debug using that example ?

    Please be noted that you may not be able to step walkthrough the code of the bootloader since the softdevice is not halted by the debugger, but you should be able to set breakpoints in the application code.

  • Hello Hung Bui,

    Today I updated my softdevice to 6.0.0 and sdk to 5.1.0. Then I've tried bootloader example another time. Without DFU from master control panel I can use breakpoints and step walkthrough code. But when DFU begins debug session always shuts down even if I dont use any breakpoints at all. And with new version of sdk and softdevice after DFU at 0x14000 to 0x3C7FF still 0xFF even though master control panel says "over-the-air DFU completed". I've tried another usb ports for dongle and ek-borad, tomorrow I'll try another computer and then... I've run out of ideas.

  • I found where the problem was. If I use the same computer for dongle and evaluation board at the same time, firmware update doesn't work. But if I move dongle or board to another PC (so evaluation board connected to one computer and dongle to another) then all work perfectly.

Related