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.

[参考译文] TMS320F28027F:加密问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1199497/tms320f28027f-encryption-issue

器件型号:TMS320F28027F
主题中讨论的其他器件: C2000WARE

大家好、

以下是客户提出的一些可能需要您帮助的问题:

1)当 TMS320f28027F 用 CCS11.2版本加密时,加密通常会成功。 但是、在解密时会显示以下提示:"设备已解锁。 要清除编程的密码、请擦除闪存的扇区 A。 "当节点 A 已选择擦除时、解密时是否需要等待引导加载才能解锁?  

2)为什么有些芯片在加密后会出现故障?

3) 3)添加文件_CSMPASSWORDS.asm、作为文件加密、如果使用了相同的密码、是否可以模拟 CCS 片上闪存密码?

您能帮助了解这种情况吗? 谢谢。

此致、

樱桃

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

    樱桃、

             我们要使用的正确术语是"确保安全"、而不是"加密"、因为我们不是对代码进行加密、而是保护存储器免受未经授权的访问。

    Unknown 说:
    节点 A 选择擦除时、是否需要在引导加载中等待才能解密?  [/报价]

    否 "等待"引导模式仅在上电期间使用。 保持器件在引导 ROM 中循环、而不访问闪存、闪存是安全资源、这一点很有用。 如果在安全器件中访问闪存、则会触发 ECSL 逻辑并断开调试器连接。 总之、"等待"引导模式在闪存的擦除/编程操作期间无关。

    Unknown 说:
    2)为什么一些芯片在加密后无法工作?

    这不应该发生。 固定器件不应影响器件运行、尤其是在独立模式下。 其他方面也有问题。 CSM 模块与此无关。

    Unknown 说:
    3)添加文件_CSMPASSWORDS.asm 加密为文件,如果使用相同的密码,可以模拟 CCS 片上闪存密码吗?

    假设您要问的是、是否可以使用 CCS 片上闪存编程器添加密码、我们将密码添加到项目中的方法与使用_csmpasswords 相同。 如果是、答案是"是"。

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

    您好、Hareesh。

    感谢您的支持和答案很有帮助!

     我们要使用的正确术语是"安全",而不是"加密",因为我们不是加密代码,而是保护内存免受未经授权的访问。

    感谢您的提醒。

    这不应该发生。 固定器件不应影响器件运行、尤其是在独立模式下。 其他方面也有问题。 CSM 模块与此无关。

    在安全保护程序不起作用的情况下、仍然存在一个问题。 由于没有仿真器 dBUG 时程序无法工作、而程序在仿真状态下工作正常。

    由于在引导加载模式下处于等待状态、或者 CodeStartBranch.asm 的地址受到影响、因此该程序在没有仿真器的情况下可能无法运行。 我是否知道除了上述两种可能性之外、还有其他任何可能的原因?

    谢谢。此致、

    樱桃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    安全保护程序不起作用时仍存在问题。 由于没有仿真器 dBUG 时程序无法工作、因此程序在仿真状态下工作正常。[/引号]

    好的、在这种情况下、代码可以在连接了 JTAG 调试探针的情况下正常运行、但不连接 JTAG 调试探针则不行。 也就是说、通过 CCS 运行项目时、项目运行正常、但不是在独立模式下运行。 e2e 上已经多次解决了此问题。 请访问 https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/757590。

    由于程序在启动加载模式下处于等待状态,因此程序在没有仿真器的情况下可能无法运行[/报价]

    正常情况下不应使用"等待"引导模式。 若要以独立模式从闪存引导、只能使用 GetMode。

    或者因为 CodeStartBranch.asm 的地址受到影响。
    [/quote]

    如果使用 C2000ware 随附的默认链接器命令文件、将一切放置在正确的地址。

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

    您好、 Hareesh。

    虽然情况仍然存在、但在保护代码时、行为如下:

    添加 F2802x_csmppassword.asm 文件后、如果不修改密码、程序就无法运行。 然而、如果密码被修改、如果仿真器程序被重新闪存、仿真器程序将不会运行。  

    这是 e2echina 论坛上的一个主题,其中提到"用户 在加密时使用非安全区域的 RAM,而是将其用作安全区域的 RAM。"

    但是、CMD 文件配置与文本中所述的相同。 有可能通过28027例程进行保护吗?

    谢谢。此致、

    樱桃

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

    樱桃、

             很抱歉、我不明白问题到底是什么。 如前所述、保护或不保护器件不会影响应用程序的执行。 您能否对问题进行清楚的总结?

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

    您好、 Hareesh。

    请让我详细说明案例:

    客户将 f2802x_csmpppassword.asm 文件添加到正在使用的程序项目中 、根据客户的了解、此文件的本质是将适当的密码写入 CSM、即写入相应的地址(csm_PWL_P0:origin = 0x3F7FF8、length = 0x000008 )。 然而、在实际调试期间、当文件被添加并且0xFFFF 被写入所有地址时、在没有仿真器的情况下、程序正常启动。 但是、将此地址更改为客户写入的密码时、如果没有仿真器、则无法启动程序。 即、将地址从0x3F7FF8更改为0x3F7FFF 后、程序无法启动。 然而、根据28027指南、CSM 地址是这些位中的8个。

    当芯片上电时直接启动 getmode ()时、不应访问地址0x3F7FF8到0x3F7FFF。 如果没有、为什么程序在上电时无法启动?

    如有任何疑问、敬请告知。

    谢谢。此致、

    樱桃

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

    樱桃、

       我会在下周早些时候回复。  

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

    樱桃、

             如前所述、安全性不会影响代码执行。 我还向客户指出了一篇 e2e 文章、其中讨论了为什么代码不能在没有仿真器的情况下运行。 客户正在做一些我们不知道的事情。 这是一个非常旧的模块(几乎20年了)、与 DCSM 相比、这是一个非常容易理解的模块。 请让客户尝试一个简单的安全 GPIO 切换代码、而不是他们的项目。 他们还可以检查他们的.map 文件以了解 DSP2803x_CodeStartBranch.asm 和密码的正确位置。 很抱歉、我无法提供帮助。