TMS320F28379D: How to "undo" OTP programming

Part Number: TMS320F28379D
Other Parts Discussed in Thread: UNIFLASH

Tool/software:

Hi,

I accidently programmed with incorrect hex file where OTP memory is burned. I use code protection zones, bootctrl and password-lock etc.
I would like to change OTP or OTP-ECC so that CPU will behave like it was not programmed. Just it ignores the settings.

Is it possible to use mismatch between OTP and OTP-ECC to achieve the goal? How to do this in CCS or Uniflash?

I know that I can change LINKPOINTERS to make block section ignored. How are treated other registers were OTP-ECC is incorrect.

Regards,

Piotr Romaniuk

  • Hi 

    little update from my experiments:

    1. When I changed LINKPOINTERS (1FFF.FFFF -> 1FFF.FFFE) all settings like passwords, zone intities configuration are changed to unprogrammed state (this is due to changing OTP block by new linkpointers)
    2. By changing high 16bits in BOOTCTRL register I can obtain desired value of BootMode and BKey and still have correct ECC in the corresponding OTP
    3. Passwords in old block (no longer pointed by LINKPOINTERS) can be altered by programing some zeros in positions of ones.

    I have some doubts to step [3].
    Can I program in the unused block such bits that their ECCs will be incorrect without any consequences in cpu and jtag work?
    I recall that sometimes CCS complained about OTP checksum mismatch.

    Regards,
    Piotr Romaniuk

  • Hi Piotr,

    You should be able to do this as long as you have disabled the "verify" option in the CCS On-Chip flash tool.

    Thank you,

    Luke