CCS6.0調試DSP28335,仿真器爲100V2,在調用的函數前打斷點,程序運行到斷點,再點單步運行,程序跑到調用函數前面的幾行,有時候甚至跑到註釋。繼續單步運行,程序運行箭頭在註釋中一行一行的執行,但是對應變量值卻變了,說明CCS6.0單步運行顯示的位置與程序實際運行的位置不對應。
一開始懷疑仿真器問題,換了仿真器後,也是這樣。斷點位置、單步運行位置和實際執行語句不是同一句。
發現問題:CCS編譯器的行數與UEdit和SourceInsight下的行數不同,在CCS該函數前打斷點,單步運行時箭頭直接走到1175行。
CCS:
UEdit:
SourceInsight:
CCS環境下,兩行語句之間會憑空多出一行空行,積少成多,行號相差很大值
解決:
用UEdit或Notepad++打開錯位串行的文件,格式由Windows改爲UNIX,重新編譯後CCS行號正確(如果仍不正確,改成DOS格式試一下,不同的編譯器支持的格式不同,看一下不串行的文件是什麼格式)。