Ⅰ 用ccs3.3 燒寫 dsp 28335 flash 問題
這樣的問題確實挺讓人頭痛的,往往這種情況還不報錯,非常讓人郁悶。28335我沒用過。如果你用的是2812我能立即給你解決了。28335的話,我給你說一下我調試的經驗吧。
1.看看編譯的時候有沒有錯誤。如果有錯的話,對應的去網上搜一下,往往都能找到一些方法。
2.跑個常式看看,如果常式都不能跑通的話。先查查硬體有沒有問題。
3.常式跑通之後,將你的程序改小,然後將程序刷進去看看。一般就是按常式那樣先一個模塊一個模塊的跑。如果加上某個模塊不工作了,你看看有沒有明顯錯誤。如果沒有,單獨跑一下這個模塊。如果單獨可以跑的話。很有可能是cmd段分配和ccs設置的問題了。你可以試試在項目中右擊,選擇Properties(Alt+Enter),在如下圖所示的選項卡中選擇Optimization level,將其設置為off即不優化。
4.下載進去之後,再在線調一下。在main開始處打個斷點試試。如果程序是跑飛的進不了main.以2812為例,我建議你檢查一下你的Boot ROM是不是選擇的從內部啟動。2812上有個引腳MP/MC(微處理器模式/微計算機模式),如果這個引腳為0說明被設置為從內部boot啟動,你看一下28335有沒有類似的引腳,建議你出現ram中能運行,flash中不能運行的問題時,首先檢查這引腳的狀態。
5.檢查你的flash cmd文件,建議你先從Debug文件夾下的.map文件看起。.map文件是十分用於的。它包含了你編譯出的所有段和定義的所有段的所有信息,包括段的起始地址、長度、使用長度和未使用長度。包括編譯生成的test、cinint等段的信息,如果你發現某個段定義了但沒有使用,很有可能是因為你這個段長度太小了,它放不進去就不放了。你了解一下cmd的編寫對應看map文件改改看。
ps:我的版本是ccs5.5,工程項目以在ccs3.3下創建的為例。.map文件部分截圖如下:
Ⅱ 如何通過串口燒寫dsp的hex文件
該方法也非常得便捷,方便。C2Prog是一款優秀的第三方軟體,可以將.hex文件通過串口燒寫程序到DSP板中,簡單實用。壓縮包中有對應的開發軟體和使用文檔