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.

TMS570LS3137: TMS570LS3137 OTP

Part Number: TMS570LS3137
Other Parts Discussed in Thread: UNIFLASH

Hello, 

I have programmed a part of customer OTP memory and I have some other space. If ı program about 4kb space one in the customer OTP, I wonder if the remaining other 4KB can be used for TMS570 series?

For example,

Firstly, 4KB of the OTP is programmed by me.

After that, I want to program other 4KB space, Can I do that?

Best Regards!

  • Hi Ktmn,

    First i want to clarify you that the actual customer OTP sector size is just 4KB not 8KB.

    The Frame size specified is the architectural capability of the technology/IP. i.e., the hardware designs can accommodate up to the frame size as noted; however, the actual size is the size truly implemented in the device. So, for this device the actual size for customer OTP is 4KB.

    And in this 4KB you can program any size of the data depending on the requirement and you can resume the programming again after some time as well.

    But just keep below things in the mind:

    1. If you write to program the customer OTP, make sure you do not unintentionally write to the AJSM locations (0xF0000000-0xF000000F) or you will lock the part. You can write data starting at address 0xF0000010.
    2. The size of customer OTP for each flash bank is 4k.
    3. The Customer OTP cannot be erased.
    --
    Thanks & regards,
    Jagadish.
  • Thank you very much for your reply. Another question I have is:


    Let's say I programmed a portion of the 4KB "Customer-OTP" area. Suppose I program another field afterward. As I understand it, there are error-returning ECCs for OTP fields that work just like the parity bit.

    Can we disable ECCs for the first field after the second field we fill in the 4KB OTP field?

    How can we turn off, delete or ignore the ECCs of the first filled OTP fields if we can't leave them?

    Thanks and regards.

  • I am sorry for my English. To explain exactly, for example, I wrote a data in 1 KB of 4 KB space. Then I wrote another data to 1KB of the remaining 3KB. The first data written will still be there, but I don't want to see the ECC of that data. I hope I was able to explain.

    Another question is, we can open OTP programming via "uniflash", but can we program it via uniflash?

  • Hi Ktmn,

    How can we turn off, delete or ignore the ECCs of the first filled OTP fields if we can't leave them?

    There won't be any separate bit to disable ECC's for OTP region only. We have to disable the ECC for entire flash to disable the ECC verification for OTP fields.

    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.

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

    Another question is, we can open OTP programming via "uniflash", but can we program it via uniflash?

    Can you please refer below thread to understand the OTP programming via "uniflash"

    (+) RM48L952: How to program RM48 OTP areas via uniflash - Arm-based microcontrollers forum - Arm-based microcontrollers - TI E2E support forums

    --

    Thanks & regards,
    Jagadish.