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.

[参考译文] TMS320F28075:带有 DCSM 的芯片、未手动解密、程序刻录失败、单击"持续刷新"多次时未对闪存内容加密。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1283697/tms320f28075-chip-w-dcsm-not-manually-decrypted-program-burning-failed-flash-content-not-encrypted-when-clicking-continuous-refresh-multiple-times

器件型号:TMS320F28075

您好、专家!

我要求为我的客户提供服务。

他们在 F28075上开发 DCSM。

1.客户 在 CSMKEY (0/1)中使用正确的64位密码来保护其代码 CsmUnlock()中的 JTAG 连接目标内核的安全,如下所示。

当用密码加电 F28075时、代码将运行  CSMKEY (0/1)密码、然后我们就可以使用 XDS100调试器连接 F28075。 此时、我们检查闪存上下文都是0x00、芯片已锁定。

但当我们点击"Memory Browser"→"Continuous Refresh"按钮时、此时我们将程序加载到芯片中、系统会报告失败并注意"Retry with a AET breakpoint"。  我们对因芯片本身已锁定而无法通过 CCS 下载代码/程序的原因并不奇怪。 但我们再次用存储器浏览器查看闪存内容 、发现芯片处于解锁状态。 我们检查 项目属性//片 上闪存插件 GUI 和代码中是否没有给出解锁密码。  是否有任何操作可以在 CCS 本身中对代码进行解密并进行连续刷新?

CCS  重启、芯片重启、与上述操作相同、但我们没有  点击"Memory Browser"→"Continuous Refresh"按钮、  而此时我们将程序加载到芯片、系统会报告"Load Failed"并提示"Load Failed"、  然后通过存储器浏览器再次检查闪存内容、发现芯片已按预期锁定。  持续刷新是否会导致芯片未分块? 任何建议/目录?

谢谢。

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

    绍兴市

               我希望确保我正确理解问题。 以下内容是否正确?  

    使用128位密码保护器件(请注意、CSMKEY0/1是128位密码的一部分)。

    但我们再次使用存储器浏览器检查了闪存内容 ,发现芯片已解锁。

    您是否说的仅仅是对存储器浏览器执行"持续刷新"即可解锁器件、使您能够访问闪存?

    是否有任何操作可用于在 CCS 自身中对代码进行解密并进行持续刷新?

    不、这不应该发生。 您能否提供有关 JTAG 如何解锁的更多信息?

    [报价 userid="493195" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1283697/tms320f28075-chip-w-dcsm-not-manually-decrypted-program-burning-failed-flash-content-not-encrypted-when-clicking-continuous-refresh-multiple-times ]持续刷新是否会导致芯片未计时? A [/报价]

    它不应该。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您说的仅仅是"持续刷新"的内存浏览器解锁设备,您就可以访问闪存吗?

    您好, 

    当 执行"Continuous Refresh"运行"Memory Browser"并将程序加载至失败状态时、它会调用 "Retry with a AET breakpoints"。 在这些操作期间、代码似乎再次运行。 以便我们可以看到内容或读取闪存。 但我们不知道代码为什么会再次运行?   

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

    绍兴市

                   很抱歉、但我不明白您想说什么。 仅仅解锁 JTAG 只允许您连接到器件、而不会触发 JTAG 电路。 对于要编程的闪存、该区域应不安全。 仅仅进行连续刷新并不能确保器件的安全。

    不应使用"加密"或"解密"一词,因为 DCSM 既不使用,也不使用"解密"一词。 DCSM 所做的是保护/取消保护器件、这与加密/解密完全不同。

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

    绍兴市

    我想你把 JTAGLOCK 和 DCSM 解锁相混淆了。  不能在连接到器件后简单地对闪存进行编程;必须首先通过片上闪存工具解锁区域。  

    我相信您得到的包含"正在尝试用 AET 断点重试"的错误消息将在您尝试对闪存进行编程之后出现。 您不应注意这些错误消息、或者是否启用了持续刷新、因为如果区域仍然安全、您将无法成功地对闪存进行编程。  

    使用片上闪存工具解锁区域。 修改.out 文件无法实现这一点;如果.out 文件尝试对安全资源进行编程、则必须在加载任何.out 文件之前取消保护区域。  

    以下4个易于理解的视频介绍了 DCSM 模块的工作原理:   

    https://www.ti.com/video/6336140498112?keyMatch=DCSM

    https://www.ti.com/video/6336138543112?keyMatch=DCSM

    https://www.ti.com/video/6336139910112?keyMatch=DCSM

    https://www.ti.com/video/6336139622112?keyMatch=DCSM

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

    你好, ,

    我来澄清一下这个带有密码 CSMKEY0/1的 ECSL 问题。

    我们能否 在 CSMKEY (0/1)中使用正确的64位密码来禁用 ECSL、然后 JTAG 可以连接锁定的器件、但无法读取闪存? 器件仍被锁定、对吧?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们是否能够 在 CSMKEY (0/1)中使用正确的64位密码,让 ECSL 禁用,然后 JTAG 可以连接锁定的设备,但无法读取闪存? 器件仍被锁定、对吧?  [/报价]

    是的、正确。

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

    你好,  ,

    如前所述、我们按照  在 CSMKEY (0/1)中使用正确的64位密码来禁用 ECSL、而当再次加载文件时、它会报告失败并触发 "使用 AET 断点重试"。 芯片被解锁、并且闪存可以被 JTAG 调试器读取。