This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compiler/RM48L952: TI & Customer OTP Region Reading

Part Number: RM48L952

Tool/software: TI C/C++ Compiler

Hello Ti,

I have two questions for the OTP on the RM48 MCU platform.

1)

The correspnding TRM points out that there are sections available where you can read the TI specific information like MCU name, revision, flash bank,its sectors, size and so on. Somehow I am not able to read the data out of this section as it is marked grey in the Memory Browser View during debugging 

Is it an errate in the TRM or is it intended to not read out the data or how can I read this simple information for further evaluation?

2)

When I take a look into the TRM, there are sections which are customer and TI specific for the OTP. When I debug the executable on the MCU (without having written anything on the OTP) and I try to access the OTP regions I see some error activities on the ESM module group 1 (FMC - correctable error: bus1 and bus2 interfaces) and ESM group 3 (FMC - uncorrectable error: bus1 and bus2 interfaces) once I try to read "customer"-specific regions. I assume it is because the OTP memory is not programmed at the moment. Thus, the corresponding ECC is not programmed and the reading from the application results into the errornous behavior as there is a mismatch with the ECC.

Is that assumption correct or why do I get these errors indicated by the ESM module when I perform simple reading on the OTP regions.

  • Hello,

    TI OTP sectors are used to contain manufacturing information. They may be read by the customer but can not be programmed or erased. The TI OTP sectors contain settings used by the Flash API to setup the Flash state machine for erase and program operations. The customer OTP regions are mapped to an offset starting at F0000000h, and TI OTP regions are mapped to 0xF0080000 in the CPU’s memory map.

    Please read 0xF0080158 for the flash bank/sector information. Please refer to 5.4.2 of TRM.

    If flash ECC checking is enabled, reading OTP will generate uncorrectable ECC error since the ECC value in customer OTP ECC region is not programmed.

  • Hello QJ Wang,

    thanks for the feedback. 

    I don't see any valid data content on the memory view browser during debugging when I take a look on the "0xF0080158" address as CCS gives me a warning or error that Memory map prevented me from reading it. This is not affecting the runtime behavior of the program, but it is not possible for me to view the data on its expected place on the memory browser while debugging.

  • Hello,

    1. disable the flash ECC in sys_startup.c by calling _coreDisableFlashEcc_()

    2. execute the code to main()

    3. open the memory browser

    4. type address 0xF0080158

    You will see the valid flash bank/sector information.