After DFU operation, FDS initialization failed

Due to the increase in functionality, the amount of new application code has increased. After DFU operation, FDS Init failed to restart. However, if I use the complete hexadecimal file, it can start normally

Thank you

  • Hi,

    For us to help you with this in the best possible way, please list the following information:

    • SDK Version
    • Development Kit Version
    • Which sample do you use?
    • Do you use custom hardware or code?
    • Do you have error logs?
    • What do you send DFU from?

    Regards,
    Sigurd Hellesvik

  • I am using SDK 17.0.2, the chip is nrf52832, and the hardware and code are customized (the code is based on the ble UART demo modification). When the FDS initialization fails, the returned error code is FDS_ERR_NO_SPACE_IN_FLASH. I use nrf connect for BLE DFU.
    In addition, I used the bootload provided by the sample program, but in single bank DFU mode.
    After my question, I made some progress: after dfu is completed, when restarting, if the app data in the flash is erased, the fds can be initialized normally.
    I confirmed that the setting of DFU_APP_DATA_Reserved in Bootload is correct.

    Thanks & Regards

  • Have you verified that your application has not grown into the FDS area? This will not trigger a linker error at build time because the FDS area is not reserved by the linker. The fact that you receive the FDS_ERR_NO_SPACE_IN_FLASH error after a single bank DFU suggests that your application has become too large to fit into the free area between the Softdevice and the FDS."

      

    RQiao said:
    I confirmed that the setting of DFU_APP_DATA_Reserved in Bootload is correct.

    So DFU_APP_DATA_RESERVED == (FDS_VIRTUAL_PAGES+FDS_VIRTUAL_PAGES_RESERVED)*4096?

Related