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.

[参考译文] TMS320F2809:确定现有设计是否使用 CSM 密码

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1480549/tms320f2809-determine-if-existing-design-uses-csm-passwords

器件型号:TMS320F2809

工具与软件:

如何确定现有设计是否设置了任何 CSM 密码?  我有一个现有的 TMS320F2809设计、我正尝试将其迁移至 TMS320F2800156。  现有设计使用 CC 3.3、且我有源代码。   我们有一个实用程序可以 使用 SCI/等待引导来更新闪存、因此我知道闪存没有被锁定以防止更新。    如果有 CSM 密码、我假定其中的一个源代码文件被修改了。  我只是不知道要去哪里看看。

提前感谢。

John

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

    尊敬的 John:

    您知道 CSM 密码在内存中的位置吗? 您是否能够读取此存储器位置以确定是否已修改? 此信息应包含在 F2809的技术参考手册中

    谢谢!

    Luke

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

    说得好、我会检查一下。  我还能够重新生成对象、并且我可以检查这些位置的输出文件。  要到3/3才能完成。

    谢谢!

    John

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

    明白了、当您有更新时、请告诉我。

    谢谢!

    Luke

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

    尊敬的 Luke:

    从映射文件来看、密码应该位于03f7f80

    csm_rsvd 0 003f7f80 00000076
    003f7f80 00000076 DSP280x_CSMPassword.obj (csm_rsvd)

    codestart
    * 0 003f7ff6 00000002
    003f7ff6 00000002 DSP280x_CodeStartBranch.obj (codestart)

    csmpasswds
    * 0 003f7ff8 00000008
    003f7ff8 00000008 DSP280x_CSMPassword.obj (csmpasswds)

    来自2809数据表:  

    0x3F 7F80–0x3F 7FF5 -> 当使用 代码安全模块时、编程至0x0000

    从用于加载芯片的 ROM 文件:

    :207F80000000000000000000000000000000000000000000000000000000000000000000E1
    :207F90000000000000000000000000000000000000000000000000000000000000000000D1
    :207FA0000000000000000000000000000000000000000000000000000000000000000000C1
    :207FB0000000000000000000000000000000000000000000000000000000000000000000B1
    :207FC0000000000000000000000000000000000000000000000000000000000000000000A1
    :207FD00000000000000000000000000000000000000000000000000000000000000091
    :207FE000000000000000000000000000000000000000000000000000000000000000000081
    : 0C7FF00000000000000000000000000085

    我相信我们正在使用 CSM 密码、但 ROM 文件中的下一行让我感到困惑、因为这应该是 csmpasswds。

    :107FF800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89

    这是因为在设置密码时、此位置(03f7ff8)已经编程过?

    John

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

    您好、John、

    我可能没有时间 对此作出反应、直到明天、对延迟的反应表示歉意。

    谢谢!

    Luke

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

    我想我开始理解 CMS 密码、最初以为闪存/RAM 的每个部分都有不同的密码。  我认为调用 CMS 需要所有8个词。  如果是正确的、请告诉我。

    谢谢!

    John

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

    您好、John、

    正确的、闪存和 RAM 的所有部分都应该与一组密码相关联。

    谢谢!

    Luke

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

    您好 Luke

    我与供应商讨论了如何构建旧电路板、并获得了一些有趣的信息。  他说、CPU 上不使用密码。  由于我们将00s 编程到  csm_rsvd 区域、将 FFs 编程到  csm_rsvd 区域、csmpasswds 是否控制是否查看 csm_rsvd?

    0x3F 7F80–0x3F 7FF5 -> 当使用 代码安全模块时、编程至0x0000

    如果 csmpasswds 控制 csm_rsvd 的使用 、那么上面的语句会误导我。  看起来更好的措辞是: 当使用 代码安全模块(设置了 csmpasswds)时、编程为0x0000。  

    在设置 csmpasswds 的情况下、它开始看起来像是我们的代码归零 csm_rsvd。  

    请告诉我您的想法、

    John

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

    尊敬的 John:

    实际上、我目前无法在 TI.com 上找到 F2809 TRM 来弄清楚这一点。 我能找到它,我就会给你回复,除非你能把它发送给我。

    谢谢!

    Luke

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

    您好、John、

    对延迟响应深表歉意。 该器件非常旧、因此没有通用 TRM、但每个 IP 都有单独的出版物、不知道这一点。

    从器件数据表中的存储器映射来看、似乎唯一影响安全性的存储器位置是0x3F7FF8至0x3F7FFF。 我看到 SYSCTRL 文档中的几个建议以某种方式重复以下陈述:

    0x3F 7F80–0x3F 7FF5 -> 当使用 代码安全模块时、编程至0x0000

    可以  通过搜索0x3F7F80在 SYSCTRL 指南中轻松找到所有这些语句。

    但是、这些语句都不能为为什么这些地址必须编程为全0提供理由。

    如果原因对您很重要、我可以咨询可能熟悉此问题的团队的其他人、但这是非常旧的设备、因此我可能无法提供明确的答案。 尽管如此、csm_rsvd 位置到全0的编程遵循文档指令、所以我认为这不是一个问题。

    谢谢!

    Luke