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.

TMDSCNCD28388D: CPU1 FLASH烧录失败,Flash Programmer: Error erasing Sector 0. FMSTAT (STATCMD on some devices) value = 1040. Operation Cancelled (0).

Part Number: TMDSCNCD28388D
Other Parts Discussed in Thread: C2000WARE,

使用的软件环境:    CCS Version:12.0        C2000ware Version 4.01

我这边有一块TMDSCNCD28388D开发板,使用C2000ware->driverlib->F2838x->examples->c28x->led->led_ex1_blinky示例工程,烧录程序到CPU1 RAM,开发板能够正常运行程序。

但是,将编译选项设置为编译到CPU1 FLASH中后,尝试烧录,提示以下问题:

看起来是在Erase Flash的过程中就已经出现错误了。

查看F28388技术手册,以及CCS的On-Chip Flash工具,发现zone1和zone2的CSM密码都没有program过:

还有,使用CCS On-Chip Flash工具的Erase Flash功能,发现只有Sector3-Sector12可以正常擦除,其他的都报错:

请大神们看看是什么问题。

  • 你好,请问你使用的是TI的哪款开发板?因为我这边也是最近就用F28388D的controlCARD测试过这个例程,运行下来没什么问题。虽然是用的CCS11.2,但对工程烧写应该不影响。

    可以确认的是,工程本身是没有对DCSM加密模块做设置的,而且这个报错也不像是加密导致的。

    原工程是否有修改过呢?

  • 使用的是TMDSCNCD28388D开发板,原工程没有修改过。

    目前,我怀疑是因为开发板在我拿到之前就被加密了,因为刚刚我才发现CCS On-Chip Flash工具好像并没有读取到CPU1 的FLASH OTP段数据,而只是展示了CCS自身默认的数据。

  • 是的,如果是未解密的芯片去读on_chip flash的是读不出来的。刚没看仔细,确实你的两个截图中的报错都跟芯片被锁时的报错差不多。但是你确定Sector3-Sector12是可以正常擦除的?

  • 是的,CPU1 Sector3-Sector12擦除时,显示是操作成功了。

  • 有可能CPU1的Sector3-Sector12段并没有被分配到Zone1或Zone2中被保护。

    请问面对这种情况,有办法查看到csm密码,或者解除保护状态吗?

  • 是的,这么看的话应该是这些sector没有分配到加密区。不过这样的话是没办法看到密码的,也没办法解除保护,如果不知道密码的话可能这块芯片就没办法使用,或者只能用来仿真用了

  • 好吧,谢谢了!

  • 客气了!