<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > PicoBlaze軟核的仿真與調(diào)試

          PicoBlaze軟核的仿真與調(diào)試

          作者: 時(shí)間:2013-01-25 來源:網(wǎng)絡(luò) 收藏

          2 程序快速更新方法

          編譯后的程序存儲在FPGA中的BRAM單元中,在基于的項(xiàng)目時(shí),若采用傳統(tǒng)的方法,那么每次改變PicoBlaze的匯編程序時(shí)都要重新綜合、布局布線,生成新的比特文件,往往需要幾分鐘到十幾分鐘,耗時(shí)耗力;而采用JTAG Loader進(jìn)行則無需重新綜合、布局布線,可通過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à)值。


          上一頁 1 2 下一頁

          關(guān)鍵詞: PicoBlaze 軟核 仿真 調(diào)試

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();