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.

CCS/TMS320F28379D: Permanent Unlock Failure

Part Number: TMS320F28379D

Tool/software: Code Composer Studio

Greetings,

 

I have developed a process which we are using to unlock locked devices and to make that unlocking “permanent”. The unlocking seems to be working consistently. And the process of permanently unlocking the device has worked well until now. In this case, when I do the last step, clicking the “Program LINKPOINTER” button, the tool gives me the following console output, and the following dialog box.

 

C28xx_CPU1: Performing Security Operation...

C28xx_CPU1: Programming LINKPOINTER registers...

C28xx_CPU1: Error during Flash programming (Flash algorithm returned error code). FMSTAT value = 4112. Operation Cancelled (0).

C28xx_CPU1: Please make sure the memory location you are programming have not already been programmed.

C28xx_CPU1: Error encountered during security operation. Operation Cancelled.

 

The steps I take are to:

  1. Unlock the device.
  2. Click Tools->On-Chip Flash
  3. Add the appropriate passwords to Z1-CSMPSWD0 (0x5F010)(32 BITS) 0x” and Z1-CSMPSWD0 (0x5F012)(32 BITS) 0x”.
  4. Click the “Program Password” button.
  5. In the Zone 1 LINKPOINTER settings, the three values are changed from FFFFFFFF to FFFFFFFE.
  6. Click the “Program LINKPOINTER” button.

 

What step am I missing?

 

Thank you,

 

Ed

  • Hi Ed,

    May I know which version of CCS you are using?

    Please refer to additional actions explained in the following thread in case you are using CCSv9.3. 

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/896997 .

    Thanks & Regards

    Pramod

     

  • Hi Parmod,

    We are using CCS 9.1.0.

    Ed

  • Hi Sanders,

    In your steps, you are first programming the password and then changing the link pointer. Though there is no issue with what you are trying to do, I am just trying to understand what is your intent here.

    After programming the password, can you issue the debug reset (click reset icon on CCS) and then try to program the link pointer.  If you still have same issue, it may be better to switch to latest CCS version if possible.

    Regards,

    Vivek Singh

  • Hi Vivek,

    We tried a different workstation, and it was able to do it.

    But your response implies that it is non-standard to program the passwords, and then the link pointers.  To answer your question, I am simply following the procedure which had been created.  There is no stated reason for the specific order.  What is the advantage of programming the link pointers first and then the passwords?

    Thanks,

    Ed

  • Hi Ed,

    Good to know it's working on different workstation. Does it has different CCS version ?

    About programming of link-pointer and password, passwords are associated with link-pointers. On fresh device default link-pointer has Zone Select Block zero where all the security setting including password can be programmed. Now if you want to change the security settings again then you need to change the link pointer to choose different Zone Select Block and then program new security settings in that zone select block. So basically every time you want to change the security settings, you need to program new link pointer value and then program the new security settings.

    Regards,

    Vivek Singh

  • Hi Vivek,

    We are all using CCS 9.1.0.

    In this case, we are not establishing new security settings.  We are simply "permanently" unlocking the device.  So the password does not change.  I believe the idea was that, in order to program the link pointers, we first needed to establish the passwords.  That would effectively open the door to changing the link pointers.  But the other order implies that we should set everything up first, and then apply the password to make the new setting effective.  Is this perception correct?

    But given the fact that the device is already unlocked by our gel script which supplied the passwords, do we still need to use the passwords to program the link pointers?

    Thanks,

    Ed

  • Hi Ed,

    On this device, device comes up unlock by default. So unless you have programmed the password (and other security settings) it remains unlocked. 

     But given the fact that the device is already unlocked by our gel script which supplied the passwords, do we still need to use the passwords to program the link pointers?

    Plug-in always unlocks the zone using the password values in GUI filed before flash operation so yes, you need to provide the password in flash plug-in GUI field.

    Regards,

    Vivek Singh

  • Hi Vivek,

    OK.  So going back to your original observation (programming the password first), is the preferred process to first setup the desired changes in the GUI and then apply the password to make it all happen?

    Thanks,

    Ed

  • Hi Ed,

     OK.  So going back to your original observation (programming the password first), is the preferred process to first setup the desired changes in the GUI and then apply the password to make it all happen?

    In this case you don't have to program the password because it has been already programmed. You just need to enter the correct password value which has been already programmed in GUI field 

    Regards,

    Vivek Singh

  • OK.  The next time we need to do this, I will give it a try.  Thank you for your help Vivek.

    Ed