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:如何 Quot;Unodo"OTP 编程

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1398267/tms320f28379d-how-to-undo-otp-programming

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

工具与软件:

您好!

我意外使用错误的十六进制文件进行了编程、其中 OTP 存储器已烧录。 我使用代码保护区、bootctrl 和密码锁定等
我想更改 OTP 或 OTP-ECC、以便 CPU 的行为方式不会被编程。 它会忽略这些设置。

是否可以使用 OTP 和 OTP-ECC 之间的不匹配来实现这一目标? 如何在 CCS 或 Uniflash 中执行此操作?

我知道我可以更改 LINKPOINTERS 以将块部分忽略。 如何处理其他寄存器是 OTP-ECC 不正确的。

此致、

Piotr Romaniuk

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

    你(们)好  

    我的实验几乎没有更新:

    1. 当我更改了 LINKPOINTERS (1FFF.FFFF -> 1FFF.FFFE)时、所有设置(如密码)、区域连接配置都更改为未编程状态(这是由于新的链接指针更改了 OTP 块)
    2. 通过更改 BOOTCTRL 寄存器中的高16位、我可以获得所需的引导模式和 BKey 值、并且在相应的 OTP 中仍具有正确的 ECC
    3. 可以通过在1的位置编程一些0来更改旧块中的密码(LINKPOINTERS 不再指向的)。

    我对步骤[3]有一些疑问。
    我是否能够在未使用的块中编辑这样的位 、使得它们的 ECC 不正确、而不会对 CPU 和 JTAG 的运行产生任何影响?
    我记得有时 CCS 抱怨 OTP 校验和不匹配。

    此致、
    Piotr Romaniuk

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

    尊敬的 Piotr:

    只要您已在 CCS 片上闪存工具中禁用了"verify"选项、就应该能够执行此操作。

    谢谢!

    Luke

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

    尊敬的 Luke:

    [报价 userid="529193" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1398267/tms320f28379d-how-to-undo-otp-programming/5352949 #5352949"]

    只要您已在 CCS 片上闪存工具中禁用了"verify"选项、就应该能够执行此操作。

    谢谢!

    [报价]

    所以我将失去验证功能、还是可以通过单独的步骤来验证编程结果?

    CPU 如何感知未使用块中的 OTP ECC 不匹配(未由 LINKPOINTERS 指向)?  
    CPU 甚至不会检查它、忽略并使用一些默认值或触发一些异常。
    它是否会影响 CPU 对闪存进行整理?

    如果此不匹配在奇异(即不位于块中)寄存器(例如 BOOTCTRL)中、会发生什么情况?

    在未对 PSWD 寄存器进行编程时、是否有将 PSWDLOCK 编程为 ACTIVE 状态的任何后果?

    此致、

    Piotr Romaniuk

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

    尊敬的 Piotr:

    您只能使用片上闪存工具中的范围回避功能为 OTP 编程禁用验证。

    应忽略未由.out 文件编程的任何位置、未编程块中的 ECC 不匹配不应影响闪存编程。

    如果禁用了验证、则 bootctrl 中的不匹配不会导致问题。

    禁用 PSWDLOCK 时、这只是意味着 CSMPSWD 位置将始终是不安全的。 启用 PSWDLOCK 时、将按与其余用户 OTP 相同的方式处理 CSMPSWD。

    谢谢!

    Luke