Lost Data in FDS

I use FDS to store some application data. I performing accelerated life testing that randomly power cycles the nRF52840 (on time 4 - 10 seconds) while a central device ( Android 10 tablet ) tries to repeatedly connect to the device (having been bonded previously).

My problem is that my application data disappears after a random period of time. It seems like the nRF52840 is being interrupted while in the process of writing to flash. However my app doesn't write to flash and I've disabled the following in an attempt to prevent the soft device from writing to FDS.

PM_PEER_RANKS_ENABLED

PM_SERVICE_CHANGED_ENABLE

Any thoughts on other flags I could disable or why power cycling the device is causing data to disappear from FDS?

Thanks!

Parents Reply Children
  • jtk said:
    Most of the SDK is from 15.3, but fds.c and a couple of other portions have been "backported" from 17.0.

    There are some important FDS fixes in nRF5-SDK v17.1.0 as well. From the Release Notes:

    ** FDS **
    
    - Fixed a bug that would prevent re-initialization when fds_init() returned
      FDS_ERR_NO_PAGES or FDS_ERR_NO_SWAP (NRFFOETT-2552).
    - Fixed a bug in FDS that could occur if the device lost power during garbage collection,
      that would result in the swap page being incorrectly tagged, and fds_init() returning
      FDS_ERR_NO_SWAP on initialization (NRFFOETT-2506).
Related