Reading UICR

Hello,

is it possible to read UICR at address FF8000 from a non secure application for nrf(160.

If yes, can you provide sample code and CONFIG to enable in prj.conf.

Best Regards

Parents Reply
  • Marbro1965 said:

    is that enough to write

    CONFIG_TFM_PARTITION_PLATFORM=y
    in prj.conf and call

    uint32_t 
    secure_read_word(intptr_t ptr)

    As mentioned in the post I linked to, you would also need to modify the tfm_read_ranges.h

    Marbro1965 said:
    Can you please tell me how call for address 0x00FF8000?

    This is the APPROTECT register.

    Could you explain what you are trying to achieve ?

Children
  • Hello Sigurd.

    I was using 2.7.0 and moved to 2.9.0 because in the site somewhere (I will look for this quote later and attach) it was written it was easier to read ucir without modifying tfm_read_ranges.h

    My client wants to save some data unique for every board in production.

    They must be read only.

    They must be programmed using nrfjprog as I mentioned before 

    Best

  • As I promised, this is a quote from Ask AI.

    You mentioned that since 2.8.0 it is easier to read UICR register in nrf9160
    Yes, that's correct. According to the nRF Connect SDK v2.8.0 Release Notes, there has been an improvement in reading UICR registers for Trusted Firmware-M (TF-M). Specifically:
    • A possibility to read UICR.OTP registers through platform services has been added.
    • The TF-M version has been updated to v2.1.0.
    This change makes it easier to access UICR (User Information Configuration Registers) OTP (One-Time Programmable) registers in the nRF9160.
    This improvement should simplify the process of reading these registers during runtime for applications using the nRF9160.
Related