衡阳派盒市场营销有限公司

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>如何為Minized創(chuàng)建可工作的PYNQ系統(tǒng)

如何為Minized創(chuàng)建可工作的PYNQ系統(tǒng)

2022-12-14 | zip | 60.81 MB | 次下載 | 2積分

資料介紹

描述

逐步了解如何為 Minized 創(chuàng)建可工作的 PYNQ 系統(tǒng)。

小型化作為低成本電路板為新開發(fā)人員提供了一個嘗試新功能或了解 FPGA 工作原理的切入點。教程重點介紹如何使用現(xiàn)有工具為 Minized 創(chuàng)建 PYNQ 圖像,以便您對其進行修改、創(chuàng)建疊加和學(xué)習(xí)!

那么,讓我們開始吧!

準(zhǔn)備環(huán)境

第一步是為我們的 PYNQ 項目創(chuàng)建 BSP。為此,您可以為 Minized下載預(yù)構(gòu)建的 BSP或按照我的其他教程進行操作

注意:我在創(chuàng)建本教程時跳過了一些步驟。如果您感到迷茫,請查看我以前的項目,如果您找不到解決方案,請發(fā)表評論。
注意:如果你需要干凈的 Ubuntu,你可以在這里下載一個:https ://1drv.ms/u/s!As37uPW_18jehTkymDK5EiuWbuC1?e=JBEgII密碼是“root”。oracle虛擬盒子打開就行了。運行“setup_host.sh”(在 PYNQ 腳本文件夾中)并安裝 Xilinx 工具。

您將需要創(chuàng)建一些工作目錄。例如稱它為 Avnet。現(xiàn)在下載 Minized 的存儲庫并創(chuà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
poYBAGOAMhmAXS5NAAArkraGC38689.png
?

修改 Vivado 項目

使用 Vivado 2019.1 打開項目

poYBAGOX27iAPmAeAAArBm-EswM749.png
?

開放式塊設(shè)計

poYBAGOX28mAeHxjAAMlMo4mamk405.png
?

移除不必要的 IP 核并禁用未使用的 Zynq 接口(不必要)。

將“sdcard_mgr”IP 核添加到模塊設(shè)計中。

pYYBAGOX28uAbTE3AAAukE3T5sw657.png
?

將“sdcard_mgr”連接到 Zynq EMIO 接口。

pYYBAGOX286AVhg9AAEcxh54hpM363.png
?

并修改約束:

打開“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è)計并生成新的比特流。

單擊文件 → 導(dǎo)出 → 硬件以導(dǎo)出項目 HDF。

這將創(chuàng)建新的“MINIZED_wrapper.hdf”

注意:我已經(jīng)刪除了 previous.hdf 文件
poYBAGOX29GARudFAABGV6hQhWc517.png
?

修改 Petalinux 項目

注意:如果你不想玩 petalinux,你可以跳過這整個部分。只需下載一個 Avnet 的 BSP 并將其用于創(chuàng)建 PYNQ rootfs,使用它對 EMMC 內(nèi)存進行編程(使用最小的 petalinux 映像和 USB 記憶棒并將文件復(fù)制到 EMMC)。使用其他引導(dǎo)到 EMMC 的 BOOT.bin。稍后 PYNQ 將下載覆蓋并覆蓋由 BOOT.bin 編程的比特流。

轉(zhuǎn)到由 Avnet 腳本或 BSP 創(chuàng)建的 petalinux 項目

petalinux-create -t project -n MzPynq --template zynq

更改 petalinux 項目的引用 HDF。

此命令將在 MINIZED.sdk 文件夾中搜索.hdf 文件。如果有兩個.hdf 文件,petalinux 會返回錯誤。

petalinux-config --get-hw-description=../../../hdl/Projects/minized_petalinux/MINIZED_2019_1/MINIZED.sdk/

(可選)啟用 FPGA 管理器。

?
?
?
poYBAGOX29eADwycAABU3RLm-6U296.png
?
1 / 2
?

轉(zhuǎn)到圖像打包配置并將根文件系統(tǒng)更改為 SD 卡。Image.ub 將在 /dev/mmcblk0p2 分區(qū)上搜索 rootfs。

?
?
?
pYYBAGOX29uAQSn4AABWk4ATgJ4950.png
?
1 / 2
?

修改引導(dǎo)順序以在主 sd 上查找“image.ub”

?
?
?
poYBAGOX296AIU-AAABWzxY5JMI384.png
?
1 / 4
?

保存并退出。

轉(zhuǎn)到 MzPynq → 項目規(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;

對 PYNQ 的修改

Note:如果您在 Avnet BSP 的 EMMC 內(nèi)存上構(gòu)建 Minized PYNQ。您應(yīng)該將 pynq_bootargs.dtsi 更改為“/dev/mmcblk1p2”。
pYYBAGOX2-KAB4uFAABTD2coo5g865.png
?
pYYBAGOX2-aAFQdZAABFIPY3CCs885.png
?

轉(zhuǎn)到 PYNQ → sdbuild → 腳本并運行“setup_host.sh”

這用于下載構(gòu)建 PYNQ 映像所需的所有文件和程序。

cd PYNQ/sdbuild/scripts/
bash setup_host.sh

腳本完成后,您可以獲取 Vivado 和 SDK 進行構(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

注意:點擊此鏈接可將 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 圖像。

poYBAGOX2-qAXViQAAAy3K_7xWs174.png
?

雙擊它并恢復(fù) SD-CARD 上的磁盤映像。

flash完成后輸入

sudo gparted

并調(diào)整第二個分區(qū)的大小以使用設(shè)備上剩余的所有可用空間。

PYNQ 的密碼是“xilinx”

poYBAGOX2-6ASPlWAAAgec1W9cc504.png
?

現(xiàn)在我們可以將 USB HUB 與相機和 WI-FI 適配器連接起來。

pYYBAGOX2_GAZOfzAAAq_8XIy_A464.png
?
poYBAGOX2_OAT7qDAAAoBLxozq8823.png
?

使用 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 上運行。

pYYBAGOX2_aAIphcAAAoGaXYiB8412.png
?

打開瀏覽器并連接到 PYNQ。使用 wlan0 接口中列出的 IP。

http://192.168.0.102:9090

成功!

poYBAGOX2_iAQyHTAABEBIG2Qqk146.png
?

創(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)在讓我們試試 PYNQ 覆蓋是否正常工作。

打開公共文件夾并運行“overlay_download”

poYBAGOX2_2AdZP6AABwlJHwxNI662.png
?

在腳本中運行第一個單元格

pYYBAGOX3AaAPD--AABQ-TrOyJ4406.png
?

如您所見,沒有加載默認(rèn)覆蓋,我們使用的是來自 BOOT.BIN 的比特流。

讓我們加載一個疊加層。為此,我將使用 Vivado 生成的文件。

cd /Avnet/hdl/Projects/minized_petalinux/MINIZED_2019_1/

并尋找“hw_handoff”文件夾

pYYBAGOX3AiAEfEXAAA1HuZQFRU008.png
?

此外,我們將需要比特流。只需在 Vivado 項目文件夾中搜索。

poYBAGOX3AqAAGGlAAARqLQ7Pqw397.png
?

重命名這些文件,以便 PYNQ 知道它們引用的是同一個覆蓋。

poYBAGOX3A-AX6YzAAAOqGmuhxg196.png
?

將這些文件上傳到 Jupyter Notebook

pYYBAGOX3BSAYx8_AABRwTN-F6Q329.png
?

修改腳本以加載新的覆蓋。

poYBAGOX3BeANWYpAADFJ9f_iL4353.png
?
poYBAGOX3B6AKPPwAACeVc5fWHA975.png
?

概括

所以這些是如何為 Minized 創(chuàng)建 PYNQ 的基礎(chǔ)知識。

在下一個教程中,我將嘗試向您展示如何為 EMMC 內(nèi)存創(chuàng)建 PYNQ。

小心!


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1A7159和A7139射頻芯片的資料免費下載
  2. 0.20 MB   |  55次下載  |  5 積分
  3. 2PIC12F629/675 數(shù)據(jù)手冊免費下載
  4. 2.38 MB   |  36次下載  |  5 積分
  5. 3PIC16F716 數(shù)據(jù)手冊免費下載
  6. 2.35 MB   |  18次下載  |  5 積分
  7. 4dsPIC33EDV64MC205電機控制開發(fā)板用戶指南
  8. 5.78MB   |  8次下載  |  免費
  9. 5STC15系列常用寄存器匯總免費下載
  10. 1.60 MB   |  7次下載  |  5 積分
  11. 6模擬電路仿真實現(xiàn)
  12. 2.94MB   |  4次下載  |  免費
  13. 7PCB圖繪制實例操作
  14. 2.92MB   |  2次下載  |  免費
  15. 8零死角玩轉(zhuǎn)STM32F103—指南者
  16. 26.78 MB   |  1次下載  |  1 積分

本月

  1. 1ADI高性能電源管理解決方案
  2. 2.43 MB   |  452次下載  |  免費
  3. 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
  4. 5.67 MB   |  141次下載  |  1 積分
  5. 3基于STM32單片機智能手環(huán)心率計步器體溫顯示設(shè)計
  6. 0.10 MB   |  137次下載  |  免費
  7. 4A7159和A7139射頻芯片的資料免費下載
  8. 0.20 MB   |  55次下載  |  5 積分
  9. 5PIC12F629/675 數(shù)據(jù)手冊免費下載
  10. 2.38 MB   |  36次下載  |  5 積分
  11. 6如何正確測試電源的紋波
  12. 0.36 MB   |  19次下載  |  免費
  13. 7PIC16F716 數(shù)據(jù)手冊免費下載
  14. 2.35 MB   |  18次下載  |  5 積分
  15. 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統(tǒng)EMC試驗方法及要求
  16. 1.97 MB   |  8次下載  |  10 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935121次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420062次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233088次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73810次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分
百家乐干洗店| 百家乐官网试玩平台| 网上的百家乐官网怎么才能赢 | 优博代理| 新时代百家乐官网的玩法技巧和规则| 太阳城娱乐网址| 缅甸百家乐官网赌博有假吗| 百家乐视| 百家乐官网出千的方法| 百家乐系统分析器| 友谊县| 玩百家乐输澳门百家乐现场| 大发888娱乐场金沙| 德晋百家乐官网的玩法技巧和规则 | 龙岩棋牌乐| 百家乐视频视频| 六合彩网址| 百家乐赌博公司| 磐石市| 玩百家乐的玩法技巧和规则| 如何玩百家乐官网游戏| 大发888娱乐城 qq服务| 风水24山代表什么意思| 甘泉县| 五星百家乐的玩法技巧和规则| 百家乐官网必知技巧| 棋牌室标语| 百家乐注册赠金| 网上百家乐官网网址| 百家乐利来| 尊龙百家乐官网娱乐| 利来网站| 百家乐发牌盒子| 什么是百家乐官网的大路| 豪门网上娱乐| 百家乐庄闲的比例| 百家乐官网单打| 太子娱乐城官网| 福布斯百家乐的玩法技巧和规则| 罗浮宫百家乐官网的玩法技巧和规则 | 大发888优惠红利代码|