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.

TMS320F28386D: Unable to set full DCSM security configuration using Uniflash tool

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

Tool/software:

My attempts to secure my device by configuring the DCSM using the Uniflash tool are failing and rendering my device inoperable.

The configuration basically consists in setting

  • Final zone select block
    • Zx-LINKPOINTER = 0x0 (final security configuration)
  • C1 flash sectors 0, 1, 2, 3 and 4 to be in zone 1. I'm in boot from flash mode (default boot at 0x80000) and this is where the system boots from 
  • CM flash sectors 0, 1, 2, 3 and 4 to be in zone 1. CM also boots from flash in these sectors (0x200000) after C1 releases it.
  • All other flash sectors unsecured
  • All other memories unsecured
  • Disable unlocking of JTAG, CSM1, CMS2
    • Z1JTAGPSWDH and Z1JTAGPSWDL = 0x0 (disable JTAG password)
    • JTAGLOCK (Z1OTP_JLM_ENABLE w) = 0xFFFF0000 (enable JTAG Lock module)
    • Disable unlocking of CSM1 (CSM1 password is all zeros)
    • Disable unlocking of CSM2 (CMS2 password is all zeros)
    • Z1-PSWDLOCK = 0xFB7FFFF0
    • Z2-PSWDLOCK = 0x1F7FFFF0

To apply these settings, I tried

  • setting the configuration by hitting "Program Zone 2" followed by "Program Zone 1" but that didn't work. "Program Zone 2" failed midsequence leaving my device in a unJTAGable state. 
  • creating a Standalone CLI with my settings and applying that to a fresh device. The device was flashed with the images specified but none of the security settings were applied.
  • creating a Standalone CLI with my settings only and applying that to a fresh device but nothing happened and I got a message saying that there was nothing to do.x

Am I using the correct tools to do what I'm trying to do?

Thanks,

Benjamin

  • Attaching my uniflash session settings

    full_flash_secure.zip

  • Hi,

    Our expert is out of office until early January. Please expect a delayed response.

    Best Regards,

    Ben Collier

  • Hi B. Collier,

    Would you know if I'm at least right in expecting that the tool would do what I'm expecting it to do?

  • Hi Benjamin,

    I would recommend creating your desired security configuration in SysConfig under the "DCSM" menu and embedding the security settings in the generated .out file. I'm not sure if the DCSM OTP values specified in the Uniflash GUI can be transferred to the CLI tool. We can have a call to walk through this if necessary.

    Thank you,

    Luke

  • Hi Luke,

    Are we sure about this?

    The Uniflash UI has an option for including the setting in the CLI.


    The dslite help also states that the -l option is used to apply the settings generated by the Uniflash GUI.

    Finally. the quick start guide (https://software-dl.ti.com/ccs/esd/uniflash/docs/v5_0/quick_start_guide/uniflash_quick_start_guide.html) states that the dslite CLI will automatically use the generated.ufsettings to configure the device.



    Are we missing something?

    Thanks for helping me with this Luke

  • Hi Benjamin,

    You're correct that the GUI settings can be included in the ufsettings file, however the GUI options for configuring OTP are for one-time programming initiated by clicking one of the "Program" buttons. I'm not sure how this translates to to programming OTP via the .out file provided to the CLI tool, it's possible there is no implementation for programming the OTP settings in the CLI tool using the values provided in the GUI.

    Thank you,

    Luke

  • The CLI tool takes in a .out file and a .ufsettings file so it *should* have all that information

    The ufsettings file generated by Uniflash contains all the OTP settings and isn't consumable by the Uniflash GUI tool, is it?

    ufsettings attached: ufsettings.zip

  • Hey Benjamin,

    Thanks for pointing out that the ufsettings file contains the OTP settings. I still believe it's possible the CLI tool does not use these settings since the GUI tool only makes use of these settings when the user hits the "Program" button associated with each OTP setting. For other settings such as enabling/disabling device reset before programming operations, it is not necessary for the user to select a second "Program" option so I expect no issue with these settings getting incorporated in the CLI tool.

    If it's true that the CLI tool does not incorporate the specified OTP values when programming then you will need to include the OTP settings in your .out file.

    Thank you,

    Luke

  • I'll loop in our Uniflash expert to confirm whether the CLI tool automatically programs OTP settings.

  • Hey Ben,

    Closing this thread since this debug has moved to email / webex.

    Thank you,

    Luke