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

UICR Erase when the Battery is disconnected of the device

Hi,

We encountered a problem if we take off the battery during functionning.

The UICR Register is completly erase when we put back the battery.

The issue is with lost our adress for the bootloader, so our device is completly broke.

Have you any idea about this problem.

The issue are encountered with NRF52840 and S140.

We use the same application with NRF52832 and S132 and we have no erase on UICR.

Thanks,

Julien Ferrer

Parents
  • Hi Julien,

    This is certainly not expected behavior. Is there anything in your application code that uses the NVMC-> ERASEUICR task? Also, does this always happen after you re-insert the battery, or does it occur more intermittently?

    And unlike on the 52832, it's not possible to only erase the UICR after readback protection is enabled (ERASEUICR task is blocked):  Access port protection behavior

    Best regards,

    Vidar

  • Hi,

    Yes, at the start we are erasing the UICR to rewrite data. The problem came from our pcb design where at the startup the power supply takes time to stabilize, and go below the brown-out voltage during this operation.

    I tried to use the POFCON register to prevent from writing the NVMC if voltage is to low, but my devies stay blocked in a loop. Maybe i need to read an event or something like that ?

    So my solution is to put a delay at the start, in order to let time from the power supply to be stabilized.

    Thanks,  

Reply
  • Hi,

    Yes, at the start we are erasing the UICR to rewrite data. The problem came from our pcb design where at the startup the power supply takes time to stabilize, and go below the brown-out voltage during this operation.

    I tried to use the POFCON register to prevent from writing the NVMC if voltage is to low, but my devies stay blocked in a loop. Maybe i need to read an event or something like that ?

    So my solution is to put a delay at the start, in order to let time from the power supply to be stabilized.

    Thanks,  

Children
Related