ERASEUICR behavior with/without UICR.APPROTECT

Hi all, 

I want for confirm my findings concerning ERASEUICR. I want to be able to erase the UICR from inside my firmware for automatic testing purposes (no debugger is involved). This works as long as the NRF_UICR->APPROTECT ist not enabled. However, as soon as I write 0xFFFFFF00 to NRF_UICR->APPROTECT (and do a reset!), erasing the uicr from the firmware becomes not possible anymore.

Is this the exptected behaviour? I am aware that after setting the UICR.APPROTECT to enabled (0xffffff00) and resetting, the debugger should not be able to modify/write the UICR and that only an ERASEALL will recover the functionality. However I was not expecting that erasing the UICR from inside my firmware will also be blocked.

Note: after enabling AAPPROTECT and before doing the reset, the UICR still can be erased successfully. 


I am also aware of the following table

Please confirm that this indeed the expected behavior. Thank you!

Regards, 

Related