長(zhǎng)期以來(lái),總是有不同級(jí)別的工程師在使用Blackfin開(kāi)發(fā)產(chǎn)品時(shí)遇到這樣的問(wèn)題:在VDSP或CCES下調(diào)試dxe,一切都正常,但是燒寫(xiě)ldr脫機(jī)運(yùn)行時(shí),程序甚至連啟動(dòng)都不能啟動(dòng)。作為技術(shù)應(yīng)用工程師,我深感與其每次逐個(gè)解答客戶的疑問(wèn),不如讓客戶掌握一種調(diào)試方法,更高效地解決問(wèn)題。下面就分別以BF518和BF609為例,簡(jiǎn)單介紹一下這種調(diào)試ldr的方法,其它Blackfin的調(diào)試方法類(lèi)似。
• Visual DSP++下的調(diào)試
1. 為了方便調(diào)試,修改你的程序,在0XFFA0 0000這個(gè)位置加一句jump.s 0。生成新的ldr并下載到flash或其它存儲(chǔ)設(shè)備。 2. 配置Halt Only的平臺(tái)。 a. 打開(kāi)Visual DSP++,選擇Disconnect from Target,然后在菜單上選擇session->New Session… b. 點(diǎn)擊configurator
c. 雙擊你所用的芯片 d. 在Platform Properties窗口里,雙擊Devices List里的器件。 e. 在新彈出的Device Properties窗口里,選擇halt(或者do not disturb) f. 選擇OK,保存剛剛的設(shè)置。
3. 關(guān)閉Visual DSP++,把燒好ldr的目標(biāo)板連接上JTAG,上電。 4. 建立新session。 a. 回到session wizard(點(diǎn)擊New Session出現(xiàn)的窗口),選中你要用的芯片,點(diǎn)擊Next,選則相應(yīng)的連接類(lèi)型(Select Connection Type),點(diǎn)擊Next,這時(shí)的Select Platform窗口會(huì)出現(xiàn)你剛剛配置的平臺(tái)。選中該平臺(tái),然后依次點(diǎn)擊Next和Finish建立連接。
5. 通常,系統(tǒng)無(wú)法正常BOOT,當(dāng)Visual DSP++連接到目標(biāo)板掛起程序時(shí),程序已經(jīng)出錯(cuò)。我們通過(guò)程序是否停在jump.s 0來(lái)判斷BOOT過(guò)程是否完成。如果BOOT完成,系統(tǒng)在這里循環(huán)等待Visual DSP++接管控制權(quán)。剛連接session時(shí),會(huì)執(zhí)行一個(gè)仿真器中斷程序,在0xEFxx xxxx處,按F5或者點(diǎn)擊RUN之后,如果程序沒(méi)有執(zhí)行到0xFFA0 0000,說(shuō)明Boot過(guò)程出錯(cuò),則需要查看SDRAM是否配置正確,Boot模式選擇是否正確,如果這兩者都正確,則可能需要用示波器觀察啟動(dòng)器件的時(shí)序進(jìn)一步分析。如果正常BOOT,程序會(huì)在0xFFA0 0000等待。你可以在寄存器窗口里修改PC的值到下一條指令的位置,這樣,你就可以單步跟蹤以后的執(zhí)行情況了。 6. BF51x,BF52x,BF54x這幾個(gè)系列的Blackfin支持Lockbox技術(shù),能夠嚴(yán)格地保護(hù)客戶的代碼安全。不過(guò),它們對(duì)啟動(dòng)也有特殊的要求:即使你不用Lockbox技術(shù),即不需要用到OTP,也必須給OTP供電,否則芯片將無(wú)法正常BOOT。
• CCES下的調(diào)試
CCES下對(duì)“halt only”這類(lèi)session的定義和Visual DSP++很不一樣。 1. 為了方便調(diào)試,可以在芯片L1 code的起始地址加一句jump.s 0,生成新的ldr并下載到flash或其它存儲(chǔ)設(shè)備。 2. 用仿真器連接已經(jīng)燒寫(xiě)好ldr的板子和裝有CCES的電腦,和VDSP的調(diào)試一樣,在連接之前,板子和仿真器都不要上電。連接之后給二者上電。 3. 打開(kāi)CCES,打開(kāi)你要調(diào)試的工程所在的workspace,右鍵點(diǎn)擊該工程,選擇“debug as”里的debug configurations。 4. 在debug configurations窗口里,session列,program(s) to load欄目下,點(diǎn)擊并加載你要調(diào)試的工程,比如這里的vat_real_time_adsp_bf609 Debug。也可以點(diǎn)擊右側(cè)Edit按鈕修改已選session的配置。
5. 彈出窗口如下圖所示,在option里,選擇load symbol only,則第四個(gè)選項(xiàng)自動(dòng)變灰,不能選擇;一定不要選擇reset core before load。 6. 按OK保存你的設(shè)置;氐礁复翱,點(diǎn)擊Debug即可開(kāi)始調(diào)試。 7. 用在VDSP下同樣的方法進(jìn)行跟蹤調(diào)試。
具體可見(jiàn)此文檔:鏈接: https://pan.baidu.com/s/1eNLijwFGdU6WEinpuIFsXw 密碼: 126s
|