admin管理员组

文章数量:1550691

nRF82532使用JLink调试时频繁提示CTRL-AP indicate that the device is secured.

因工作需要使用nRF52 DK开发板做蓝牙开发,下载程序测试时频繁提示CTRL-AP indicate that the device is secured.

如果选择“Yes”就会擦除内部flash的大部分内容,选择否则无法下载。这是在调试nRF82532时经常遇到的提示,这是芯片对外部访问的一种保护手段,现在告诉大家如何禁用这种提示,当然在你的程序调试完毕,准备发布时把这个功能可以继续开启。

  1. 使用最新版本Keil 5.38a,下载地址,注册后可下载最新版。最新版的Keil我采用了覆盖式安装(之前版本5.33),再更新Nordic…pack包后,会在Keil下面的Device上有感叹号警告,这个可以在该文件上点击右键,选择update,从低版本更新到高版本的pack即可消除警告,不管警告直接下载的程序用RTT Viewer看不到打印的日志。
  2. NordicSemiconductor.nRF_DeviceFamilyPack.8.45.0.pack使用8.45.0以后的版本,之前的版本不支持通过软件禁用APPROTECT,下载地址可通过的链接直接直达,如果去keil的官网下载不到最新的pack,截止2023.3.23Keil官网最新的NordicSemiconductor.nRF_DeviceFamilyPack版本为8.44.1。
  3. 在main函数内增加一个函数即可,在main内首先执行这个函数。需要再次开启APPROTECT时把该函数禁用即可。
void approtect_hw_disable(void)
{
    if ((NRF_UICR->APPROTECT & UICR_APPROTECT_PALL_Msk) 
       == (UICR_APPROTECT_PALL_Msk))
    {
        NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen << NVMC_CONFIG_WEN_Pos;
        while (NRF_NVMC->READY == NVMC_READY_READY_Busy) {}
        NRF_UICR->APPROTECT = (UICR_APPROTECT_PALL_HwDisabled << UICR_APPROTECT_PALL_Pos);
        while (NRF_NVMC->READY == NVMC_READY_READY_Busy) {}
        NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren << NVMC_CONFIG_WEN_Pos;
        while (NRF_NVMC->READY == NVMC_READY_READY_Busy) {}
        NVIC_SystemReset();
    }  
}

经过3个步骤的操作,给nRF52832断电复位,就不会再提示需要CTRL-AP indicate that the device is secured…此时已经禁用了APPROTECT。
我的工程使用的pack如下:
切换Pack版本可以再这个界面进行。入口在
另外如果你跟着网站进行操作,发现没法下载了,断电重启电路板和仿真器都不管用,可以在cmd下输入下面这行命令就可以继续下载了,提取安装好nRF Command Tools。

nrfjprog --recover

本文标签: APPROTECT