工具与软件:
如何确定现有设计是否设置了任何 CSM 密码? 我有一个现有的 TMS320F2809设计、我正尝试将其迁移至 TMS320F2800156。 现有设计使用 CC 3.3、且我有源代码。 我们有一个实用程序可以 使用 SCI/等待引导来更新闪存、因此我知道闪存没有被锁定以防止更新。 如果有 CSM 密码、我假定其中的一个源代码文件被修改了。 我只是不知道要去哪里看看。
提前感谢。
John
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.
工具与软件:
如何确定现有设计是否设置了任何 CSM 密码? 我有一个现有的 TMS320F2809设计、我正尝试将其迁移至 TMS320F2800156。 现有设计使用 CC 3.3、且我有源代码。 我们有一个实用程序可以 使用 SCI/等待引导来更新闪存、因此我知道闪存没有被锁定以防止更新。 如果有 CSM 密码、我假定其中的一个源代码文件被修改了。 我只是不知道要去哪里看看。
提前感谢。
John
尊敬的 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
您好 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、
对延迟响应深表歉意。 该器件非常旧、因此没有通用 TRM、但每个 IP 都有单独的出版物、不知道这一点。
从器件数据表中的存储器映射来看、似乎唯一影响安全性的存储器位置是0x3F7FF8至0x3F7FFF。 我看到 SYSCTRL 文档中的几个建议以某种方式重复以下陈述:
0x3F 7F80–0x3F 7FF5 -> 当使用 代码安全模块时、编程至0x0000
可以 通过搜索0x3F7F80在 SYSCTRL 指南中轻松找到所有这些语句。
但是、这些语句都不能为为什么这些地址必须编程为全0提供理由。
如果原因对您很重要、我可以咨询可能熟悉此问题的团队的其他人、但这是非常旧的设备、因此我可能无法提供明确的答案。 尽管如此、csm_rsvd 位置到全0的编程遵循文档指令、所以我认为这不是一个问题。
谢谢!
Luke