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

DFU not jumping to Application

Hi,

I have a DFU issue. Using Visual GDB IDE and gcc tool chain.

I Can get my signed application generated into zip then DFU it into the device which all works. Once I get that far I expect it to jump to the application. It passes CRC etc then goes to jump but the application will not start. The address it uses is MAIN_APPLICATION_START_ADDR is = 0x1F000 nrf_bootloader_app_start(MAIN_APPLICATION_START_ADDR);

Without the DFU I know that my application starts so it is compatible with the softdevice. Is there something I need to add to my make file? In my application It has placed the ISR_Vector at 0x1f000 which I think should be correct for the DFU.

Thank you

Parents Reply Children
  • Ok I did not know this detail. On the Visual GDB the default is to generate the output with the softdevice in the one hex file. After removing the softdevice from the hex file it all worked well. If I want to update the softdevice to generate the package do I use this command? nrfutil pkg generate --hw-version 52 --sd-req 0x8C --softdevice SD.hex --key-file Key2.pem DetBlueSD.zip (It did not seem to work, It generated a package but after uploading it my device was stuck in bootloader mode which makes me think that I corrupted the application.) Also can I update the application and the softdevice all at once?

  • I tried creating an application plus softdevice and it seemed to work use this command rfutil pkg generate --hw-version 52 --sd-req 0x8C --softdevice SD.hex --application-version 4 --application ble_det_blue_v2_AppOnly.hex --key-file Key2.pem DetBlueSD.zip However I am not sure that the softdevice updated or not.

  • @mcau1:

    When you update the softdevice, the application will be erased to get space for the softdevice image. You need to re-update your application. You can have a look at my presentation here. It's for older DFU bootloader but the principles are the same.

    Edit: Sorry for the buttonless part, It was for another case. It's possible to update the softdevice and application at once. They won't be send in the same DFU process, but the DFU master will try to update the softdevice first and then update the application after that.

Related