This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

NRF_UICR->CUSTOMER read/write on 52832

Hello,
I'm trying to port my code (working in production) from 52811 to 52832.

I have several crashes on a piece of code at the start of my application that check the NRF_UICR, and based on the value does something then erases it.

When I say crash, it restarts the application, without entering app_error_fault_handler 

// Check first two bytes of NRF_UICR->CUSTOMER
if ( NRF_UICR->CUSTOMER[0] != 0x0 || NRF_UICR->CUSTOMER[1] != 0x0 ) {
    
    // Read NRF_UICR->CUSTOMER[i], i from 0 to 8
    (...)
    
    //Erase first two bytes of NRF_UICR->CUSTOMER
    NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
    NRF_UICR->CUSTOMER[0] = 0x0;
    NRF_UICR->CUSTOMER[1] = 0x0;
    NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
}
 

What could be different between 52811 and 52832 on this matter ?

Best regards,
Quentin

Related