新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > PicoBlaze軟核的仿真與調試

        PicoBlaze軟核的仿真與調試

        作者: 時間:2013-01-25 來源:網絡 收藏

        2 程序快速更新方法

        編譯后的程序存儲在FPGA中的BRAM單元中,在基于的項目時,若采用傳統的方法,那么每次改變PicoBlaze的匯編程序時都要重新綜合、布局布線,生成新的比特文件,往往需要幾分鐘到十幾分鐘,耗時耗力;而采用JTAG Loader進行則無需重新綜合、布局布線,可通過JTAG接口直接修改PicoBlaze的程序BRAM,只需幾秒即可完成,大大加快了調試進度[2]。JTAG Loader程序更新接口示意圖如圖2所示。

        圖2 JTAG Loader程序更新接口示意圖

        由圖2可知,JTAG Loader通過JTAG接口直接修改程序BRAM,達到更新PicoBlaze程序的目的。整個過程簡便迅速,并且Xilinx公司提供了相應的JTAG_Loader_ROM_form.vhd模板和批處理文件,用戶在初次使用時設置好相關參數后,只需運行批處理文件即可實現PicoBlaze程序的一鍵更新。JTAG Loader的使用步驟如下:

        ① 將JTAG_Loader_ROM_form.vhd重命名為ROM_form.vhd,并替換原工程目錄下的ROM_form.vhd。

        ② 用kcpsm3.exe重新編譯程序。

        ③ 將程序ROM的reset端連接到PicoBlaze的復位端。

        ④ 將JTAG Loader文件夾下的hex2svf.exe、hex2svfsetup.exe、playxsvf.exe、svf2xsvf.exe和jtag_loader.bat復制到工程目錄下。

        ⑤ 編輯jtag_loader.bat文件。

        (a) 并口下載電纜方式。打開jtag_loader.bat文件,輸入下列內容:

        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文件,輸入下列內容:

        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即可。

        ⑥ 運行jtag_loader.bat,按提示進行即可實現程序更新。值得注意的是,第一次運行jtag_loader.bat時,需輸入IR_Length參數,該參數可以在ISE安裝目錄下查到,如:D:Xilinx10.1ISEacecfdataxccace.bsd文件中的attribute INSTRUCTION_LENGTH of XCCACE : entity is 8。其他器件的查閱方法類似。

        本方法已在Xilinx XUP VirtexII PRO開發板上進行了驗證,取得了良好的效果,整個程序過程僅需幾秒,即可實現程序的一鍵更新。

        結語

        8位嵌入式處理器PicoBlaze應用靈活方便。本文介紹的基于pBlazIDE的PicoBlaze匯編程序調試方法和基于JTAG Loader的PicoBlaze程序快速更新方法簡便可行,可明顯提高PicoBlaze項目調試效率,具有較高的應用價值。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 福贡县| 刚察县| 鲁甸县| 临沭县| 娄底市| 宜兴市| 宽城| 青阳县| 芷江| 克拉玛依市| 平遥县| 祁阳县| 天全县| 广安市| 建水县| 札达县| 重庆市| 会东县| 修武县| 彰武县| 满城县| 兴海县| 电白县| 金乡县| 苍南县| 兴安盟| 定边县| 龙游县| 榆树市| 贺州市| 盐山县| 中西区| 从化市| 乌审旗| 揭西县| 江川县| 繁峙县| 大理市| 叶城县| 朝阳区| 翁牛特旗|