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.

TMS320F280021: DCSM加密后,使用UniFlash解密再烧入程序,芯片不运行

Part Number: TMS320F280021
Other Parts Discussed in Thread: SYSCONFIG, UNIFLASH, C2000WARE

Dear team:

在使用280021的DCSM加密后,使用仿真器的Debug模式,程序能正常运行,

停止仿真,再来一次Debug(试试程序是否加密成功),提示如下:

说明程序加密成功了,但是板子上电重启后就不运行了。

加密配置使用的是sysconfig,配置生成的DCSM.asm 和DCSM.cmd文件,配置如下:

就是把密码简单设置了,RAMLS456 设置保护,Flash0123设置了保护,

板子程序就不运行了。。。。。

使用UniFlash  输入设置的密码,Unlock

使用Erase Flash,擦除Flash ,

重新使用CCS的Debug   程序还是无法烧入,提示芯片加密。。。

再使用UNIFlash,烧入原先加密的程序,可以正常烧写,

板子重新上电,但是程序还是不运行,试了两块板子,都是同样的结果。

  • 你好,首先程序能否运行应该跟是否加密没什么关系。你的程序在没有加密的情况下能离线运行吗?

    另外,我看你的描述用uniflash能正常烧写程序,那芯片应该是已经解密了的。所以现在是用CCS不能正常烧写,但是用uniflash能正常烧写是这样吗?

    而且我看你的CCS报错应该跟加密没什么关系。你方便测试一下用其他程序来烧写是否有同样的问题

  • 1、程序在没加密情况下是可以正确运行。

    2、程序在加密情况下,烧写加密程序后,上电也是能正常运行。

    3、在已经加密的情况下,使用uniflash 直接添加烧入的hex 是无法烧入的,在密码设置处输入我设置的密码,再来烧入,可以正常程序烧入进去,

    断电重启,板子程序不运行,这是我试的第三个板子。

    4、Unlock 密码后,

    再Erase Flash 后,再使用UNIFlash烧入,断电重启,程序还是不运行。

    问题是就使用DCSM加密烧入后,如何正确的解密或密码不改也可以,但是程序还能升级

  • 有没有试过解密之后擦除flash,然后在烧写未加密的程序,看能否运行?

    另外这里有个FAE分享的DCSM模块使用说明,你可以参阅一下:https://e2echina.ti.com/blogs_/b/the_process/posts/dcsm

    最后,测试的话最好先用例程来测试:C:\ti\c2000\C2000Ware_4_01_00_00\driverlib\f28002x\examples\dcsm

  • 邓工,我的测试如下:

    使用UNIFlash 在我密码区设置密码,其他没操作

    UnLock后,显示

    [2022/7/4 上午8:57:40] [INFO] C28xx_CPU1: GEL Output: RAM initialization done
    [2022/7/4 上午8:57:41] [INFO] C28xx_CPU1: GEL Output: Memory Map Initialization Complete
    [2022/7/4 上午8:57:41] [INFO] C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...
    [2022/7/4 上午8:57:41] [INFO] C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
    [2022/7/4 上午8:57:41] [INFO] C28xx_CPU1: Performing Security Operation...
    [2022/7/4 上午8:57:41] [INFO] C28xx_CPU1: Unlocking device...
    [2022/7/4 上午8:57:42] [INFO] C28xx_CPU1: Lock status: false
    [2022/7/4 上午8:57:42] [SUCCESS] C28xx_CPU1: Operation completed successfully.

    我再 Erase Flash

    显示如下:

    [2022/7/4 上午8:57:55] [INFO] C28xx_CPU1: GEL Output: RAM initialization done
    [2022/7/4 上午8:57:55] [INFO] C28xx_CPU1: GEL Output: Memory Map Initialization Complete
    [2022/7/4 上午8:57:55] [INFO] C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...
    [2022/7/4 上午8:57:56] [INFO] C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
    [2022/7/4 上午8:57:56] [INFO] C28xx_CPU1: Erasing Flash memory...
    [2022/7/4 上午8:57:56] [INFO] C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...
    [2022/7/4 上午8:57:57] [INFO] C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
    [2022/7/4 上午8:58:01] [SUCCESS] C28xx_CPU1: Operation completed successfully.

    后面我再添加我不加密的程序烧写:

    显示如下:

    [2022/7/4 上午8:58:16] [INFO] C28xx_CPU1: GEL Output: RAM initialization done
    [2022/7/4 上午8:58:16] [INFO] C28xx_CPU1: GEL Output: Memory Map Initialization Complete
    [2022/7/4 上午8:58:16] [INFO] C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...
    [2022/7/4 上午8:58:17] [INFO] C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
    [2022/7/4 上午8:58:17] [INFO] C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...
    [2022/7/4 上午8:58:17] [INFO] C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
    [2022/7/4 上午8:58:18] [INFO] C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...
    [2022/7/4 上午8:58:19] [INFO] C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
    [2022/7/4 上午8:58:38] [SUCCESS] Program Load completed successfully.

    再这个烧写状态下,密码区还是原先的1234,

    板子断电重启,测试发现板子程序不运行。

    我再使用CCSDebug仿真,显示如下:

    从仿真器的测试来看,应该是没解密成功,所以无法烧入。

    问题就是加密后,解密不成功,我无法再程序升级。

  • 你好,看了几遍你的描述都没看出来什么问题。按照你的描述,芯片应该能烧写程序了,那就是已经正确解密了的。而且其实程序运行跟加密的关系也不大。

    我建议你将这个问题发布到英文论坛咨询一下,英文论坛有这方面的专家工程师可以帮助你解答问题:e2e.ti.com/.../c2000-microcontrollers-forum

  • 你好,看了几遍你的描述都没看出来什么问题。按照你的描述,芯片应该能烧写程序了,那就是已经正确解密了的。而且其实程序运行跟加密的关系也不大。

    我建议你将这个问题发布到英文论坛咨询一下,英文论坛有这方面的专家工程师可以帮助你解答问题:e2e.ti.com/.../c2000-microcontrollers-forum