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.8374万S:适用于双模的DCSM

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/635490/tms320f28374s-dcsm-for-dummies

部件号:TMS320F2.8374万S

您好,

是否有在2837x上启用DCSM安全的简短分步指南?

我知道它已记录在TRM中,但我希望能够保护芯片,而无需研究文档和编织板...

我不想成为DCSM专家-我只想遵循TI在这方面的最佳实践:)

下面是我想要完成的任务:

(1) JTAG已禁用

(2)闪存和RAM受到保护

(3)不知道128位密码,系统就不会有后门。

我需要对OTP中的哪些寄存器进行编程?

启用DCSM后,Flash API的运行方式是否有任何变化-固件应用程序(从安全闪存/RAM运行)是否需要在擦除/写入之前取消闪存扇区的安全?

谢谢!

-Pavel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我能够设定CSM密码,然后解锁芯片(使用等待启动模式)。

    解锁后,我可以使用JTAG对芯片进行重新闪存。

    但是,我无法逐步执行代码。 当我运行代码时,它在引导ROM中以WaitMode()结束。 如果我将程序计数器更改为跳转至闪存,JTAG将断开连接。

    在对CSM密码进行编程后,解锁DCSM并逐步浏览代码的步骤是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Pavel,

    很抱歉回复太晚。 要保护设备的安全,您需要对Zone1的密码以及GRABRAM和GRABECT位置进行编程。 编程后,您应该能够使用WaitBoot连接到设备,然后解锁设备并逐步完成代码。 在逐步执行代码之前,您需要再次解锁设备,否则JTAG将断开连接。 因此,刷新后,请解锁设备,然后逐步完成代码。 如果您想在设备安全的情况下逐步执行代码,则需要通过提供 更低的64位密码来解锁ECSL。 这将允许您逐步执行代码,但您将无法看到任何安全内容。

    此致,

    Vivek Singh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢,Vivek。 我现在可以逐步执行安全代码-这是我没有执行的第二个解锁操作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Vivek,

    还有一个问题:当区域受保护时,我无法从我的代码写入闪存。 DCSM不受保护时一切正常。

    我对所有闪存扇区和RAM块使用区域1。 我还尝试设置FLSEM寄存器,但它不采用区域1的值。 在更改FLSEM之前,DCSM通用寄存器具有以下值:

    FLSEM=x0万
    SECTSTAT=x1555.5555万
    RAMSTAT=xD0.5555万

    并且区域1受到保护:

    Z1_CR=x0040
    Z2_CR=x0070

    然后我的代码执行此操作:

    DcsmCommonRegs.FLSEM.ALL = 0xA501;

    然后立即将FLSEM打印到控制台:
    FLSEM=x0万

    写入FLSEM的函数位于LS4 RAM中,此块属于区域1,因此FLSEM应该采用新值?

    有什么想法?

    谢谢!


    -Pavel
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在编写FLSEM之前,我更改了代码以发布EALLOW,然后它开始工作(FLSEM寄存器的值为1)。

    那么FLSEM寄存器是否受EALLOW保护? 最新的TRM说它不是...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    感谢您的反馈。 这将在下一个文档版本中修复。

    Vivek Singh