It looks like approtect config related bits are incomplete for nrf52840 with build codes Fxx and after.
nrf52840_hal::pac::uicr::approtect::PALL_A needs an extra variant HW_DISABLED = 0x5A and there is a new APPROTECT.DISABLE register, which needs to be set to SW_DISABLE = 0x5A after every reset to disable approtect until next reset.
The mechanism to enable the debugging port is:
Set UICR.APPROTECT to HW_DISABLED after uicr erase
Set APPROTECT.DISABLE to SW_DISABLE after every reset
It looks like approtect config related bits are incomplete for nrf52840 with build codes Fxx and after.
nrf52840_hal::pac::uicr::approtect::PALL_A
needs an extra variantHW_DISABLED = 0x5A
and there is a new APPROTECT.DISABLE register, which needs to be set toSW_DISABLE = 0x5A
after every reset to disable approtect until next reset.The mechanism to enable the debugging port is:
Reference: https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf52840%2Fdif.html&anchor=debugandtrace