No API to erase UICR on nrf54l15

I followed the recommendation in https://devzone.nordicsemi.com/f/nordic-q-a/124712/compile-error-trying-to-use-nrfx-nvmc-library-with-nrf54l15/550436 to use CONFIG_NRFX_RRAMC. However, nrfx_rramc.h only provides an API to erase both user code and UICR as mentioned:

/**
* @brief Function for erasing the whole RRAM memory.
*
* @note All user code and UICR will be erased.
*/
void nrfx_rramc_all_erase(void);
Is there an API available to erase just the UICR similar to nrfx_nvmc_uicr_erase() in nrfx_nvmc.h?
Parents
  • Hi,

    The UICR can by design not be erased without performing an erase all operation, that also erases the normal RRAM. This is described in the UICR chapter in the datasheet:

    All UICR registers have a RW1 protection, which means that they can be read multiple times, but written only once when UICR has been erased by the Erase All operation.

    Note that the Erase All operation is a special mechanism. Generally, there is no concept of erase in RRAM, as a write can flip bits from both 1 to 0 and 0 to 1, unlike with flash. As the UICR registers are write once, this also prevents "erase".

Reply
  • Hi,

    The UICR can by design not be erased without performing an erase all operation, that also erases the normal RRAM. This is described in the UICR chapter in the datasheet:

    All UICR registers have a RW1 protection, which means that they can be read multiple times, but written only once when UICR has been erased by the Erase All operation.

    Note that the Erase All operation is a special mechanism. Generally, there is no concept of erase in RRAM, as a write can flip bits from both 1 to 0 and 0 to 1, unlike with flash. As the UICR registers are write once, this also prevents "erase".

Children
Related