Hello,
while migrating our FruityMesh framework to SDK17 I went through all SDK and SoftDevice release notes and migration documents and saw the following:
A memory access fault (NRF_FAULT_ID_APP_MEMACC) can occur in sd_nvic_critical_region_exit() if a high priority SoftDevice interrupt occurs during a critical section, for example due to radio traffic (DRGN-10613). This issue was present also in previous releases. It can be fixed by editing __NRF_NVIC_SD_IRQS_1 in nrf_nvic.h so that it becomes: #define __NRF_NVIC_SD_IRQS_1 ((uint32_t)(1U << (MWU_IRQn - 32)))
Now, to me this sounds like it would basically affect almost every application on an nRF52 chipset. As this seems to have been present in mostly every SoftDevice release, I am now asking myself how often this could have happened in real-world scenarios?
As you also provide a workaround, I am wondering why the nrf_nvic.h was not provided with the fix already implemented? Does it have any major drawbacks?
Also, I am wondering why this question has not been asked before
Thank you,
Marius