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

dfu fails only if bonded

Hello,

Thanks for reading this! I have an odd behavior on my nrf52832 where I am capable of uploading a new firmware via BLE DFU to the peripheral device if it is not bonded to the central device. However, when I bond, the DFU always fails. I suspect it is for this reason, ie the NOINIT section in the ram is not retaining my bond information when passing to the bootloader. I am using Elcipse GCC, so in order to rectify this, I have to modify this linker script: dfu_gcc_nrf52.ld. I dont know how to do so, can anyone point me in the right direction? Is there any way to check that there is indeed bond information retention?

Thank you very much for your time.

edit for phone screenshot: image description

Parents
  • Hi Sean,

    Which SDK version are you testing ? Have you modified anything ? NOINIT is already configured correctly in the dfu_gcc_nrf52.ld file in SDK v11 alpha.

    Have you made sure you enable IS_SRVC_CHANGED_CHARACT_PRESENT = 1 in your application to allow Service changed indication ? A sniffer trace and the log from the DFU tool can tell more on what could be wrong here.

Reply
  • Hi Sean,

    Which SDK version are you testing ? Have you modified anything ? NOINIT is already configured correctly in the dfu_gcc_nrf52.ld file in SDK v11 alpha.

    Have you made sure you enable IS_SRVC_CHANGED_CHARACT_PRESENT = 1 in your application to allow Service changed indication ? A sniffer trace and the log from the DFU tool can tell more on what could be wrong here.

Children
No Data
Related