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

Maintain UICR CUSTOMER register information

Hi,

We are looking to be able to reflash our devices on the field, as well as do FOTA.
Critical device information (serial number, encryption keys, etc) are stored in the UICR CUSTOMER registers. How can we guarantee that the UICR customer registers are kept intact when we do:

  1.  Device reflashing over SWD port (using SEGGER flasher)
  2. DFU over UART/BLE/Cellular
  3. Development/Debugging sessions (using SEGGER Embedded Studio)

Thanks

Tim

Parents
  • Hello,

    It's not possible to completely "lock" the UICR section from user access, but you can avoid losing the data if you are careful to not erase UICR whenever you're re-programming the chip through the debug interface. DFU should not be problem.

    1. The UICR data will be retained if you use 'sectorerase' and not 'chiperase' when programming the a hex file. The hex file must not contain data in the UICR region either.

    2. Our bootloader does not support uploading of FW images that have data outside of the FLASH memory region.

    3. It's fine as long as your app doesnt include statically linked data in UICR section.

    Best regards,

    Vidar

Reply
  • Hello,

    It's not possible to completely "lock" the UICR section from user access, but you can avoid losing the data if you are careful to not erase UICR whenever you're re-programming the chip through the debug interface. DFU should not be problem.

    1. The UICR data will be retained if you use 'sectorerase' and not 'chiperase' when programming the a hex file. The hex file must not contain data in the UICR region either.

    2. Our bootloader does not support uploading of FW images that have data outside of the FLASH memory region.

    3. It's fine as long as your app doesnt include statically linked data in UICR section.

    Best regards,

    Vidar

Children
No Data
Related