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.

[参考译文] TMS320F28377S:DCSM Z1_OTP OTP 区域是否向用户开放? 是否可以修改此区域以存储重要数据(如加密信息)?

Guru**** 2515585 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1556131/tms320f28377s-is-the-dcsm_z1_otp-otp-area-open-to-users-can-i-modify-this-area-to-store-important-data-such-as-encrypted-information

器件型号:TMS320F28377S


工具/软件:

您好、  

根据数据表、0x00070000 是 TI OTP、0x00078000 是用户 OTP。

我最初认为 0x00078000~0x000783FF 是一个向用户开放的 OTP、我认为他们可以随意写入任何想要存储在该区域的数据(写一次)。
但当我检查 SPRUHX5G 时、我突然意识到这个区域似乎被定义为 DCSM Z1_STP 寄存器。 如果我对其进行修改、会影响操作吗? (在线调试检查,在我修改该地址之前,该地址的数据为 0xFFFF)。


此外、0x00078000~0x000783FF 中的哪些地址是我可以自由修改的数据?

谢谢!

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

    如果您不使用 DCSM、您可以毫无问题地修改从 0x78040 到 0x7801FF 以及从 0x78240 到 0x783FF 的任何地址。 如果使用 DCSM、需要注意是否更新链接指针以确定可以自由修改哪些地址。 如果使用默认链接指针 (0x1FFFFFFF)、则可以使用我提到的相同地址以及 DCSM 配置。

    --卢克

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

    您好、 Luke:

    如果我使用的 DSP 模型是 2800157、该怎么办? 这些地址似乎在出厂时设置了默认值

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

    是、在 F280015x 上、在您共享的表中列出的区域选择块中的某些位置对默认值进行了编程。 由于非活动区域选择块将不会根据链路指针的值生效、因此您仍然可以在我为 F2837 提到的地址处对从 1 到 0 的任何位进行编程、而不会意外地对某些安全设置进行编程。

    如果您有其他问题、请告诉我。

    谢谢您、

    Luke

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

    您好、Luke:

    谢谢!

    这是否意味着、如果我想在 2800157 的 OTP 区域存储 16 个数据、则可以选择中间的连续 16 个地址、例如在 0x0007 8122 (CSMPSWD1)~0x0007 813E (JTAGPSWDL1) 之间选择 16 个地址。 这些数据不会在出厂时存储、并默认为 0xFFFFFFFF、我是否可以将其修改为任何值?

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

    您好:

    您必须注意、您正在以 64 位块进行数据编程。 我建议在固件中对 0xFFFFFFFF 值进行编程时、都应添加出厂默认值以及自定义值、以确保不违反 ECC 保护规定。

    谢谢您、

    Luke

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

    您好、Luke:

    谢谢!

    我尝试使用闪存 bank0 方法来修改 2800157 的 OTP 区域、但发生了错误。 在修改 OTP 之前似乎还需要执行其他操作。 我想弄清楚。
    我看到了对加密唯一 ID(文档 ZHCA816 - 2018 年 7 月)和使用 JTAGLOCK 方法进行安全管理的介绍(文档 SPRACS4 - 2020 年 6 月)。 这两种方法的优缺点是什么、您更推荐哪种方法?

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

    您好:

    我明天就回来,今天是一个假期。

    谢谢您、

    Luke

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

    您好:

    据我所知、您无法像使用常规闪存位置进行编程一样使用闪存 API 对 OTP 进行编程。 对 OTP 位置进行编程、但闪存 API 中有一个需要先更改的设置。 将该线程重新分配给闪存 API 专家以提供帮助。

    谢谢您、

    Luke

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

    您好、

    为了使用闪存 API 对 OTP 进行编程、您需要使用 Fapi_setupBankSectorEnable () API 配置用户 OTP 的保护。  CMDWEPROT_UO 寄存器用于配置 USER OTP 保护。 您可以在 闪存 API 用户指南中找到有关 API 的详细信息。  

    此致、

    Rajeshwary

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

    感谢您的答复。 问题已解决。