PicoBlaze軟核的仿真與調(diào)試
2 PicoBlaze程序快速更新方法
PicoBlaze軟核編譯后的程序存儲在FPGA中的BRAM單元中,在調(diào)試基于PicoBlaze的項(xiàng)目時(shí),若采用傳統(tǒng)的調(diào)試方法,那么每次改變PicoBlaze的匯編程序時(shí)都要重新綜合、布局布線,生成新的比特文件,往往需要幾分鐘到十幾分鐘,耗時(shí)耗力;而采用JTAG Loader進(jìn)行調(diào)試則無需重新綜合、布局布線,可通過JTAG接口直接修改PicoBlaze的程序BRAM,只需幾秒即可完成,大大加快了調(diào)試進(jìn)度[2]。JTAG Loader程序更新接口示意圖如圖2所示。
圖2 JTAG Loader程序更新接口示意圖
由圖2可知,JTAG Loader通過JTAG接口直接修改程序BRAM,達(dá)到更新PicoBlaze程序的目的。整個(gè)過程簡便迅速,并且Xilinx公司提供了相應(yīng)的JTAG_Loader_ROM_form.vhd模板和批處理文件,用戶在初次使用時(shí)設(shè)置好相關(guān)參數(shù)后,只需運(yùn)行批處理文件即可實(shí)現(xiàn)PicoBlaze程序的一鍵更新。JTAG Loader的使用步驟如下:
① 將JTAG_Loader_ROM_form.vhd重命名為ROM_form.vhd,并替換原工程目錄下的ROM_form.vhd。
② 用kcpsm3.exe重新編譯程序。
③ 將程序ROM的reset端連接到PicoBlaze的復(fù)位端。
④ 將JTAG Loader文件夾下的hex2svf.exe、hex2svfsetup.exe、playxsvf.exe、svf2xsvf.exe和jtag_loader.bat復(fù)制到工程目錄下。
⑤ 編輯jtag_loader.bat文件。
(a) 并口下載電纜方式。打開jtag_loader.bat文件,輸入下列內(nèi)容:
if exist .hex2svf.cnf goto one
echo Need to set up jtag chain first
hex2svfsetup.exe
echo jtag chain set up
pause
:one
hex2svf %1.hex %1.svf
svf2xsvf d i %1.svf o %1.xsvf
playxsvf %1.xsvf
將jtag_loader.bat中的1%替換為.psm的文件名,例如led.psm,則將1%替換為led。
(b) USB下載電纜方式。打開jtag_loader.bat文件,輸入下列內(nèi)容:
if exist .hex2svf.cnf goto one
echo Need to set up jtag chain first
hex2svfsetup.exe
echo jtag chain set up
pause
:one
hex2svf %1.hex %1.svf
svf2xsvf d i %1.svf o %1.xsvf
@echo setMode bscanimpact_batch_commands.cmd
@echo setCable port usb21 baud 1impact_batch_commands.cmd
@echo addDevice position 1 file .%1.xsvfimpact_batch_commands.cmd
@echo playimpact_batch_commands.cmd
@echo quitimpact_batch_commands.cmd
impact batch impact_batch_commands.cmd
將jtag_loader.bat中的1%替換為.psm的文件名,例如led.psm,則將1%替換為led即可。
⑥ 運(yùn)行jtag_loader.bat,按提示進(jìn)行即可實(shí)現(xiàn)程序更新。值得注意的是,第一次運(yùn)行jtag_loader.bat時(shí),需輸入IR_Length參數(shù),該參數(shù)可以在ISE安裝目錄下查到,如:D:Xilinx10.1ISEacecfdataxccace.bsd文件中的attribute INSTRUCTION_LENGTH of XCCACE : entity is 8。其他器件的查閱方法類似。
本方法已在Xilinx XUP VirtexII PRO開發(fā)板上進(jìn)行了驗(yàn)證,取得了良好的效果,整個(gè)程序過程僅需幾秒,即可實(shí)現(xiàn)程序的一鍵更新。
結(jié)語
8位嵌入式處理器PicoBlaze應(yīng)用靈活方便。本文介紹的基于pBlazIDE的PicoBlaze匯編程序仿真調(diào)試方法和基于JTAG Loader的PicoBlaze程序快速更新方法簡便可行,可明顯提高PicoBlaze項(xiàng)目調(diào)試效率,具有較高的應(yīng)用價(jià)值。
評論