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.

[参考译文] TMS320F28388D:DCSM:OTP 区域的更新机制

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1580756/tms320f28388d-dcsm-update-mechanism-of-the-otp-region

器件型号: TMS320F28388D

您好、专家、

最近、在使用 DCSM 时、我对 OTP 区域的更新机制有疑问。

对于已经加密和锁定的芯片、我通过 CCS 输入密码来成功解锁。 解锁后、我能够修改地址 0x78000 处的 LINKPOINTER、但无法修改 CSMPSWD(位于 LINKPOINTER 指向的区域块中)。 我的问题是:由于两者都位于 OTP 区域、并且我遵循了仅将数据位从 1 更改为 0 而不将 0 恢复回 1 的原理、因此为什么 LINKPOINTER 可修改、而修改 CSMPSWD 时会导致错误:

“闪存编程期间出错。 地址 0x00078020、FMSTAT(某些器件上为 STATCMD)0x00001010“

 

此致、

Shawn

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

    您好 Shawn、

    对延迟回复表示歉意。  我会让 DCSM 专家回复您的问题。

    此致、

    Joseph

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

    您好 Shawn、

    除了仅将位从 1 翻转到 0 之外、还有一个额外的保护。 除了 LINKPOINTER 外、每个 OTP 位置都有 ECC 保护。 这意味着、与在 OTP 位置中编程的值相关的生成的 ECC 值也存储在 OTP 中、并且其位不能在 0 到 1 之间进行编程。 这意味着您不能对 OTP 位置进行两次编程、即使第二个值不会将任何 0 翻转为 1。 此规则的唯一例外是 LINKPOINTER。

    您需要在地址 0x78040 处对新的 CSMPSWD 值以及区域选择块中的任何其他值进行编程、因为更新链路指针会导致活动区域选择块位置从 0x78020 更改为 0x78040。

    谢谢您、

    Luke

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

    我明白了。 非常感谢您的解释!