[249] DIF: Access port protection needs software interface configuration

This configuration applies to Revision 3, build codes QFAA-Gx0, QFAB-Gx0, CIAA-Gx0.

Symptoms

Access port protection (APPROTECT) is enabled by default and must be disabled by software.

Conditions

After any power-on reset, brownout reset, watchdog timer reset, pin reset, or wake up from System OFF mode if not in debug interface mode.

Consequences

The device cannot be debugged or programmed without erasing the non-volatile memory.

Workaround

To enable debugging and programming, apply the following code before the start of the application code:
 
NRF_APPROTECT->DISABLE = APPROTECT_DISABLE_DISABLE_SwDisable;
To force the disabling of debugging and programming, apply the following code before the start of the application code:
 
NRF_APPROTECT->FORCEPROTECT = APPROTECT_FORCEPROTECT_FORCEPROTECT_Force;
This workaround is implemented in MDK version 8.40.2 and later.