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:如何在生产中对代码和安全 OTP 进行编程?

Guru**** 2563590 points
Other Parts Discussed in Thread: UNIFLASH

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1273915/tms320f28379d-how-to-program-code-and-security-otp-in-production

器件型号:TMS320F28379D
主题中讨论的其他器件:UNIFLASH

您好!

在生产中对代码和安全设置进行编程的最佳方法是什么? 最佳方法是"一键单击"方法。

我使用了 UniFlash、并尝试执行以下序列:

  1. 闪存 CPU01中的 PRorgam 代码  
  2. 闪存 CPU02中的 PRorgam 代码
  3. CPU01区域1的 PRorgam 安全设置
  4. CPU01区域2的 PRorgam 安全设置
  5. CPU02区域1的 PRorgam 安全设置
  6. CPU02区域2的 PRorgam 安全设置

不幸的是,在[3]之后,当我尝试对区域2进行编程时,出现了错误:

[ ERROR] C28xx_CPU1:连接到目标时发生错误:(ERROR -1156 @ 0x0)器件可能在低功耗模式下运行。 是否要使其退出此模式? 选择"是"以强制唤醒器件、然后重试操作。 选择"否"可在不唤醒器件的情况下重试操作。 (仿真软件包9.10.0.00080)

此致、
Piotr Romaniuk

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Piotr:

    您在步骤3中尝试对哪些安全设置进行编程?  

    谢谢。此致、

    查尔斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Charles:

    我按下下面的按钮:

    已在以下字段中输入所有设置:

    LINKPOINTER =1fff.FFFF、
    CRCLOCK = FFFF.fff0、
    OTPLOCK = FFFF.fff0、
    BOOTCTRL = 0b5a、
    PASSWORD =……
    GRABRAM =……
    GRABSECT =……
    EXEONLYSECT =……
    EXEONLYRAM =……

    JTAG 通常无法连接、这是启用安全的结果。 如果我在加电时设置 BootWait 模式、则可以从该状态恢复、但这不是我的目标。

    在生产环境中、我需要避免连接额外的组件、并对所有安全性以及初始引导加载程序代码进行编程。

    此致、

    Piotr Romaniuk

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Piotr:

    我需要更多的时间来研究这件事、明天就应该回来与您联系。

    谢谢。此致、

    查尔斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Piotr、

    使用 CCS 尝试时是否会出现同样的问题?

    谢谢。

    查尔斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Charles:

    如果没记错、在 CCS 中、我可以在不丢失与 JTAG 连接的情况下对所有内容进行编程。

    不幸的是、CCS 不适合生产:

    1) 1)需要安装大型 CCS 封装、

    2) 2)对所有项目进行编程需要执行多个步骤  

    此致、

    Piotr Romaniuk

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Piotr:

    UniFlash 的默认行为是每次操作后断开。 您可以使用"保持连接"选项在操作之间保持 JTAG 连接。 当设定密码时、只有在您断开连接后设备才会被锁定。 或许设置保持连接选项适合您?
    其他可能是将调试服务器脚本与 CCS 或 UniFlash 命令行结合使用。 但是、我没有关于如何在您的用例中使用这些功能的具体指导。 还需要进一步调查。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Andy、您好!

    您是否可以向我发布屏幕截图、以便我可以设置"保持连接"选项? 它是 GUI 还是应在某个配置文件中设置?  

    您能否向我发送一些有关调试服务器脚本的文档? 它是否以某种方式连接到 GEL 文件?

    此致、

    Piotr Romaniuk

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您可以通过单击右上角的内核名称来切换选项。

    下面是开始 DSS 的位置: https://software-dl.ti.com/ccs/esd/documents/users_guide/sdto_dss_handbook.html
    DSS 公开了可用于控制调试器的 API。  GEL 在调试器内部用于表达式评估和自动执行特定于器件的任务。 您可以将 GEL 视为调试器内的块、将 DSS 视为与调试器对话的 API。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Andy、此选项使 UniFlash 仍处于连接状态。

    DSS 对于测试和生产过程的自动化也很有趣。

    此致、
    Piotr Romaniuk