C2000 MCU flash报错的解决方案

电子说

1.2w人已加入

描述

在使用C2000mcu MCU产品的时候,有可能会碰到仿真器连上目标板以后报“flash is not available on this device”,详细报错信息如下,而事实上芯片本身是有Flash的。

C28xx_CPU1: GEL Output:

RAM initialization done

C28xx_CPU1: GEL Output:

Memory Map Initialization Complete

C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...

C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...

C28xx_CPU1: Error initializing flash programming: Interface returned from dll, but flash is not available on this device.

 

这时针对芯片Flash的所有操作(擦除,编程,校验,读取)都会报图一所示错误。

mcu

图一

出现这种情况的原因可能是芯片Flash的代码不完整或者有错误,导致CPU工作不正常。虽然能连上仿真器,但仿真器读取到的芯片信息可能会出错,从而导致上面的报错。

如果没有有效办法去解决这个错误,则针对芯片Flash的所有操作都无效,只有换芯片才能让板子正常工作。

 

本文将以C2000 F28002x系列及CCS11为例,介绍针对“flash is not available on this device”问题的两种解决方案。其它C2000系列芯片如F28003x/F28004x/F2837x/F2838x遇到这个问题,也可以使用本文方法来解决。

 

方法一:更改引导模式。

 

如图二所示,将引导模式管脚跳线为Wait Boot Mode, 这样上电时CPU会停留在芯片内部自带的BOOT ROM区,而不会进入到用户自己的Flash代码。

mcu

图二

这时连上仿真器,可以正常读取芯片信息,不会报之前的错误,接下来如图三所示,我们通过“ToolsàOn-Chip Flash”,在“Erase Settings”里面选择“Entire Flash”,然后点击“Erase Flash”把芯片整个Flash 擦除掉,此时芯片将变成空片。

mcu

图三

方法二:更改XML文件。

 

第一步:生成CCS logs 文件。

1a. 如图四所示,点击 “Help”,然后选择 “CCS Support”。

mcu

图四

1b. 如图五所示,选择“Debug Server Log”,然后点击“Properties”。

mcu

图五

1c. 如图六所示,勾上“Enable Debug Server Logging”,然后选择存储log 文件路径并命名,例如命名为test.log,然后点击OK。

mcu

图六

1d.启动CCS 仿真, 这时将生成log文件。

1f.用CCS 或者文本编辑器打开log 文件,如图七所示,查找Device ID, 把这个ID 号记下来,如(0x771923)。

mcu

图七

第二步:更改xml 文件。

2a. 在下面路径下找到TMS320F28002x.xml 文件。建议先备份好这个文件,后面需要用到这个备份文件。

C:\ti\ccs1100\ccs\ccs_base\c2000\nowFlash\configs

2b.用文本编辑器或者CCS打开TMS320F28002x.xml文件, 如图八所示,查找DeviceId,,将1f步骤里面记录下来的Device ID 号替换TMS320F28002x.xml文件里的DeviceId值。也就是将0x771973改成0x771923。然后保存更改并关闭CCS(记得一定要关闭CCS,因为xml更改只有在下一次CCS启动时才会生效)。

mcu

图八

第三步:启动CCS,进入仿真界面。

这时CCS不再报之前的错误, Flash 可以正常操作了。接下来我们通过“ToolsàOn-Chip Flash”,在“Erase Settings”里面选择“Entire Flash”,然后点击“Erase Flash”把芯片整个FLASH 擦除掉,此时芯片将变成空片。

第四步:恢复xml 文件。

可以将2a步骤里备份的TMS320F28002x.xml文件恢复,或者把现有TMS320F28002x.xml 里的DeviceId 从0x771923改回0x771973。

至此,芯片已经可以正常操作Flash 了, 问题得到解决。相比第一种方法,第二种方法的好处在于不需要硬件跳线, 对于客户实际操作来说会更加便捷。另外,如果第一种方法无效的话,也可以尝试第二种方法。

  审核编辑:汤梓红

 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分