PYNQ-Z2-開箱測試

1.PYNQ 簡介

PYNQ-Z1 開發板支持 PYNQ 項目,這是一個新的開源框架,使嵌入式編程人員能夠在無 需設計可編程邏輯電路的情況下即可充分發揮 Xilinx Zynq All Programmable SoC(APSoC) 的功能。與常規方式不同的是,通過 PYNQ,用戶可以使用 Python 進行 APSoC 編程,並 且代碼可直接在 PYNQ-Z1 上進行開發和測試。通過 PYNQ,可編程邏輯電路將作爲硬件 庫導入並通過其 API 進行編程,其方式與導入和編程軟件庫基本相同。

PYNQ-Z1 開發板是 PYNQ 開源框架的硬件平臺。在 ARM A9 CPU 上運行的軟件包括:

  • 載有 Jupyter Notebooks 設計環境的網絡服務器
  • IPython 內核和程序包
  • Linux
  • FPGA 的基本硬件庫和 API4

2. Jupyter Notebook 簡介

Jupyter Notebook 是一個基於瀏覽器的交互式編程計算環境。在使用 Jupyter Notebook 編 程時,文件裏可以包含代碼、畫圖、註釋、公式、圖片和視頻。當 PYNQ 開發板上安裝好 鏡像文件,就可以在 Jupyter Notebook 裏輕鬆地用 Python 編程,使用硬件庫及 Overlay 控制硬件平臺及交互。

3. 軟硬件準備

1) 硬件準備

  • PYNQ-Z1 開發板
  • 以太網線
  • Micro USB 數據線
  • 空白 Micro SD 卡(最少 8GB 容量)

2) 軟件準備

電腦上安裝有支持 Jupyter 的瀏覽器

提示:以下瀏覽器的最新穩定版本可支持 Jupyter Notebook*

  • Chrome
  • Safari
  • Firefox

* 主要由 Jupyter Notebook 使用的 WebSockets 和可變沙箱模型決定

不支持 Jupyter 的瀏覽器:

  • Safari,低於版本 5
  • Firefox,低於版本 6
  • Chrome,低於版本 13
  • 全部 OperaCSS 渲染原因導致,但是執行時有可能可以用
  • Internet Explorer 瀏覽器,低於版本 10
  • Internet Explorer 瀏覽器,版本 10 及以上(同 Opera
  • 基於 IE 360 瀏覽器

* 請注意,Safari HTTPSSSL 安全加密的超文本鏈接協議)和不可信證書下無法正 常工作(主要是 WebSockets 無法正常工作)

  • 獲取鏡像文件
  • 下載 PYNQ-Z1 鏡像文件http://www.digilent.com.cn/community/411.html並解壓
  • 將空白的 SD 卡插入電腦(最小需 8GB 容量),燒寫鏡像文件
  • Windows 系統:使用 win32DiskImager 燒寫。Image File 選擇下載好的
  • 鏡像文件。Device 選擇 SD 卡的位置,一般會自動分配爲 E 盤或 F 盤。

  • Linux 系統/MacOS:使用系統自帶 dd 命令,在不同操作系統上燒寫

Micro SD 的操作細節,可參考教程 http://pynq.readthedocs.io/en/latest/appendix.html#writing-the-sd-card

4. PYNQ-Z1 硬件設置

  • 1. 如上圖所示,將跳帽插在最上邊兩個排針上,設置 boot 跳線(板上標記的 JP4)到 SD 位置,選擇爲從 SD 卡驅動
  • 2. 要想通過 Micro USB 線對 PYNQ-Z1 進行供電,需如圖所示將跳帽插在的最下邊兩個 排針上,設置電源跳線(JP5)到 USB 的位置(你也可以使用 12V 外部電源對 PYNQ-6 Z1 進行供電,將跳帽插在的最上邊兩個排針上,設置電源跳(JP5)到 REG 的位置)
  • 3. 將已安裝鏡像文件的 SD 卡插入 SD 卡槽(如圖所示,SD 卡槽在開發板下方右側邊緣)
  • 4. 使用 Micro USB 線將 PYNQ 開發板的 PROG UART(J14)接口連接到電腦。這將用來 給 PYNQ 供電以及作爲串口通信
  • 5. 使用網線將 PYNQ 開發板連接到路由器或電腦(根據網線端口的選擇,後續操作會有不同)*
  • 6. 將開關撥到 ON 以打開 PYNQ,等待系統啓動。大約一分鐘後將有兩個藍色的 LED 和 四個黃綠色的 LED 同時閃動,隨後藍色 LED 關閉,四個黃綠色的 LED 燈亮。此時系統 啓動完畢。

* 關於板載以太網連接的詳細說明

你可以將 PYNQ-Z1 的以太網接口和以下設備連接:

  • 連接到一個路由器或者交換機上,與你的電腦在同一網絡下
  • 直接連在電腦的以太網接口上

可以的話,請將你的開發板連接到一個具有以太網訪問的網絡上。這可以讓你更新板子上

的軟件並可以安裝新的軟件包。

連接到網絡

如果你通過 DHCP 服務器連接到一個局域網絡,你的板子會自動獲取一個 IP 地址,你必須保證有足夠的權限通過網絡訪問到設備,否則板子可能無法正常訪問。

路由器/網絡交換機(DHCP)

  1. 將板載以太網接口連接到路由器/交換機上
  2. 通過瀏覽器訪問 http://pynq:9090
  3. 更改主機名稱(根據自身需求)
  4. 配置代理(根據自身需求)

直接連接到電腦

此時,你需要一臺有以太網接口的電腦,同時你需要擁有配置網絡接口的權限。通過直接相連,你就可以訪問使用 PYNQ-Z1 了。但是這裏需要注意,除非你能將以太網與電腦上具有 Internet 訪問的連接進行橋接,否則你的 PYNQ-Z1 是無法訪問 Internet 的。在沒有 Internet 連接的情況下,你不能更新或者加載新的軟件包。

直接連接你的電腦(靜態 IP)

  1. 給電腦配置一個靜態的 IP
  2. 將板載以太網接口與電腦的直接相連
  3. 訪問 http://192.168.2.99:9090

*如何配置靜態 IP 請參見 https://pynq.readthedocs.io/en/latest/appendix.html#assign-your-computer-a-static-ip

5. 連接到 Jupyter 進行在線編程

如果PYNQ通過網線連接到了路由器,PYNQ將被自動分配地址。打開http://pynq:9090,用戶名和密碼都是 xilinx,輸入後即可進入以下界面。如果 PYNQ 通過網線連接到了電腦,需要先設置電腦的 IP 地址,參考 https://pynq.readthedocs.io/en/latest/appendix.html#assign-your-computer-a-static-ip,然後再打開 http://192.168.2.99:9090。同樣,輸入用戶名及 密碼 xilinx,即可進入以下界面。

默認的主機名是 pynq,默認靜態 IP 地址是 192.168.2.99。如果你改變了主機名稱或者板子上的靜態 IP 地址,你需要改變你訪問的地址。第一次連接時,電腦會花費幾秒鐘的時間來確定主機名和 IP 地址。

PYNQ 通過 Jupyter Notebook 的形式來提供各種示例文檔。你可以以網頁形式瀏覽這些示例項目文檔,或者如果你有一個正在運行 PYNQ 鏡像的板子,你可以可交互式地查看並運行這些 Notebook 文檔。你也可以在 Jupyter 主頁上的 Getting_Started 文件夾中找到可以使用的 Notebook 文檔。

這裏也有許多示例文檔來展示如何使用各種板載設備。

此外,我們還提供了一些樣例展示如何使用不同的板載外圍設備。目前,所有我們已對所有這些示例文檔進行了分類:

  • common: 無針對性 overlay 的示例項目
  • base: 與 PYNQ-Z1 base overlay 相關的示例項目
  • logictools: 與 PYNQ-Z1 logictools overlay 相關的示例項目

當你打開一個筆記本並作出任何修改,或者執行代碼片段,notebook 文檔都將會被更改。這就需要你打開一個新的 notebook 時做好備份。如果你需要恢復原始版本,你可以從 PYNQ Github  https://github.com/xilinx/pynq 項目頁面上下載全部筆記本。

在 Running 一欄下,則可以看到正在運行的項目。

訪問板載文件

在 PYNQ 板上,運行有一個文件共享服務:Samba。通過它,板子上的主目錄可以作爲網

絡驅動器訪問,同時你可以將文件在板子和電腦間傳遞。

\\pynq\xilinx # If connected to a Network/Router with DHCP
\\192.168.2.99\xilinx # If connected to a Computer with a Static IP

或者在 Linux 下:

smb://pynq/xilinx # If connected to a Network/Router with DHCP
smb://192.168.2.99/xilinx # If connected to a Computer with a Static IP

然後會跳出下圖:

Samba 服務器的用戶名和密碼都是 xilinx。

注意:如果必要,請修改主機名/IP 地址。

更改 hostname

如果你連接在一個其它 PYNQ-Z1 開發板可能已經連接入的網絡下,建議你立即更改你的主機名稱。通常,這種情況在工作或者校園環境下會比較常見。PYNQ 的默認 hostname是 pynq , 終 端 被 內 嵌 在 Jupyter 中 。 在 Jupyter 的 主 頁 pynq:9090 界面 中 打 開New>>Terminal,你將以 root 權限在瀏覽器中打開一個終端:

在 Terminal 裏輸入以下指令更改 hostname(使用你自己希望給板子設置的主機名來替換 NEW_HOST_NAME 的位置):

sudo /home/xilinx/scripts/hostname.sh NEW_HOST_NAME

然後需要重啓 PYNQ 才能生效(使用新的主機名重新連接):

sudo shutdown -r now

注意:如果你以 root 權限登錄,則不需要使用 sudo。但是如果使用 xilinx 進行登錄,sudo 必須添加在這些命令之前。如果你不能訪問你的板子,瀏覽下面的步驟以通過 micro USB 線來打開終端。

通過 USB 接口連接電腦終端

如果你需要修改板載設置,但是無法訪問通過 Jupyter 訪問終端,你可以藉助 USB 接口, 通過電腦終端控制 PYNQ。此時我們需要安裝一個終端工具,比如 PuTTY 或者 Tera Term。 爲了打開終端,你需要知道開發板所在 COM 端口。

在 Windows 上,你可以在控制面板打開 Windows 設備管理器進行查看

  • 打開設備管理器,展開端口項
  • 找到 USB 串口所在 COM 端口,例如 COM5

一旦你知道了 COM 端口,打開 PuTTY 並使用下列設置:

  • 選擇 Serial
  • 輸入 COM 端口號
  • 輸入波特率
  • 然後點擊 Open 啓動

在終端窗口中按 Enter(回車)以確保你能看到命令行:

xilinnx@pynq:/home/xilinx#12

完整的終端設置如下:

  • 115200 baud
  • 8 data bits
  • 1 stop bit
  • No Parity
  • No Flow Control

在終端中按回車鍵,出現 xilinx@pynq:~$,即可輸入指令控制 pynq。比如輸入 hostname查看名稱,輸入 ifconfig 查看 IP 地址等。

設置代理

如果你的開發板連接到的是使用代理的網絡中,你需要在板上設置代理服務器。按照上方

教程打開終端,並輸入下列命令並將“my_http_proxy:8080”和“my_https_proxy:8080”更改

爲你自己的設置:

set http_proxy=my_http_proxy:8080

set https_proxy=my_https_proxy:8080

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章