Device cannot read FDS record after DFU

Greetings,

In our product, we encountered an issue when data saved in flash (FDS) that were previously retained are erased during DFU on some devices. This was indeed fixed using the method proposed in the feedback of the Nordic Support team. The solution was to modify the bootloader appropriately and perform an OTA update of the Application + Bootloader + SoftDevice so the issue is resolved for the product's new FW release.

However on some devices (not every device and not every time) after performing the DFU the application FW at startup tries to read an important record from the FDS but fails because the FDS handler is never called and the FDS appears to be always busy causing unexpected behavior and the device ultimately becomes unresponsive (and needs to be erased and flashed again which is not possible for devices that are already sent to clients).

The only modification in the bootloader was to increase the DFU_APP_DATA_RESERVED define to reserve all of the 50 pages of Flash(FDS) our application uses. 

When erasing the device and re-flashing the FW this behavior is not reproducible so it has not been possible for us to debug and probe this behavior further.

What could be the possible reason for this behavior?

Any insight would be greatly appreciated! Looking forward to hearing from you!

Best regards,

Stavros Filippas

Related