Hello
SDK17.0.02
softdevice : s112
tool : segger embedded studio
DFU is under development.
Updating with DFU works normally, but some functions do not work.
The problem is P0.21.
P0.21 is connected to CS Pin of SPI.
The CONFIG_GPIO_AS_PINRESET setting has been deleted to operate as a gpio pin.
However, in dfu mode, it works as a reset pin.
Just download myapp.hex + softdivce and it will work normally. ( gpio pin)
However, if you download bootloader + bootloader_setting.hex + myapp.hex+softdevice by megre, it does not work. (reset pin
Even if you write directly to the register as shown below, it does not work the same.
void ResetPin_Flash_Wrtie(void)
{
NRF_UICR_Type tmp = {0,};
memcpy(&tmp, NRF_UICR, sizeof(NRF_UICR_Type));
NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Een << NVMC_CONFIG_WEN_Pos;
while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
NRF_NVMC->ERASEUICR = NVMC_ERASEUICR_ERASEUICR_Erase << NVMC_ERASEUICR_ERASEUICR_Pos;
while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen << NVMC_CONFIG_WEN_Pos;
while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
tmp.PSELRESET[0] = 0xffffffff;
tmp.PSELRESET[1] = 0xffffffff;
memcpy(NRF_UICR, &tmp, sizeof(NRF_UICR_Type));
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){}
}
log file reset pin UICR Setting Value [FFFFFFFF] [FFFFFFFF]
It's changed in the log, but it doesn't really work.
please check.