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.

[参考译文] TMS320F280021:OTP 的写入大小

Guru**** 2535750 points
Other Parts Discussed in Thread: TMS320F280021

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1035895/tms320f280021-write-size-for-otp

器件型号:TMS320F280021

我对 TMS320F280021的 OTP 有一些疑问。 我运行了用于重新编程的引导加载程序,在 API 说明( SPNU631)中,它说相同的函数可用于闪存和 OTP 编程。 我使用了 example_ProgramUsingAutoECC 中的编程作为基础。 需要写入 OTP 区域的数据 不是64位对齐、当我检查存储器浏览器时、我发现整个存储器中已设置了一些0x78xxB 位、但我不知道它们是否来自先前的编程尝试、 或者应用程序是否编写了这些文件。

我写入0x78380的操作正常。 我写了"Test"、用0xff 填充以写入8个字(0x78380 - 0x78387)。 如果我现在需要向0x78385写入内容、正确的方法是什么?

我是否需要从 0x78380 - 0x78387读取整个对齐区域、然后修改要更改的数据并将所有内容写回? 我是否需要关注 ECC、或者如果我让他使用 Fapi_AutoEccGeneration、ECC 是否起作用?

是否可以写入该区域的其余部分、因为我已经写入了要使用0xFFFF 更改的部分?

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

    Tobias、

    我将在明天进行回顾、并返回给您。

    谢谢、此致、

    Vamsi

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

    Tobias、

    请注意、OTP 中的 F28002x 默认 DCSM 设置并非全部为1。  查看 表3-18。 ZxOTP_CSMPSWD1的默认值(由 TI 编程)。  选择由 TI 编程的这些默认值以生成所有1s ECC。   

    关于您的其他问题:

    使用 AutoECC 时、应始终在闪存或 OTP 中对64位对齐或128位对齐数据进行编程。

    2.一旦在 OTP 中针对给定的64位对齐存储器对数据与 ECC 一起编程、您将无法再次对该位置进行重新编程、因为它将与已编程的 ECC 发生冲突 (即使您确保不会在 DCSM OTP 数据中引起0->1转换)。

    请查看以下常见问题解答:

    1.有关 C2000器件闪存 API 用法的[常见问题解答]常见问题解答:  

         https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/951668 

    2.针对 C2000器件中闪存 ECC 用法的[常见问题解答]常见问题解答-包括 ECC 测试模式、链接器 ECC 选项:  

         https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/951658 

    谢谢、此致、

    Vamsi