作者: 硬码农二毛哥,文章来源:硬码农二毛哥微信公众号
在zynq7035单板创建PYNQ镜像V2.6中介绍了,如何在zynq7035单板上创建PYNQ。在开发的过程也是一次次迭代的过程,如果遇到问题,需要重新构建硬件和PYNQ,下面就介绍一下,修改硬件平台后,PYNQ的开发流程。
修改硬件平台
根据需要修改代码,修改完成后导出xsa文件。
修改xsa文件
将新生成的.xsa文件复制到PYNQ repository/boards/zynq7035/petalinux_bsp/hardware_project/文件夹,改名为system.xsa。
导入bit文件
将工程文件夹impl_1中的.bit文件,改名为system.bit。将sources_1\bd\system\hw_handoff中的.hwh和.tcl文件,改名为system.hwh和system.tcl。jupyter中下载bit文件时需要用到这三个文件。
构建PYNQ镜像
运行脚本
source < path-to-petalinux>/petalinux-2020.1-final/settings.sh sourec < PYNQ repository>/sdbuild/scripts/setup_host.sh
Unmount images before building again
make delete/make clean
重新构建
在sdbbuild中运行指令
make BOARDS=zynq7035 PREBUILT=prebuild/bionic.arm.2.6.0_2020_10_19.img 2>&1 |tee zynq.log
烧写sd卡
output目录下运行如下指令
sudo dd if=zynq7035-2.6.0.img of=/dev/sdb bs=4M
在Jupyter notebook中验证
启动单板
将sd卡插入单板,启动单板,单板正常启动后,进入jupyter notebook。
打开jupyter notebook,在浏览器中输入192.168.2.99:9090,密码xilinx。导入system.bit、system.hwh、system.tcl和ipynb文件。
进入ipynb文件,下载system.bit文件。
测试axigpio
from pynq import Overlay from pynq.lib import AxiGPIO from time import sleep overlay = Overlay('system.bit') axigpio = overlay.axi_gpio_0 led_instance = overlay.ip_dict['axi_gpio_0'] led = AxiGPIO(led_instance).channel1 led.write(0x0,0xf) sleep(1) led.write(0x1,0xf) sleep(1)