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.

CCS连接targe时出现device core was hung错误,有什么解决办法?

FLASH烧写好了自己的代码,也可以正常跑出结果了,但是,想烧写下一个程序时,在CCS Debug环境下,connect target时,告诉我device core hung?这个意思是CPU挂起?

期间做了如下尝试:1,将启动项改为NO BOOT模式,可以正常烧写代码。

我猜测之前烧写的代码,可能让CPU进入了死循环,或者跑飞了。想了想是否可以吧FLASH中的代码都擦掉就可以了?

2,尝试在NO BOOT模式下使用Flash Burn软件擦除FLASH,但是进度条一直在最后一段99%不动。原来都是在EMIFA模式下烧写FLASH的,这个启动模式是否影响其FLASH烧写?

  • 1. 如果配置的是emif boot mode,flash里有程序的话,上电后flash里的代码事先执行,是有可能会影响仿真器的正常连接。所以你将启动项改成no boot 模式再烧写的方法是正确的。

    2. 既然配置成了no boot模式,flash里的代码不会执行,你试试配置成其他boot mode.

  • 非常感谢你的回答,我想再次烧写FLASH,烧写FLASH是否和BootModel有关系?我试了试noboot 模式下烧写Flash是不能成功的?我之前都是在EMIFA下烧写的。

    发生的错误是如下图所示:一直在erasing中。

  • 你好,目前我想烧另外的程序到FLASH中,在由EMIFA模式下是没办法烧程序到FLASH中的(原因显示CPU hung),因此我想将原来的FLASH里面的内容擦除掉,我试了试在noboot模式下将FLAS地址中的数据清除掉(代码包括开启外设使能,PLL设置,EMIFA外设开启,已经看得到地址下的数据变了),但是一旦开机到EMIFA模式,又变了回来,程序又开始跑了。不太懂,真心的不太懂。为什么明明自己都把地址里面的数据改了,重新换个启动项就又变了回来?

  • 你之前不是说在no boot模式下能过正常烧写flash吗?如果程序又开始跑了,说明里面的代码没有擦除成功。

  • 非常感谢你的回答。你说的对,数据没有擦除成功。之前启动模式打到no boot模式下用Flash Burn擦除是不能够成功的,就是一直在擦除99%处不动。因此我想自己写代码吧FLASH中数据擦掉是不是就可以解决这问题了,沿着这个思路,我写了代码在no boot模式下往FLASH映射的地址里面重新写入了数据,(FLASH重新写数据前是要进行擦除工作的,要不写的数据不顶用?可能是这个原因,我没有擦除过程,直接写入了该地址,我也见该地址的内容变了,用的MEMERY查看器,我用的EMIFA接口写的数据)。

  • 是的,flash 写数据前,先要进行clear/erase。

  • 谢谢你的回答。问题已经解决了,将FLASH用自己写的代码重新erase一次即可。