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.

TMS320F28377S: Update LINKPOINTER to change password in OTP memory (DCSM)

Part Number: TMS320F28377S
Other Parts Discussed in Thread: UNIFLASH, SYSCONFIG

We have updated the password and memory zoning configurations 4 time by changing LinkPointer value from 0xFFFFFFFF > 0xFFFFFFFE > 0xFFFFFFFC > 0xFFFFFFF8. 

After this when i want to update it one more time to change password again by setting LinkPointer value 0xFFFFFFF0, it give following error. Even if i try next further address 0xFFFFFFE0, still get the same error.

[12/20/2022, 5:55:06 PM] [ERROR] C28xx_CPU1: Error during Flash programming (Flash algorithm returned error code). FMSTAT (STATCMD on some devices) value = 48. Operation Cancelled (0).
[12/20/2022, 5:55:06 PM] [ERROR] C28xx_CPU1: Please make sure the memory location you are programming have not already been programmed.
[12/20/2022, 5:55:06 PM] [ERROR] C28xx_CPU1: Error encountered during security operation. Operation Cancelled.

I need Help to change LinkPointer Value so that I can be able to change the password in OTP memory again.

  • Hi Asad,

    It's possible your password does not match up with the password mask, which changes depending on the value of your linkpointer. I will look into this later this later today to see anything else that  may be the issue.

    Thank you,

    Luke

  • Asad,

             Did you encounter this error on more than one device?

  • Hi Asad,

    Could you try programming your linkpointer to 0x1FFFFFF0? The first 3 bits of your linkpointer are listed as don't care bits in the TRM, it's possible one of these bits could've been programmed to a 0 after ECC translation, and you are attempting to program them back to a 1 with a linkpointer of 0xFFFFFFF0. The SysConfig DCSM tool forces your linkpointer to program these 3 bits to 0 when you update your linkpointer, I am not sure if this error check exists for uniflash.

  • Tried with suggested value 0x1FFFFFF0 and still get the same error. Moreover password seems okay as I see it in the memory and I am able to reprogram the flash memory with new image in UniFlash.

        

  • Yes. We are getting same issue on two chips.

  • Asad, the FMSTAT error means you are attempting to write a '1' to a bit in OTP that has already been programmed to a '0'. I would compare the contents of your ZONE1 and ZONE2 OTP in your memory browser with the values you are attempting to write in your .out file.

  • Yes, this seems reasonable explanation because when I changes password for Zone2 many time, it let me change it. this concludes 1) The passwords and memory zoning can be configured 30 times for each zone (zone1 and zone2) as defined in the TRM.

    Q1- My question is there a way to solve this issue when someone might have accidently set the bits to zero but DOES know the correct password. Can't he reconfigure the LinkPointer?

    Q2- Accidently I set the Z2_GRABRAMR = 0xFFFFFFFC; which sets "LS0 RAM is inaccessible". Now I am unable to read memory, re-flash the memory, unlock the zone etc, with correct password either. It seems completely locked now. Is there a way to unlock it, again I know the password but it isn't working and gives following error upon an attempt to anything. Although it says power issue but there isn't any power issue and rechecked and ensured.

  • Hey Asad,

    With regards to question 1, all bits in the linkpointer are one-time programmable, meaning you can only reconfigure the linkpointer by setting the least significant bit that is a '1' to a '0'. You should be able to do this by first unlocking the device and then re-programming the linkpointer. I believe you should be able to see the current value of your linkpointer after unlocking the device as well.

    I will try to get back to you by tomorrow on question 2, I think I have seen this issue before but I'm not sure of the exact cause.

  • Hi Asad,

    Just to sanity check, were you unlocking your device before attempting to update your linkpointer? I noticed in the one of the screenshots you previously sent, all of your security settings are all 0s except for you passwords, indicating that the zone was still locked. You must unlock the zone before updating the linkpointer.

    I doubt the value of Z2_GRABRAMR is related to the power issue. Have you changed any of the JTAGLOCK or JTAGPSWD settings? Could you try launching your target configuration in CCS and selecting the Test Connection option to make sure your JTAG connector is not the issue?