I'm having an error in my project where the app_error_fault_handler(...) is triggered generating an NRF_FAULT_ID_SD_ASSERT. I've overwritten the function and stored the ID and PC which is 0x01 (NRF_FAULT_ID_SD_ASSERT) and PC@0x15074.
My Hard- & Software setup:
- nRF52840-DK (PCA10056)
- nRF5 SDK v17.0.2
- S140 v7.2.0
- FreeRTOS v10.0.0
In my setup I have
- 24 development boards,
- connected to 4 different masters -
- so each master hast to handle 6 devices.
- The connection interval is fixed @100ms.
I don't know whether the amount of boards is related to the error; maybe only because of more BLE traffic in the area. Unfortunately the error is not quite easy to reproduce and only occurs ever 1-2 days at some boards (different, not the same).
From this post I've learned, that the error can be caused of the application code blocking the softdevice: devzone.nordicsemi.com/.../s140-7-2-0-assert-pc-0x15074
But I've already checked my critialSections and hardware interrupts; I only have one GPIO ISR, with a priority of: GPIOTE_CONFIG_IRQ_PRIORITY 6.
So what kind of code sections can cause such an error?
Is it possible to get more information about the error. I now know the ID and the PC; the "info" field of the app_error_fault_handler(...) unfortunately is 0x00. If I assume that the error is cause from my application code, it would be very helpful to know the function, task or interrupt which caused the error.
I appreciate any kind of help,
Manuel