之前介紹過(guò)一種遠(yuǎn)程(無(wú)線)更新的方式,詳見(jiàn)《起飛!通過(guò)無(wú)線WIFI下載調(diào)試FPGA》,這種方式缺點(diǎn)有兩個(gè):一是速度較慢;二是我們的設(shè)備中需要增加一個(gè)無(wú)線設(shè)備,增加成本的同時(shí)增加了暴露的風(fēng)險(xiǎn)。這兩點(diǎn)即無(wú)法在調(diào)試的時(shí)候使用也沒(méi)辦法在實(shí)際設(shè)備中使用。今天我們?cè)俳榻B另一種簡(jiǎn)單方式。
下面是目前我們很多設(shè)備常用的硬件架構(gòu),這種架構(gòu)中,我們可以很方便使用嵌入式設(shè)備作為“橋梁”用來(lái)調(diào)試FPGA,其實(shí)這也是XVC方案的“變種”。
為了演示上面的方案,使用樹(shù)莓派+FPGA進(jìn)行方案驗(yàn)證。
Xilinx 的 Platform Cable USB II
Jtag Pi
我們知道正常的調(diào)試器/下載區(qū)的JTAG接口可以兼容很多芯片,所以首先需要制作一個(gè)擴(kuò)展板進(jìn)行IO口電平兼容設(shè)計(jì),硬件如下:
將Jtag Pi 連接到 raspberry Pi 和在其上運(yùn)行的軟件應(yīng)用程序,我們就有了一個(gè)便宜的遠(yuǎn)程編程器。
如何使用
將 Jtag Pi 連接到 Raspberry Pi 之上后,我們需要將 Xilinx Virtual Cable for Raspberry Pi 應(yīng)用程序復(fù)制到板上。我通過(guò) SSH 將它復(fù)制到我的主目錄中。然后只需進(jìn)入該目錄并運(yùn)行:
make
就會(huì)看到編譯輸出:
cc-std=gnu99-O3-c-oxvcpi.oxvcpi.c cc-oxvcpixvc
之后我們有一個(gè)編譯的應(yīng)用程序。運(yùn)行它:
sudo./xvcpi
完畢!
現(xiàn)在我們可以試一試了。
測(cè)試
我們需要將 Jtag Pi 和 FPGA 連接。
引腳 Vcc 連接到 FPGA 板的 Vref。它用于對(duì)信號(hào)進(jìn)行電壓轉(zhuǎn)換(電壓取決于電路板)。
首先我們運(yùn)行 Xilinx Vivado。然后從主菜單中選擇Open Hardware Manager 。
在硬件管理器中,我們將看到硬件選項(xiàng)卡,我們可以在其中使用連接器圖標(biāo)打開(kāi)目標(biāo)。
之后我們將連接到本地主機(jī) hw_server。
現(xiàn)在右鍵單擊 localhost 并選擇Add Xilinx Virtual Cable (XVC)。現(xiàn)在在彈出窗口中輸入 Raspberry Pi IP(WiFi 或以太網(wǎng) - 取決于使用的網(wǎng)絡(luò))。
連接后將看到一些已識(shí)別的設(shè)備——在我們的例子中我們看到 xc7z007s。
現(xiàn)在我們可以為 FPGA 選擇 bit 文件并對(duì)其進(jìn)行遠(yuǎn)程編程。
測(cè)試如下,對(duì) FPGA 進(jìn)行下載需要 5 秒(Zynq 7z007s 的比特流大小約為 17Mb)。如果比特流中有調(diào)試內(nèi)核,還可以讀取 XADC 值或ila進(jìn)行調(diào)試。
項(xiàng)目地址
https://github.com/kholia/xvcpi
https://bitbucket.org/Mylium/xvcpi/src/master/
總結(jié)
樹(shù)莓派板載了wifi和1G 網(wǎng)口,所以可以使用無(wú)線或者有線進(jìn)行調(diào)試。對(duì)應(yīng)于實(shí)際設(shè)備中,上面的代碼很容易移植到新的嵌入式設(shè)備,也無(wú)需浪費(fèi)時(shí)間和精力在FPGA上做遠(yuǎn)程更新的手段。
PS:Jtag Pi不是必須得,只要樹(shù)莓派的IO電平和FPGA電平標(biāo)準(zhǔn)兼容即可。
-
FPGA
+關(guān)注
關(guān)注
1650文章
22214瀏覽量
627685 -
嵌入式
+關(guān)注
關(guān)注
5177文章
19996瀏覽量
325153 -
WIFI
+關(guān)注
關(guān)注
81文章
5438瀏覽量
210944 -
遠(yuǎn)程調(diào)試
+關(guān)注
關(guān)注
0文章
58瀏覽量
8857 -
遠(yuǎn)程更新
+關(guān)注
關(guān)注
0文章
8瀏覽量
7687
原文標(biāo)題:FPGA遠(yuǎn)程更新/遠(yuǎn)程調(diào)試的一種簡(jiǎn)單方法
文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
遠(yuǎn)程在線更新FPGA程序的方法

Xilinx FPGA遠(yuǎn)程調(diào)試方法(一)

Xilinx FPGA遠(yuǎn)程調(diào)試方法(二)

使用MAXI接口的最簡(jiǎn)單方法是什么?
求一種基于EPCS Flash的遠(yuǎn)程在線更新FPGA程序的方法
一種節(jié)省能源的簡(jiǎn)單方法
如何去實(shí)現(xiàn)一種基于RT-Thread+RA6M4的遠(yuǎn)程開(kāi)機(jī)助手設(shè)計(jì)
一種寬范圍微弱直流信號(hào)測(cè)量的簡(jiǎn)單方法
多節(jié)點(diǎn)大容量FPGA系統(tǒng)的遠(yuǎn)程升級(jí)方法

簡(jiǎn)單介紹一種遠(yuǎn)程傳輸監(jiān)控的數(shù)據(jù)采集方法

設(shè)計(jì)一種跳轉(zhuǎn)到Avalon總線的簡(jiǎn)單方法
如何實(shí)現(xiàn)遠(yuǎn)程FPGA的更新和重啟

AN143-一種準(zhǔn)確預(yù)測(cè)泄漏電流引起的PLL參考雜散電平的簡(jiǎn)單方法

評(píng)論