資料介紹
描述
逐步了解如何為 Minized 創(chuàng)建可工作的 PYNQ 系統(tǒng)。
小型化作為低成本電路板為新開發(fā)人員提供了一個(gè)嘗試新功能或了解 FPGA 工作原理的切入點(diǎn)。本教程重點(diǎn)介紹如何使用現(xiàn)有工具為 Minized 創(chuàng)建 PYNQ 圖像,以便您對(duì)其進(jìn)行修改、創(chuàng)建疊加和學(xué)習(xí)!
那么,讓我們開始吧!
準(zhǔn)備環(huán)境
第一步是為我們的 PYNQ 項(xiàng)目創(chuàng)建 BSP。為此,您可以為 Minized下載預(yù)構(gòu)建的 BSP或按照我的其他教程進(jìn)行操作。
注意:我在創(chuàng)建本教程時(shí)跳過了一些步驟。如果您感到迷茫,請(qǐng)查看我以前的項(xiàng)目,如果您找不到解決方案,請(qǐng)發(fā)表評(píng)論。
注意:如果你需要干凈的 Ubuntu,你可以在這里下載一個(gè):https ://1drv.ms/u/s!As37uPW_18jehTkymDK5EiuWbuC1?e=JBEgII密碼是“root”。用oracle虛擬盒子打開就行了。運(yùn)行“setup_host.sh”(在 PYNQ 腳本文件夾中)并安裝 Xilinx 工具。
您將需要?jiǎng)?chuàng)建一些工作目錄。例如稱它為 Avnet。現(xiàn)在下載 Minized 的存儲(chǔ)庫(kù)并創(chuàng)建模板項(xiàng)目。
mkdir Avnet;
cd Avnet;
git clone https://github.com/Avnet/bdf.git --branch master;
git clone https://github.com/Avnet/hdl.git --branch 2019.1;
git clone https://github.com/Avnet/petalinux.git --branch 2019.1;
并從 Xilinx GitHub 下載 PYNQ 映像。
git clone https://github.com/Xilinx/PYNQ.git -b image_v2.5.4
修改 Vivado 項(xiàng)目
使用 Vivado 2019.1 打開項(xiàng)目
開放式塊設(shè)計(jì)
移除不必要的 IP 核并禁用未使用的 Zynq 接口(不必要)。
將“sdcard_mgr”IP 核添加到模塊設(shè)計(jì)中。
將“sdcard_mgr”連接到 Zynq EMIO 接口。
并修改約束:
打開“minized_petalinux.xdc”并添加:
#SD - CARD
set_property PACKAGE_PIN L15 [get_ports PMOD1_PIN1_0]
set_property IOSTANDARD LVCMOS33 [get_ports PMOD1_PIN1_0]
set_property PACKAGE_PIN M15 [get_ports PMOD1_PIN2_0]
set_property IOSTANDARD LVCMOS33 [get_ports PMOD1_PIN2_0]
set_property PACKAGE_PIN L14 [get_ports PMOD1_PIN3_0]
set_property IOSTANDARD LVCMOS33 [get_ports PMOD1_PIN3_0]
set_property PACKAGE_PIN M14 [get_ports PMOD1_PIN4_0]
set_property IOSTANDARD LVCMOS33 [get_ports PMOD1_PIN4_0]
set_property PACKAGE_PIN K13 [get_ports PMOD1_PIN7_0]
set_property IOSTANDARD LVCMOS33 [get_ports PMOD1_PIN7_0]
set_property PACKAGE_PIN L13 [get_ports PMOD1_PIN8_0]
set_property IOSTANDARD LVCMOS33 [get_ports PMOD1_PIN8_0]
set_property PACKAGE_PIN N13 [get_ports PMOD1_PIN9_0]
set_property IOSTANDARD LVCMOS33 [get_ports PMOD1_PIN9_0]
set_property PACKAGE_PIN N14 [get_ports PMOD1_PIN10_0]
set_property IOSTANDARD LVCMOS33 [get_ports PMOD1_PIN10_0]
保存模塊設(shè)計(jì)并生成新的比特流。
單擊文件 → 導(dǎo)出 → 硬件以導(dǎo)出項(xiàng)目 HDF。
這將創(chuàng)建新的“MINIZED_wrapper.hdf”
注意:我已經(jīng)刪除了 previous.hdf 文件
修改 Petalinux 項(xiàng)目
注意:如果你不想玩 petalinux,你可以跳過這整個(gè)部分。只需下載一個(gè) Avnet 的 BSP 并將其用于創(chuàng)建 PYNQ rootfs,使用它對(duì) EMMC 內(nèi)存進(jìn)行編程(使用最小的 petalinux 映像和 USB 記憶棒并將文件復(fù)制到 EMMC)。使用其他引導(dǎo)到 EMMC 的 BOOT.bin。稍后 PYNQ 將下載覆蓋并覆蓋由 BOOT.bin 編程的比特流。
轉(zhuǎn)到由 Avnet 腳本或 BSP 創(chuàng)建的 petalinux 項(xiàng)目
petalinux-create -t project -n MzPynq --template zynq
更改 petalinux 項(xiàng)目的引用 HDF。
此命令將在 MINIZED.sdk 文件夾中搜索.hdf 文件。如果有兩個(gè).hdf 文件,petalinux 會(huì)返回錯(cuò)誤。
petalinux-config --get-hw-description=../../../hdl/Projects/minized_petalinux/MINIZED_2019_1/MINIZED.sdk/
(可選)啟用 FPGA 管理器。
轉(zhuǎn)到圖像打包配置并將根文件系統(tǒng)更改為 SD 卡。Image.ub 將在 /dev/mmcblk0p2 分區(qū)上搜索 rootfs。
修改引導(dǎo)順序以在主 sd 上查找“image.ub”
保存并退出。
轉(zhuǎn)到 MzPynq → 項(xiàng)目規(guī)范 → 元用戶 → recipes-bsp → 設(shè)備樹 → system_user.dtsi
cd project-spec/meta-user/recipes-bsp/device-tree/
gedit system_user.dtsi
并更改設(shè)備樹
/include/ "system-conf.dtsi"
/ {
aliases {
serial0 = &uart1;
serial1 = &uart0;
};
};
&flash0 {
compatible = "micron,n25q128", "jedec,spi-nor";
};
/{
usb_phy0: usb_phy@0 {
compatible = "ulpi-phy";
#phy-cells = <0>;
reg = <0xe0002000 0x1000>;
view-port = <0x0170>;
drv-vbus;
};
};
&usb0 {
dr_mode = "otg";
usb-phy = <&usb_phy0>;
} ;
&qspi {
#address-cells = <1>;
#size-cells = <0>;
flash0: flash@0 {
compatible = "micron,m25p80";
reg = <0x0>;
#address-cells = <1>;
#size-cells = <1>;
spi-max-frequency = <50000000>;
};
};
/* SD Interface for PMOD */
&sdhci0 {
status = "okay";
non-removeable;
bus-width= <4>;
xlnx,has-cd = <0x0>;
xlnx,has-power = <0x0>;
xlnx,has-wp = <0x0>;
mmccard: mmccard@0 {
reg = <0>;
compatible = "mmc-card";
/* broken-hpi; */
};
};
/ {
};
保存并
petalinux-build
如果在打開 FPGA 管理器的情況下構(gòu)建通過,這意味著也應(yīng)該在 PYNQ 中構(gòu)建。
您可以關(guān)閉 FPGA 管理器并根據(jù)修改后的硬件創(chuàng)建新的 BSP
petalinux-config
petalinux-build;
petalinux-package --bsp -p /home/bartek/Minized_Pynq/Avnet/petalinux/projects/MzPynq -o Minized_Pynq
使用打包的 BOOT.bin 最小化程序
cd ../../../../images/linux/;
petalinux-package --boot --fpga --fsbl --u-boot --force;
program_flash -f BOOT.BIN -fsbl zynq_fsbl.elf -flash_type qspi-x4-single;
對(duì) PYNQ 的修改
Note:
如果您在 Avnet BSP 的 EMMC 內(nèi)存上構(gòu)建 Minized PYNQ。您應(yīng)該將 pynq_bootargs.dtsi 更改為“/dev/mmcblk1p2”。
轉(zhuǎn)到 PYNQ → sdbuild → 腳本并運(yùn)行“setup_host.sh”
這用于下載構(gòu)建 PYNQ 映像所需的所有文件和程序。
cd PYNQ/sdbuild/scripts/
bash setup_host.sh
腳本完成后,您可以獲取 Vivado 和 SDK 進(jìn)行構(gòu)建:
source /home/bartek/petalinux20191/settings.sh;
source /home/bartek/Xilinx/Vivado/2019.1/settings64.sh;
source /home/bartek/Xilinx/SDK/2019.1/settings64.sh;
轉(zhuǎn)到 PYNQ → sdbuild 文件夾并嘗試:
make BOARDS=Pynq-Z1
查看 PYNQ 是否設(shè)置正確。
?
我將使用現(xiàn)有的 PYNQ 2.5 imagerootfs for arm
注意:點(diǎn)擊此鏈接可將 Image 快速移植到 PYNQ。
轉(zhuǎn)到 PYNQ → sdbuild 并輸入:
bash scripts/image_from_prebuilt.sh MinizedPynq Minized_Pynq.bsp arm bionic.arm.2.5.img;
構(gòu)建完成后,您將在 PYNQ → sdbuild → 輸出中擁有輸出文件夾
使用您的最小化 PYNQ 圖像。
雙擊它并恢復(fù) SD-CARD 上的磁盤映像。
flash完成后輸入
sudo gparted
并調(diào)整第二個(gè)分區(qū)的大小以使用設(shè)備上剩余的所有可用空間。
PYNQ 的密碼是“xilinx”
現(xiàn)在我們可以將 USB HUB 與相機(jī)和 WI-FI 適配器連接起來。
使用 nano 生成“wpa_supplicant.conf”
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
和寫:
network={
ssid="SSID"
psk="PASSWORD"
}
現(xiàn)在加載“wpa_supplicant”并等待 ip-address
sudo wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlan0 -B
sudo dhclient wlan0
Jupyter notebook 應(yīng)該在你的 Minized 上運(yùn)行。
打開瀏覽器并連接到 PYNQ。使用 wlan0 接口中列出的 IP。
http://192.168.0.102:9090
成功!
創(chuàng)建名為“Testing.ipynb”的新文件。該腳本將占用 10 幀并在 Jupyter 筆記本中顯示,每幀延遲 1 秒。
import os
import cv2
import time
from matplotlib import pyplot as plt
from IPython.display import clear_output
cap = cv2.VideoCapture(0)
if cap.isOpened():
print("Camera opened")
else:
print("Failed to open camera")
i = 1
while (i < 10):
check, frame = cap.read()
if check == False:
print(f"Error reading frame! {i}")
else:
plt.imshow(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))
i += 1
time.sleep(1)
clear_output(wait=True)
現(xiàn)在讓我們?cè)囋?PYNQ 覆蓋是否正常工作。
打開公共文件夾并運(yùn)行“overlay_download”
在腳本中運(yùn)行第一個(gè)單元格
如您所見,沒有加載默認(rèn)覆蓋,我們使用的是來自 BOOT.BIN 的比特流。
讓我們加載一個(gè)疊加層。為此,我將使用 Vivado 生成的文件。
cd /Avnet/hdl/Projects/minized_petalinux/MINIZED_2019_1/
并尋找“hw_handoff”文件夾
此外,我們將需要比特流。只需在 Vivado 項(xiàng)目文件夾中搜索。
重命名這些文件,以便 PYNQ 知道它們引用的是同一個(gè)覆蓋。
將這些文件上傳到 Jupyter Notebook
修改腳本以加載新的覆蓋。
概括
所以這些是如何為 Minized 創(chuàng)建 PYNQ 的基礎(chǔ)知識(shí)。
在下一個(gè)教程中,我將嘗試向您展示如何為 EMMC 內(nèi)存創(chuàng)建 PYNQ。
小心!
- 使用Tensil和PYNQ在PYNQ Z1 FPGA板上運(yùn)行機(jī)器學(xué)習(xí)
- 基于Pynq的汽車儀表板
- 如何為Minized創(chuàng)建PYNQ
- MiniZed和Mighty機(jī)器人
- 用于MiniZed的7段LED顯示硬件和VHDL模塊
- 如何為探測(cè)器構(gòu)建活動(dòng)創(chuàng)建探測(cè)器
- 如何為LCD1602顯示器創(chuàng)建自定義字符
- 如何創(chuàng)建和使用LabVIEW中的LLB文件 0次下載
- 如何為混合動(dòng)力汽車/電動(dòng)汽車設(shè)計(jì)加熱和冷卻系統(tǒng) 23次下載
- 基于AADL的自主無(wú)人系統(tǒng)可成長(zhǎng)框架綜述 3次下載
- Visual C++和MFC創(chuàng)建的應(yīng)用程序基礎(chǔ)知識(shí) 0次下載
- allegro與PADS的區(qū)別及創(chuàng)建PCB封裝的步驟 66次下載
- 開源方案|PYNQ框架下開發(fā)可重構(gòu)運(yùn)動(dòng)控制器
- PYNQ的常見問題
- AN1246中文手冊(cè)之如何在Microchip圖形庫(kù)中創(chuàng)建控件
- 使用PYNQ訓(xùn)練和實(shí)現(xiàn)BNN 221次閱讀
- 使用TIA Portal創(chuàng)建用于操作和監(jiān)視機(jī)器與工廠的畫面 929次閱讀
- Visual Studio Code Python使用新的創(chuàng)建環(huán)境命令簡(jiǎn)化項(xiàng)目設(shè)置 1217次閱讀
- 如何使用Arduino創(chuàng)建停車門禁控制系統(tǒng)? 5060次閱讀
- 米爾PYNQ開發(fā)板來了 901次閱讀
- fireflyAIO-3399C主板創(chuàng)建Ubuntu根文件系統(tǒng) 1101次閱讀
- FireflyRK3128主板Ubuntu 根文件系統(tǒng)創(chuàng)建 3139次閱讀
- Avnet MiniZed單核Zynq 7Z007S入門開發(fā)方案 5161次閱讀
- PYNQ中MicroBlaze程序文件的加載過程 2192次閱讀
- PYNQ 基于Zynq架構(gòu)添加了對(duì)python的支持 8754次閱讀
- 研究人員基于NVIDIA GPU創(chuàng)建了可預(yù)測(cè)的3D細(xì)胞模型 3323次閱讀
- 一文詳解Avnet Zynq 7Z007SMiniZed開發(fā)方案 9594次閱讀
- 驗(yàn)證設(shè)計(jì)和創(chuàng)建可實(shí)現(xiàn)的設(shè)計(jì) 721次閱讀
- 低成本 MiniZed Zynq SoC 開發(fā)板 7293次閱讀
- 如何為工業(yè)控制和自動(dòng)化應(yīng)用提供隔離數(shù)字輸入接口 2066次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多