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

使用MAXI接口的最簡單方法是什么?
一種節省能源的簡單方法
如何去實現一種基于RT-Thread+RA6M4的遠程開機助手設計
一種寬范圍微弱直流信號測量的簡單方法
多節點大容量FPGA系統的遠程升級方法

簡單介紹一種遠程傳輸監控的數據采集方法

設計一種跳轉到Avalon總線的簡單方法
如何實現遠程FPGA的更新和重啟

評論