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.

TMS320F28379D: Code Security Module usage

Part Number: TMS320F28379D


I have read SPRUHM8G TRM and more specifically section 2.13.  However, I am not getting the expected result.

Goal: In our use case, I don't want to secure the contents of flash , and RAM.  However, I do want that something (JTAG, C2prog.. or any other tool) from outside is unable to access the code.

It is my understanding that ECSL locking would achieve that goal.

So this is what I did:

I programmed a 64 bit pass word at location 0x78028 and left everything else untouched.  Using this methodology , I am still able to connect using the JTAG and CCS. However,  I do get a message "C28xx_CPU1: Warning: Failed unlocking device (zone 1) after reset." but this seems to have no effect on CCS's ability to connect to the target system.

Can you please elaborate or describe the steps I need to take in order to achieve the above mentioned goal.

Thanks

  • Anil,

    It is Thanksgiving week in US. Most of the TI engineers are on vacation. Please expect delay in response.

    I would realistically expect a response back from TI early next week.

    Regards,
    Manoj
  • Anil,

    Goal: In our use case, I don't want to secure the contents of flash , and RAM.  However, I do want that something (JTAG, C2prog.. or any other tool) from outside is unable to access the code.

    On this device security logic applies to RAM and Flash which are secure. So ECSL will only protect access to secure RAM and FLASH from JTAG. If there is no secure RAM and Flash then it's don't care hence you are seeing no impact of this.

    Regards,

    Vivek Singh

  • Thanks... I will secure the flash and ram and try it out.  I will close this once the solution works.

  • Hi Vivek,
    I have more issues using the CCS debugger. After securing all of the flash & ram, i get limited capability.

    1. I have put the TI bootloader in the Wait state as suggested in TRM.
    2. I add the password in CCS debugger profile.

    After the device unlocks, I can successfully download another project or the same project. But another use case is to debug the existing code residing in the flash. However, If I try to load symbols only, the debugger fails to attach. Any clues?
  • Anil,

    You can only debug the code after unlocking the device else content will not be visible and also if CPU halts when PC points to secure memory, CCS will disconnect. You could disable the ECSL by updating 64bit password only. This will enable the CCS connection but still you'll not be able to see the content in secure memory.

    Regards,
    Vivek Singh
  • I am not 100% clear on your answer.  Let us take a use case:

    In the debugger I have programmed the password as follows:

    I have secured all of the flash & ram by using: GRABRAM  = 0x0x01005555 & GRABSECT = 0x05555555

    I have place TI boot loader into WAIT mode by setting GPIO72 & 84.

    The above settings should unlock all memories since I didn't program CSMPSWD2 & D3.  I think it is working since I can download new code on top of the old code.  But I can't simply load the symbols only for the code already resident and debug it.  What am I missing?

    Thanks,

  • Hi Vivek,
    Please ignore my earlier post. I think I got it. I was programming the password and the GRABRAM & GRABSECT through the debug configuration settings in CCS. I noticed that there is "On-Chip Flash" option under Tools and one can "UNLOCK" the device when the debugger is in WAIT mode.

    From there "RESTART" option allows me to continue.