FDS CRC errors

We have a firmware using FDS with #define FDS_CRC_CHECK_ON_READ 1 and #define FDS_CRC_CHECK_ON_WRITE 1.

In my testing it works fine, but for another engineer in a different location they are seeing a lot of CRC errors (0x860C) with multiple devices, and eventually the flash seems to get full. What can cause CRC errors? I suspected low voltage supply, but we haven't confirmed or rejected that theory yet.

Parents
  • Hi,

    Do you see this flash corruption issue on just a single board, or on multiple boards? Do you know if this has been used in some way that could have weared out the flash? (Let's say stuck in a loop over the weekend with some test firmware that writes and erase flash back-to-back)? Another relevant point is the supply voltage. It is not unheard of that a power supply issue could cause flash corruption. As long as the supply voltage is above the minimum (1.7 V), there should be no problem. But it drops further that will cause problems. Normally CRC checks on write and read should handle it so you don't loose or operate on corrupt data, though.

    There is a potential issue during garbage collection, when the page tag's are updated. So I would recommend to not do garbage collection during startup, as that could lead to issues if the device gets stuck in a loop of brown-out reset, boot, start of garbage collection, leading to a brownout reset, etc if the battery is depleeted to a point where it is not able to supply the minimum required supply voltage.

    Also, I am not aware of any issue where nrfjprog does not work reliably on Windows. Can you say more about this?

Reply
  • Hi,

    Do you see this flash corruption issue on just a single board, or on multiple boards? Do you know if this has been used in some way that could have weared out the flash? (Let's say stuck in a loop over the weekend with some test firmware that writes and erase flash back-to-back)? Another relevant point is the supply voltage. It is not unheard of that a power supply issue could cause flash corruption. As long as the supply voltage is above the minimum (1.7 V), there should be no problem. But it drops further that will cause problems. Normally CRC checks on write and read should handle it so you don't loose or operate on corrupt data, though.

    There is a potential issue during garbage collection, when the page tag's are updated. So I would recommend to not do garbage collection during startup, as that could lead to issues if the device gets stuck in a loop of brown-out reset, boot, start of garbage collection, leading to a brownout reset, etc if the battery is depleeted to a point where it is not able to supply the minimum required supply voltage.

    Also, I am not aware of any issue where nrfjprog does not work reliably on Windows. Can you say more about this?

Children
No Data
Related