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

sd_flash_write() cause NRF_FAULT_ID_SD_ASSERT

Hi,

I have run into an issue with nrf52840 on pca10056 v1.0.0 board. The softdevice is SD v6.1.0. It seems to be a hardfault which cause a reset when I tried to call sd_flash_write(), sd_flash_page_erase() is OK though. The address and buffer is 4 byte aligned, the number of word is 1024.

Following the parameter of the callback error that Softdevice invoked

  • id = 1 (NRF_FAULT_ID_SD_ASSERT)
  • pc= 0x00014A3A
  • info = 0x00

if SD is not enable, there will be no problems at all. Strange things is the very same code run without issue on nrf52832 S132 v6.1.0.

I am appreciated if anyone could provide a hint why SD assert at that pc location.

Thanks in advance

Parents Reply Children
  • Hi,

    I am glad to hear you fixed the issue, but I would not trust it as a stable fix. Using a different clock source will, of course, affect timing slightly, and in this case apparently for the better (It seems like the LFRC clock is a bit slower than the LFXO clock in this case). But in this case, the fix is marginal and likely to be affected by the chip to chip differences in the LFRC performance.

    The only workaround is to update the SoftDevice version to >= 7.0.1, since the issue is with a hard-coded constant within the SoftDevice.

Related