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.

[参考译文] CODECOMPOSER:针对 DCSM 锁定芯片的自动刷写过程

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1362019/codecomposer-automatic-flashing-procedure-for-dcsm-locked-chip

器件型号:CODECOMPOSER
Thread 中讨论的其他器件:TMS320F2837

您好! 我正在尝试设置一个自动测试环境 、此环境需要一个 自动将新软件刷入目标(TMS320F2837)的过程。  是否有办法自动刷写 DCSM 锁定的芯片?

我已经尝试使用 dss 工具 loadti 通过 GEL 函数调用解锁芯片(与在 CCS 中调试时的过程类似)、但到目前为止没成功。 这应该起作用吗?

祝你一切顺利

Ricky

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

    尊敬的 Ricky:

    要解锁 DCSM、需要执行两个步骤:

    • 执行 CSM 密码的虚拟读取。 这会将存储在 OTP 中的 CSM 密码加载到 CPU 无法访问的寄存器中
    • 在 CSM 密钥寄存器中对 CSM 密码进行编程。

    我不熟悉 loadti、但只要你执行上述步骤、DCSM 就会解锁。

    请注意、如果已在 OTP 的 CSM 密码字段中编程了任何自定义密码、器件复位将重新锁定 DCSM 区域。

    谢谢!

    Luke

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

    尊敬的 Luke:

    感谢您的快速回复。

    对我来说、当与在 CCS 中启动调试会话时执行的过程进行比较时、在 loadti 中执行的加载过程(关于 GEL 调用)看起来是相同的。 请分别参阅下面 CCS 和 loadti 的调试输出。 请注意、CCS 的最后两个调试行在成功加载程序后输出。

    从调试服务器脚本调用 GEL 函数时、是否需要特别注意事项?

    此致
    Ricky

    --- 通过 CCS 加载时的调试输出-------

    C28xx_CPU1:GEL 输出:onTargetConnect ()
    C28xx_CPU1:GEL 输出:ECSLUnlock ()
    C28xx_CPU1:GEL 输出:内存映射初始化完成
    C28xx_CPU1:GEL 输出:OnReset ()
    C28xx_CPU1:GEL 输出:DCSMUnlock ()
    C28xx_CPU1:GEL 输出:OnReset ()
    C28xx_CPU1:GEL 输出:DCSMUnlock ()
    C28xx_CPU1:GEL 输出:OnReset ()
    C28xx_CPU1:GEL 输出:DCSMUnlock ()
    C28xx_CPU1:GEL 输出:onRestart ()
    C28xx_CPU1:GEL 输出:ECSLUnlock ()


    --- 尝试通过 LOADTI 实用程序加载时的调试输出---

    .\loadti.bat -a -c .ccxml .out

    ***** DSS 通用加载程序*****

    开始时间:09:35:03 GMT+0200 (CEST)

    正在为指定的目标配置调试服务器...
    停止更新的
    目标:德州仪器(TI) XDS2xx USB 调试 Probe_0
    正在连接到目标...
    C28xx_CPU1:GEL 输出:onTargetConnect ()
    C28xx_CPU1:GEL 输出:ECSLUnlock ()
    C28xx_CPU1:GEL 输出:内存映射初始化完成
    C28xx_CPU1:GEL 输出:OnReset ()
    C28xx_CPU1:GEL 输出:DCSMUnlock ()

    testEnv.outFiles: .out
    。 .out
    C28xx_CPU1:GEL 输出:OnReset ()
    C28xx_CPU1:GEL 输出:DCSMUnlock ()
    C28xx_CPU1:GEL 输出:OnReset ()
    C28xx_CPU1:GEL 输出:DCSMUnlock ()

    C28xx_CPU1:警告:复位后解锁器件(区域1)失败。
    严重:C28xx_CPU1:闪存编程器:擦除扇区 A 时出错。FMSTAT 值= 1040。 操作已取消(0)。
    严重:C28xx_CPU1:文件加载程序:内存写入失败:未知错误
    严重:C28xx_CPU1:GEL:文件: .out:加载失败。
    严重:文件: .out:加载失败。
    严重:加载时出错" .out":文件: .out:加载失败。
    错误代码#4011、 .OUT 加载失败!
    正在中止!

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

    嘿、Ricky、

    如果已对客户 DCSM 密码进行编程、则可能需要编辑 GEL 文件、特别是 DCSMUnlock()函数的内容以成功解锁器件。

    当您向 DCSMUnlock ()函数提供了自定义密码后,请告诉我此功能是否有效。

    谢谢!

    Luke

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

    尊敬的 Luke:

    DCSMUnlock()函数已包含自定义 DCSM 密码、并在通过 CCS 调试时、但在尝试使用 loadti 进行刷写时、设法在刷写之前解锁器件。 在 CCS 和 loadti 中使用相同的 GEL 文件(通过配置文件参数-c 到 loadti)。  

    此致
    Ricky

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

    尊敬的 Ricky:

    我咨询过其他可能熟悉 loadti 的安全专家。 在我收到回复后、我会立即通知您。

    谢谢!

    Luke

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

    尊敬的 Luke:

    感谢您发送编修。 我将等待您的答复。

    祝你一切顺利
    Ricky

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

    嘿、Ricky、

    您能否确认以下信息?

    • 在 CCS 和 loadti 之间使用相同的 ccxml 文件
    • 正在使用的 loadti 版本是随正在使用的 CCS 版本提供的版本

    谢谢!

    Luke

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

    尊敬的 Luke:

    我可以确认:
    *在 CCS 和 loadti 中使用相同的 ccxml 文件。
    *我将使用 CCS v9.3并从 CCS 安装目录(即 C:\ti\ccs930\ccs\ccs_base\scripting\examples\loadti\loadti.bat)执行 loadti

    谢谢
    Ricky

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

    尊敬的 Ricky:

    您是否可以从最新版本的 CCS (版本12.7)尝试 loadti 工具?

    谢谢!

    Luke

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

    尊敬的 Luke:

    我安装了 CCS v12.7.1、但很抱歉地报告使用该安装中包含的 loadti 工具得到了完全相同的行为。

    有什么其他想法可能是罪魁祸首?

    此致
    Ricky

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

    嘿、Ricky、

    您能否发送 GEL 文件?

    谢谢!

    Luke

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

    尊敬的 Luke:

    您是否有我可以发送给您的电子邮件地址(或其他私人论坛)? 我不希望在此线程中公开披露我们的 GEL 文件(即使在隐藏 CSM 密钥之后)。

    谢谢!
    Ricky

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

    您好、Ricky、是的、您可以将其发送至 l-jones2@ti.com

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

    尊敬的 Luke:

    非常感谢。 我已经通过电子邮件向您发送 GEL 文件。

    此致
    Ricky

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

    谢谢 Ricky、一旦我在我身边进行了测试、我就会让您知道。

    ——路加

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

    非常感谢。 非常感谢!

    Ricky

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

    嘿、Ricky、

    我可以在没有自定义 CSM 密码的新器件上运行 loadti.bat、因此在对自定义 CSM 密码进行编程时似乎会出现问题。 明天我将尝试使用自定义密码进行测试。

    谢谢!

    Luke

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

    尊敬的 Luke:

    感谢您提供的信息和持续的支持。

    此致
    Ricky

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

    Luke、您好!

    您是否有关于此问题的任何更新? 或者、是否完全可以将 loadti 与自定义 CSM 密码一起使用? 否则、我可能不得不从头开始编写自己的闪存程序。

    谢谢!

    Ricky

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

    尊敬的 Ricky:

    我无法确定导致此问题的原因。 这看起来不像是 loadti 的预期用例、因此使用自定义密码可能无法实现。

    谢谢!

    Luke

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

    尊敬的 Luke:

    感谢您的努力。 我将使用闪存 API 编写我自己的闪存程序。

    此致
    Ricky