資料介紹
描述
本教程展示了如何為 Minized 創(chuàng)建 PYNQ,它使用帶有額外存儲(chǔ)選項(xiàng)的 EMMC 內(nèi)存作為 PMOD sdcard。
準(zhǔn)備環(huán)境
首先,我們需要使用這些腳本從 Avnet GitHub 克隆存儲(chǔ)庫,我們將構(gòu)建我們的項(xiàng)目和 BSP。
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;
git clone https://github.com/Xilinx/PYNQ.git --branch image_v2.5.4;
wget http://downloads.element14.com/downloads/zedboard/minized/minized_ttc_2019_1.bsp.zip?ICID=minized-datasheet-widget;
unzip minized_ttc_2019_1.bsp.zip?ICID=minized-datasheet-widget;
轉(zhuǎn)到 petalinux → 腳本并編輯“make_minized_qspi_minimal_bsp.sh”
cd petalinux/scripts;
gedit make_minized_qspi_minimal_bsp.sh;
更改 Vivado 和 Petalinux 安裝路徑
運(yùn)行腳本并等待它完成。
./make_minized_qspi_minimal_bsp.sh
同時(shí),我們將基于“minized_ttc_2019.1.bsp”創(chuàng)建項(xiàng)目
打開新終端和源 petalinux settings.sh
source /home/bartek/petalinux20191/settings.sh
并創(chuàng)建項(xiàng)目
petalinux-create -t project -s minized_ttc_2019_1.bsp
打開新創(chuàng)建的項(xiàng)目。
cd minized_ttc_2019_1
在里面您可以看到“硬件”文件夾,其中包含用于構(gòu)建該 BSP 的硬件設(shè)計(jì)。
我們將需要修改用于該項(xiàng)目的設(shè)備樹,否則 Petalinux 將無法在 FPGA 管理器打開的情況下構(gòu)建。
轉(zhuǎn)到項(xiàng)目規(guī)范→元用戶→食譜-bsp→設(shè)備樹→文件并編輯“system-user.dtsi”
cd project-spec/meta-user/recipes-bsp/device-tree;
gedit system-user.dtsi
我們可以安全地刪除引用 Wi-Fi 模塊和加速度計(jì)的節(jié)點(diǎn)。
我以前嘗試過,重新編程 FPGA 會(huì)導(dǎo)致 Wi-Fi 驅(qū)動(dòng)程序崩潰,這就是我刪除它的原因,如果你離開加速度計(jì)節(jié)點(diǎn),petalinux 構(gòu)建也會(huì)失敗。
/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 addresses are defined with petalinux-config, but here they are overwritten so that one can program the flash internally */
&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>;
partition@0x00000000 {
label = "boot";
reg = <0x00000000 0x00ff0000>;
};
};
};
/* PMOD SD Interface */
&sdhci0 {
status = "okay";
bus-width= <4>;
xlnx,has-cd = <0x0>;
xlnx,has-power = <0x0>;
xlnx,has-wp = <0x0>;
/* cd-inverted; */
wp-inverted;
mmccardpmod: mmccardpmod@1 {
/* reg = <0>; */
compatible = "mmc-card";
};
};
/* SD Interface for eMMC */
&sdhci1 {
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;
};
};
/* Console UART. UART1 is tied to the USB serial port on the Zedboard */
&uart1 {
status = "okay";
current-speed = <115200>;
port-number = <0>;
};
/ {
};
PYNQ 設(shè)置
打開 PYNQ → sdbuild → 腳本并運(yùn)行“setup_host.sh”腳本(如果你之前沒有)。
cd PYNQ/sdbuild/scripts;
bash setup_host.sh
現(xiàn)在我們需要修改 PYNQ 的引導(dǎo)設(shè)置。
打開 PYNQ → sdbuild → boot → meta-pynq → recipes-bsp → device-tree 并編輯“pynq_bootargs.dtsi”
cd PYNQ/sdbuild/boot/meta-pynq/recipes-bsp/device-tree;
gedit pynq_bootargs.dtsi
將“/dev/mmcblk0p2”更改為“/dev/mmcblk1p2”
此外,您將需要為 arm 架構(gòu)預(yù)構(gòu)建的 rootfs映像。請(qǐng)參閱 PYNQ 快速移植指南。
下載它。
轉(zhuǎn)到 PYNQ → sdbuild 并輸入:
make BOARDS=Pynq-Z1
查看 PYNQ 是否設(shè)置正確。
修改最小化最小
我們?cè)陂_始時(shí)為 Minized QSPI 運(yùn)行的腳本現(xiàn)在應(yīng)該完成了。
打開 petalinux → 項(xiàng)目 → minized_qspi_minimal_2019_1 并添加實(shí)用程序包以格式化內(nèi)存(可選)。
cd petalinux/projects/minized_qspi_minimal_2019_1;
petalinux-config -c rootfs
啟用“e2fsprogs”、“e2fsprogs-resize2fs”、“e2fsprogs-e2fsck”包。
您可以在 petalinux 窗口中使用“/”搜索軟件包。
退出并重建項(xiàng)目
petalinux-build
現(xiàn)在我們將通過 JTAG 啟動(dòng)我們的系統(tǒng)。
petalinux-boot --jtag --fpga --kernel --verbose;
登錄到 Minized,例如使用 cutecom 或 putty。
格式化 EMMC
現(xiàn)在我們將格式化 EMMC。(可選,稍后我們可以使用“dd”將圖像寫入EMMC)
使用“df -h”命令列出所有已安裝的驅(qū)動(dòng)器及其位置
df -h
或“fdisk -l”
fdisk -l
EMMC 是“/dev/mmcblk1”
我們需要?jiǎng)?chuàng)建兩個(gè)分區(qū)。一個(gè)用于“image.ub”,第二個(gè)用于“rootfs”
第一個(gè)分區(qū)需要是 FAT32,第二個(gè)分區(qū)需要是 ext4。
打開 mmcblk1。
fdisk /dev/mmcblk1
使用 fdisk 刪除分區(qū)并寫入更改。
d
1
d
2
w
現(xiàn)在我們需要?jiǎng)?chuàng)建新分區(qū)(您可以使用“format_emmc.sh”腳本作為參考,它位于本地/bin 中)。
fdisk /dev/mmcblk1
o
n
p
1
enter (default command)
+255M
w
現(xiàn)在我們有了第一個(gè)分區(qū),例如 255Mb。
fdisk /dev/mmcblk1
n
p
2
enter (default command)
enter (default command)
w
制作第一個(gè)分區(qū) w95 fat32
fdisk /dev/mmcblk1
t
1
b
w
或使用 mkfs 將 mmblk1p1 格式化為 fat32
mkfs.vfat -F 32 -n boot /dev/mmcblk1p1
將 mmblk1p2 格式化為 ext4
mkfs.ext4 -L root /dev/mmcblk1p2
現(xiàn)在您的 EMMC 已準(zhǔn)備好作為存儲(chǔ)介質(zhì)。
創(chuàng)建基礎(chǔ)項(xiàng)目
打開 hdl → 項(xiàng)目 → minized_petalinux →MINIZED_2019_1
打開塊設(shè)計(jì)并刪除未使用的 IP(您可以將 SD 卡管理器連接到 SDIO_0 端口以獲得額外存儲(chǔ))。
生成新的雙流并從項(xiàng)目中導(dǎo)出 HDF。
創(chuàng)建 PYNQ 映像
轉(zhuǎn)到 minized_ttc_2019_1 項(xiàng)目并更改引用的 HDF 和圖像打包配置。
cd minized_ttc_2019_1;
petalinux-config --get-hw-description=/home/bartek/Desktop/Minized_EMMC/Avnet;
構(gòu)建項(xiàng)目并打包新的 BSP。
petalinux-build;
petalinux-package --bsp --p ${PWD} --hwsource /home/bartek/Desktop/Minized_EMMC/Avnet/hdl/Projects/minized_petalinux/MINIZED_2019_1 -o MinizedEMMCPynq;
使用先前下載的“bionic.arm.2.5.img”將創(chuàng)建的 BSP 復(fù)制到 PYNQ → sdbuild
并創(chuàng)建 PYNQ 鏡像
cd PYNQ/sdbuild;
bash scripts/image_from_prebuilt.sh MinizedEMMCPynq MinizedEMMCPynq.bsp arm bionic.arm.2.5.img;
最好為 Minized 創(chuàng)建自定義圖像。我們需要對(duì) PYNQ 板項(xiàng)目進(jìn)行一些修改。(準(zhǔn)備好的包在附件 MinizedPynq.7z 中)將其提取到某個(gè)地方,例如“ PYNQ/zz ”<-這是我們的板存儲(chǔ)庫。
我已經(jīng)修改了 petalinux_bsp → meta-user → ... → user_2018-06-26-17-14-00.cfg
并為某些 USB Wi-Fi 模塊啟用內(nèi)核驅(qū)動(dòng)程序。
在打包 BSP 之前,您可以通過“ petalinux-config -c kernel ”來執(zhí)行此操作。
cd PYNQ/sdbuild;
make PREBUILT=/home/bartek/PYNQ/sdbuild/bionic.arm.2.5.img BOARDDIR=/home/bartek/PYNQ/zz BOARD=Minizedzik
如果它不起作用,請(qǐng)嘗試添加 PYNQ_SDIST:
make PYNQ_SDIST=/home/bartek/Downloads/pynq-2.5.tar.gz PREBUILT=/home/bartek/PYNQ/sdbuild/bionic.arm.2.5.img BOARDDIR=/home/bartek/PYNQ/zz BOARD=Minizedzik
縮小的圖像應(yīng)該在輸出文件夾中。
恢復(fù) USB 驅(qū)動(dòng)器上的磁盤映像。
并將 partition2 的大小調(diào)整為小于 EMMC 減去 partition1 的大?。ɡ?7Gb)并檢查錯(cuò)誤。
將 USB 驅(qū)動(dòng)器連接到 Minized。
使用“dd”命令將圖像寫入 EMMC(這需要一段時(shí)間)。
dd if=/dev/sda of=/dev/mmcblk1
如果您希望檢查錯(cuò)誤。
e2fsck /dev/mmcblk1p1
e2fsck /dev/mmcblk1p2
使用“minized_ttc_2019_1”BOOT.bin 最小化的程序
petalinux-build;
petalinux-package --boot --fpga --u-boot -o BOOT.bin --force;
program_flash -f ./BOOT.bin -offset 0 -flash_type qspi_single -fsbl ./images/linux/zynq_fsbl.elf;
Minized 將使用 QSPI 內(nèi)存來加載 BOOT.bin。
ZYNQ 將使用該 BOOT.bin 來加載 FSBL 為 FPGA 進(jìn)行 Minized 編程,然后加載 u-boot 以在“/dev/mmcblk1p1”分區(qū)上搜索 image.ub。Image.ub 將等到“/dev/mmcblk1p2”被掛載并加載rootfs。
現(xiàn)在 Minized 應(yīng)該使用 PYNQ 系統(tǒng)啟動(dòng)。
現(xiàn)在讓我們掛載 pmod sdcard 并編寫一些東西來測(cè)試功能。
mkdir mnt;
ls -l /dev | grep mmc;
sudo mount /dev/mmcblk0p2 mnt;
打開 mnt 文件夾并創(chuàng)建.txt 文件。
cd mnt;
sudo nano TestWrite.txt;
退出并保存,umount sdcard。
cd ..;
sudo umount mnt;
讓我們檢查一下 sdcard 上的內(nèi)容。
創(chuàng)建疊加層
我已將此項(xiàng)目升級(jí)為 Vivado 2020.1 版本。
打開 Vitis HLS 并為 xc7z007 芯片創(chuàng)建新的空項(xiàng)目。
單擊源→新文件
?
創(chuàng)建附加 IP 核
轉(zhuǎn)到項(xiàng)目設(shè)置→綜合并在“頂級(jí)功能”中鍵入“添加”
單擊確定并運(yùn)行綜合。
將我們的 IP 導(dǎo)出到本地 IP 存儲(chǔ)庫。
提取“add.zip”
打開 Vivado 并將新 IP 添加到項(xiàng)目并將其連接到 AXI 互連。
?
保存項(xiàng)目并導(dǎo)出比特流。
打開 Vivado 項(xiàng)目并搜索bistream和.hwh文件。
?
?
復(fù)制并重命名這些文件。
?
將它們上傳到 Minized,但首先我們需要 Wi-Fi。
啟動(dòng) Minized 并連接到它,例如使用 putty。
?
如您所見,Minized 檢測(cè)到了我們的無線適配器
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
?
sudo wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlan0 -B
sudo dhclient wlan0
打開互聯(lián)網(wǎng)瀏覽器并連接到 Minized(密碼是 xilinx)
http://192.168.0.105:9090/tree?
通過 jupyter notebook 上傳文件。
?
結(jié)束
現(xiàn)在您已準(zhǔn)備好基于這三個(gè)項(xiàng)目開發(fā)自己的 IOT 應(yīng)用程序。
讓您的 Minized 工作并分享您的工作 :)
- 使用Tensil和PYNQ在PYNQ Z1 FPGA板上運(yùn)行機(jī)器學(xué)習(xí)
- 基于Pynq的汽車儀表板
- 如何為Minized創(chuàng)建可工作的PYNQ系統(tǒng)
- MiniZed和Mighty機(jī)器人
- 用于MiniZed的7段LED顯示硬件和VHDL模塊
- 如何為探測(cè)器構(gòu)建活動(dòng)創(chuàng)建探測(cè)器
- 使用Ultra96 PYNQ測(cè)定織物GSM
- 如何為LCD1602顯示器創(chuàng)建自定義字符
- 如何創(chuàng)建和使用LabVIEW中的LLB文件 0次下載
- 如何為混合動(dòng)力汽車/電動(dòng)汽車設(shè)計(jì)加熱和冷卻系統(tǒng) 23次下載
- 何為NFC?資料下載
- Visual C++和MFC創(chuàng)建的應(yīng)用程序基礎(chǔ)知識(shí) 0次下載
- allegro與PADS的區(qū)別及創(chuàng)建PCB封裝的步驟 66次下載
- PYNQ的常見問題
- AN1246中文手冊(cè)之如何在Microchip圖形庫中創(chuàng)建控件
- 使用PYNQ訓(xùn)練和實(shí)現(xiàn)BNN 221次閱讀
- Java反射技術(shù)實(shí)現(xiàn)對(duì)象的創(chuàng)建 2123次閱讀
- 如何為ATE應(yīng)用創(chuàng)建具有拉電流和灌電流功能的雙輸出電壓軌 693次閱讀
- 創(chuàng)建STM32工程模板 1085次閱讀
- 如何創(chuàng)建 Docker 鏡像的能力 1023次閱讀
- 如何為MSP430設(shè)計(jì)固件以收集和處理IC的數(shù)據(jù) 1881次閱讀
- 如何為制造和組裝做好最好的PCB設(shè)計(jì)準(zhǔn)備 1543次閱讀
- ADI公司:加速邁向工業(yè)4.0 1054次閱讀
- 米爾PYNQ開發(fā)板來了 901次閱讀
- digilent支持Python編程的Zynq開發(fā)板介紹 3398次閱讀
- Avnet MiniZed單核Zynq 7Z007S入門開發(fā)方案 5161次閱讀
- PYNQ中MicroBlaze程序文件的加載過程 2192次閱讀
- PYNQ 基于Zynq架構(gòu)添加了對(duì)python的支持 8754次閱讀
- 一文詳解Avnet Zynq 7Z007SMiniZed開發(fā)方案 9594次閱讀
- 低成本 MiniZed Zynq SoC 開發(fā)板 7293次閱讀
下載排行
本周
- 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語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多