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.

[参考译文] TMS320F2.8335万:从不安全的RAM运行CsmUnlock ...

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/574077/tms320f28335-csmunlock-running-from-unsecured-ram

部件号:TMS320F2.8335万

您好,

我确信这是一个简单的问题,但我正在努力寻找一个明确的答案...

我有一个软件是从不安全的RAM加载(并运行)的。  现在,如果我想运行CsmUnlock()函数来“解锁”设备,是否可以从不安全的RAM中执行此操作?  目前我不太清楚我是否可以从不安全区域以外的任何地方读取(不能写入或运行)?  我尝试从不安全的RAM运行CsmUnlock(),它可以正常工作,但我总是将CSMSCR安全位设置为0 (解锁),即使我提供了不正确的密码。  这表明CsmUnlock()实际上没有做任何事情(可能是从不安全的RAM调用的)。

对于安全-不安全系统的工作方式是否有任何提示(非pun目的)?

此致,

Mike。

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

    您好,Mike:

    [报价]现在,如果我想运行CsmUnlock()函数来“解锁”设备,是否可以从不安全的RAM中执行此操作? [/引述]

    是的,您可以从不安全的RAM运行CsmUnlock()函数。

    [报价]我尝试从不安全的RAM运行CsmUnlock(),它可以正常工作,但我总是将CSMSCR安全位设置为0 (解锁),即使我提供了错误的密码

    您是否曾将CSMSCR安全位设置为'1'? 例如,如果您将'1'写入CSMSCR寄存器中的FORCESEC位,然后读取安全位,则该值是什么?  

    此致,

    Vivek Singh  

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

    您好,

    好的,我检查了内存映射,我实际上是从受保护的RAML0运行- DOH。  以下是内存映射:

    我尝试了两件事,尝试并理解解锁发生时的情况。  首先,我更改了密钥以查看是否可以"锁定"设备:

    寄存器已正确更新:

    CSSCR安全位保持为0。

    考虑到XDS调试器本身可能在对RAML0区域进行编程时执行解锁,我在"项目属性"中使用CSM键进行了变通。  我更改了此设置,因此它不正确:

    设备仍将从RAML0进行编程和运行,没有错误。

    我想我对CSM何时"解锁"以便写入安全RAM有点困惑,或者它是否不必"解锁" RAM -仅闪存?  还是完全误解了数据表?

    基本上,我想从RAM运行一些执行CSM解锁的代码。

    谢谢!

    Mike。

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

    您是在密码位置进行任何编程,还是将其保留为默认值0xFFFF? 如果将其保留为默认值0xFFFF,则无论CSM KEYx值如何,设备始终保持非安全状态。

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

    还可以 键仍然是所有的0xFFFF。

    计划是在生产板上设置密钥,但我想测试从RAM解锁设备,因为我有一个自定义引导加载程序,我已经编写了该程序,然后通过SCI-Boot将其下载到RAM,然后使用(通过Flash API) 将Ops代码重新写入闪存。 显然,我需要解锁设备才能写入闪存...

    我的想法是,我可以使用开发板测试从RAM解锁的情况。 根据您所说的,我需要将CSM钥匙重置为其他东西,例如全部0x1234,然后用它测试RAM的解锁/锁定?

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

    您好,Mike:

    [引述]根据您所说的内容,我需要将CSM钥匙重置为其他项,例如全部为0x1234,然后使用该项测试从RAM解锁/锁定? [/引述]

    正确,可通过从不安全区域运行解锁功能来解锁设备。

    此致,

    Vivek Singh

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

    感谢你的帮助。 我将立即测试。

    此致,
    Mike。