在使用C2000MCU產品的時候,有可能會碰到仿真器連上目標板以后報“flash is not available on this device”,詳細報錯信息如下,而事實上芯片本身是有Flash的。
C28xx_CPU1: GEL Output:
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的所有操作(擦除,編程,校驗,讀取)都會報圖一所示錯誤。

圖一
出現這種情況的原因可能是芯片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代碼。

圖二
這時連上仿真器,可以正常讀取芯片信息,不會報之前的錯誤,接下來如圖三所示,我們通過“ToolsàOn-Chip Flash”,在“Erase Settings”里面選擇“Entire Flash”,然后點擊“Erase Flash”把芯片整個Flash 擦除掉,此時芯片將變成空片。

圖三
方法二:更改XML文件。
第一步:生成CCS logs 文件。
1a. 如圖四所示,點擊 “Help”,然后選擇 “CCS Support”。

圖四
1b. 如圖五所示,選擇“Debug Server Log”,然后點擊“Properties”。

圖五
1c. 如圖六所示,勾上“Enable Debug Server Logging”,然后選擇存儲log 文件路徑并命名,例如命名為test.log,然后點擊OK。

圖六
1d.啟動CCS 仿真, 這時將生成log文件。
1f.用CCS 或者文本編輯器打開log 文件,如圖七所示,查找Device ID, 把這個ID 號記下來,如(0x771923)。

圖七
第二步:更改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啟動時才會生效)。

圖八
第三步:啟動CCS,進入仿真界面。
這時CCS不再報之前的錯誤, Flash 可以正常操作了。接下來我們通過“ToolsàOn-Chip Flash”,在“Erase Settings”里面選擇“Entire Flash”,然后點擊“Erase Flash”把芯片整個FLASH 擦除掉,此時芯片將變成空片。
第四步:恢復xml 文件。
可以將2a步驟里備份的TMS320F28002x.xml文件恢復,或者把現有TMS320F28002x.xml 里的DeviceId 從0x771923改回0x771973。
至此,芯片已經可以正常操作Flash 了, 問題得到解決。相比第一種方法,第二種方法的好處在于不需要硬件跳線, 對于客戶實際操作來說會更加便捷。另外,如果第一種方法無效的話,也可以嘗試第二種方法。
審核編輯:湯梓紅
-
mcu
+關注
關注
147文章
18924瀏覽量
397987 -
FlaSh
+關注
關注
10文章
1748瀏覽量
155503 -
仿真器
+關注
關注
14文章
1051瀏覽量
87257 -
C2000
+關注
關注
5文章
212瀏覽量
42266
發布評論請先 登錄
dsp報錯Flash Programmer
德州儀器推出超低成本實時微控制器 (MCU),助力家用電器和電動工具實現高端電機控制
Texas Instruments TMS320F28P65x/TMS320F28P65x-Q1實時MCU數據手冊
谷東智能C2000 AR智能眼鏡推動航空航天行業數字化轉型
納芯微NSSine? NS800RT正面硬剛TI C2000,國產替代“芯”戰事, 工業控制MCU市場迎來變局?
MCU片上Flash
16 位 ADC 的 汽車類與非汽車類C2000? 32 位 MCU(TMS320F28377DPTPS TMS320F28377SPTPQ)微控制器
TMS320F2800155 C2000? 32 位 MCU 120MHz 128KB 閃存數據手冊
TMS320F280034-Q1 汽車級 C2000? 32 位 MCU 120MHz 128KB 閃存數據手冊
TMS320F2800133 C2000? 32 位 MCU,具有 120 MHz、64 KB 閃存、FPU 和 TMU數據手冊
TMS320F2800152-Q1 具有 CAN-FD、鎖步 ASIL B 的汽車級 C2000? 32 位 MCU 100MHz 64KB 閃存數據手冊
TMS320F2800153-Q1 具有 HRPWM、CAN-FD、鎖步 ASIL B 的汽車類 C2000? 32位MCU 120MHz 64KB 閃存數據手冊
F29H850TU C2000? 64 位 MCU,帶 C29x 200MHz 三核技術手冊
TMS320F28P550SG C2000? 32 位 MCU技術手冊
F29H859TU-Q1 汽車級 C2000? 64 位 MCU數據手冊
C2000 MCU flash報錯的解決方案
評論