nRF52832的UICR
UICR(User information configuration registers)是保存用户特殊设置的非易失存储寄存器(NVM:Non-volatile memory),UICR与Flash的不同的是只有通过全片擦除后才能重新写入,不能单独擦除。
- UICR寄存器组:
- NRFFW[14:0]:为Nordic固件保留,与DFU的设计有关。
- NRFHW[11:0]:为Nordic硬件件保留。
- CUSTOMER[31:0]:为用户保留。
- PSELRESET[1:0]:选择nReset连接的引脚位置(并不是所有引脚都支持),两个寄存器值必须一致nReset才有效,否则没有nReset引脚。
- APPROTECT:使能或禁止Access Port 保护功能。
- NFCPINS:设置NFC引脚为GPIO还是NFC。
nRESET和NFC PIN
默认在system_nrf52.c
中通过宏CONFIG_NFCT_PINS_AS_GPIOS
和CONFIG_GPIO_AS_PINRESET
控制打开或关闭nRESET和NFC PIN的功能。在擦除和烧写后的首次程序运行的时候,SystemInit()
函数根据宏定义设置会先根据宏定义写UICR寄存器。
Bootloader
在Bootloader的程序中NRF_UICR->NRFFW[0]
储存的是Bootloader的地址。