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.

[参考译文] TMS320F280025:如何取消保护器件以重新调试

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1235581/tms320f280025-how-to-unsecure-the-device-to-re-debug

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

大家好、

根据原始主题、

我已配置  LINKPOINTER (LINKPOINTER) ,  CSMPSWD 和  GRABSECT/RAM 通过使用 UNIFLASH 8.3.0.4307

 (I 使用的 ZSB 2 ,0x780 40 )

 ( PSWD0 来自0xFFFFFFF F 到0xFFFFFFF 8 )

 (所有 RAM 和扇区都分配给 Z1 )

完成这些配置后、我可以加载映像、并且无论引导模式配置为什么、都可以使用 Uniflash 来加载器件、从而使器件正常工作 引导至闪存 等待引导模式


然后、我想使用 CCS 重新调试该器件。 我填充了上的 DCSM 配置、 CCS-->调试配置...-->目标-->闪存设置 对于我要调试的工程:

(我仅组装 区域1 因为我想我只是使用这个区域。) 然后我按调试按钮(在 等待引导模式 ),并得到以下错误:

C28xx_CPU1: File Loader: Verification failed: Values at address 0x00A000@Program do not match Please verify target memory and memory map.
C28xx_CPU1: GEL: File: C:\Users\x1092776\workspace_v12\led_ex1_blinky\CPU1_RAM\led_ex1_blinky.out: a data verification error occurred, file load failed.

如何解决?

--

谢谢、此致

耶鲁

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

    更新:

    我使用默认值填充了 ZONE2:

    情况未更改、相同的错误。

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

    ZONE2应使用正确的密码自动填充。 但当您连接到器件时情况并非如此。 您能否点击 CCS 闪存插件 GUI 工具中的 UNLOCK 按钮、并查看 ZONE1和 ZONE2是否均正确解锁?

    此致、

    维维克·辛格

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

    谢谢 Vivek、我修复了它。

    是的,当我在中打开工具-->片上闪存 调试 查看、所有 DCSM OTP 参数均已设置为 自动填充

    (由于上面的错误 I POST、器件无法进入调试模式(调试探针无法连接目标)、因此我将调试会话设置为仅在调试配置中加载符号。)

    我想 Flash Settings-->Security Settings 被用来配置 DCSM OTP、而不是用来与 PSWD 相匹配以解锁。

    什么是 解锁/锁定 用于(CCS 和 UNIFLASH 中的任何内容)的按钮? 仅用于测试和更改链接指针? 因为该器件将在 下一次上电后再次锁定、并且调试 或加载需要复位。


    自动填充后、我使用了正确的 PSWD 来解锁、然后将链接指针移动到下一个 ZSB、保持所有设置状态、从而可以再次调试器件(不安全)。

     这些理解和步骤是否正确?

    而且 在测试过程中、我使用软件工具(CCS 和 Uniflash)遇到了很多错误... 这些用来让我困惑的地方。

    --

    谢谢、此致

    耶鲁

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

    在安全之后、器件无法进行调试、直到解锁并将链接指针移动到下一个 ZSB 并保持默认设置。 我们将此 操作称为"不安全"。

    是这样吗?

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

    您不必将链接指针移至下个 ZSB 即可进行调试。 您可以解锁 ECSL、当单步执行安全代码时、这将启用 CCS 连接、而无需访问安全区域中的内容、或者您可以进行区域解锁、从而提供完全访问。 当用户需要更改安全设置时、使用下一个 ZSB。

    我 在测试过程中遇到许多软件工具(CCS 和 Uniflash)错误... 这些用于真正混淆我。

    你能列出你发现的所有错误吗?

    此致、

    维维克·辛格  

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

    因此  解锁/锁定 执行 ECSL PMF 流程? 根据 TRM、我可以理解 CCS 中的这两个按钮和相应的功能。 但是在 UNIFLASH 中、有什么用呢?

    正如我之前提到的、 仅加载符号 以进行调试。 然后、如果我不执行 解锁 ,调试程序或 CPU 无法运行。 偶数我执行 解锁  可以运行调试器或 CPU,但调用堆栈窗口显示 PC 仍然指向_c_init、似乎没有程序正在执行。

    这就是我将链接指针移至下一个 ZSB 并保持默认设置的原因。 那么这些功能可以正常工作。  

    您能对此进行解释一下吗?

    您能列出您发现的所有错误吗?
    • 在 CCS 中、当我首次将链接指针移动到下一个 ZSB 时、情况没有改变、不管我保持默认设置、更改 PSWD 并分配 sect/RAM。  此错误仍然存在:
    [报价 userid="514648" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1235581/tms320f280025-how-to-unsecure-the-device-to-re-debug "]

    [/报价]

    然后我 继续将链接指针移动到下一个 ZSB、保持默认设置、所有内容都 已恢复、没有错误。

    • 在 UNIFLASH 中、当我在连接 Launchpad 后直接读取目标器件时、每个 ZSB 之前地址的所有内容都是0:

      成功加载映像后、UNIFLASH 可以正确读取所有内容:

    --

    谢谢、此致

    耶鲁

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    正如我前面提到的,我只需 仅加载符号 以进行调试。 然后、如果我不执行 解锁 ,调试程序或 CPU 无法运行。 偶数我执行 解锁  可以运行调试器或 CPU,但调用堆栈窗口显示 PC 仍然指向_c_init、似乎没有程序正在执行。

    在开启安全的情况下运行代码应该不会出现任何问题。 我建议您查看代码、确保您没有在安全存储器区域中分配栈、因为这将无法从非安全区域访问。  

    此致、

    维维克·辛格

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

    感谢 Vivek,非常乐于助人!

    我在测试期间将所有 RAM 分配给了 Z1。(Z1OTP-GRABRAM (0x5F01C) (32位) 0x0000 5500)(事实上、整个 sect 也分配给了 Z1。)

    我想这就是原因。

    再次感谢。

    耶鲁