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

Device does not reset after DFU

Hi,

I have an issue wherein once OTA update is complete through nRFToolbox (Toolbox says " Upload Complete") the Device does not reset and shows that it is connected to the phone. 

I have to physically reset the device to start the application. I have started facing this problem after I updated my gcc to the latest gcc(7.2.1). 

With the previous gcc (4.9) I have used the same boot loader and application code and performed multiple DFU updates to over 200 devices and have never faced this issue.

When I reprogram the device with the boot loader and application code complied with the latest gcc (7.2.1) I face the above mentioned issue.

I am using nRF51822 with SDK 12.3 Can you tell me how I can fix this issue,

Thanks,

  • Hi,

    We have seen some issues with GCC version 7 when link time optimization (LTO) is enabled. Are you building the bootloader with the "-flto" option? If so, can you see if removing it helps?

  • Hi Einar, 

    After removing the -flto option, I don't see the issue. I will test this on the other devices on which I have programmed the boot loader and see if the problem resurfaces. Thanks for your help. 

    On a side note do you know how I can create one .zip DFU file with both the application and the boot loader.

    Thanks,

  • I am glad to hear that this was the issue. I recommend you stick with GCC 6 for now (SDK 15 was tested with GCC ARM Embedded 6.3 2017-q2-update).

    The combination of bootloader and application is not supported. You should use two separate upgrade images instead. (You can see a list of valid combinations by calling "nrfutil pkg generate --help").

  • Hi, With GCC 6 should I use the -flto option or should I remove it ?

    Thanks,

  • Hi Einar, 

    Can you let me know if there are any another problems associated with GCC 7,

    Thanks,

1 2