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

Errata: [220] CPU: RAM is not ready when written

Hi

Referring to 

https://devzone.nordicsemi.com/f/nordic-q-a/58652/additional-questions-to-nrf52832-errata-220-clearification/238659#238659

From the above post, the following statement was made:

"You just need to replace the sd_app_evt_wait()  or any __WFE in your app wit the workaround mentioned in the ERRATA."

For reference, the workaround for Errata 220 is the following:

SCB->SCR |= SCB_SCR_SEVONPEND_Msk;
__disable_irq();
__WFE()
__nop();__nop();__nop();__nop();
__enable_irq();

Our application is using Softdevice version < 8.0, which means it contains the Errata 220. 

Based on the statement that says to replace sd_app_evt_wait() with the workaround, how would this be done?

Would we simply remove the function call (sd_app_evt_wait) and replace it with the five lines given in errata workaround (shown above)?

Or, would we keep the function call (sd_app_evt_wait) and do the following:-  

SCB->SCR |= SCB_SCR_SEVONPEND_Msk;
__disable_irq();
sd_app_evt_wait(); __nop();__nop();__nop();__nop(); __enable_irq();


-Justin
Related