记录一下启明星Zynq7010制作PYNQ V2.4镜像的过程
打开Vivado2018.3,新建一个项目,Create Block Design,搭建Zynq7010的最小系统
配置PS,配置项目如下
这样就得到了我们需要的.bit文件和.hdf文件了,在Vivado工程**.sdk目录和**.runs/imp_1目录下
分别重命名为system.hdf和base.bit,备用
打开终端,执行
sudo dpkg-reconfigure dash
选"NO"
接下来将PYNQ源码从gitHub上下载下来,我这里下载到家目录下
确保有git环境,由于项目比较大,直接git下载比较慢,我这里用的Edge浏览器,安装了名为“GitHub加速”的插件
这样就获得了加速通道的下载地址
执行以下命令加速下载(根据自己的地址自行配置)
git clone -b v2.4 https://github.91chi.fun/https://github.com/Xilinx/PYNQ.git
下完之后进入目录(我这里下载到家目录)
cd PYNQ
ls
git checkout v2.4
git checkout -b zynq7010
下载地址: pynq_rootfs_arm_v2.4.zip.
登录Xilinx,填写一下相关信息,开始下载。7个G,我用IDM下载的,还挺快,最后下载成功,bionic.arm.2.4.img
cd PYNQ/sdbuild/scripts/
执行./setup_host.sh
把qemu和crosstool-ng下载下来,默认下载到/opt 目录
下载出错可能是因为权限问题,修改权限重新下载即可
下载好之后cd /opt/crosstool-ng/lib/crosstool-ng-1.22.0/scripts/build/libc/
修改newlib.sh
找到local libc_src=
将后面的内容修改为如下内容,强烈推荐用VsCode修改编辑
local libc_src="http://mirrors.kernel.org/sourceware/newlib"
配置一下环境变量sudo vi ~/.bashrc
,在文末写入如下内容
alias sptl='source /opt/pkg/petalinux/2018.3/settings.sh'
alias svvd='source /opt/pkg/Vivado/2018.3/settings64.sh'
alias ssdk='source /opt/pkg/SDK/2018.3/settings64.sh'
export PATH=/opt/qemu/bin:/opt/crosstool-ng/bin:$PATH
注意petalinux、Vivado、SDK的路径
使能环境变量
source ~/.bashrc
sptl
svvd
ssdk
由于没有安装SDx环境,所以cd PYNQ/sdbuild/
,打开Makefile
找到并删除which sdx | fgrep ${KERNEL_VERSION}
在PYNQ/sdbuild
目录下新建文件夹 prebuilt ,将下载好的文件系统镜像bionic.arm.2.4.img拷贝至该目录
在PYNQ/boards/
目录下新建文件夹 zynq7010,在zynq7010目录下再新建两个文件夹分别为 base 和petalinux_bsp
将之前准备好的base.bit拷贝到base文件夹,在 petalinux_bsp 中再建立文件夹 hardware_project,将system.hdf拷贝到hardware_project文件夹
zynq7010目录下新建zynq7010.spec,并编辑以下内容,然后保存
ARCH_${BOARDS} := arm
BSP_${BOARDS} :=
BITSTREAM_${BOARDS} := base/base.bit
STAGE4_PACKAGES_Pynq-Z2 := pynq ethernet
make之前先执行任意sudo
操作,比如sudo ifconfig
命令,否则make会报错
cd PYNQ/sdbuild
make BOARDS=zynq7010 PREBUILT=./prebuilt/bionic.arm.2.4.img -j16
-j16选项根据自己的系统配置来,我这里配置16个,也可以不进行配置
如果make发生报错,解决问题后先执行make clean
,再重新make
大概编译了半小时就生成了镜像文件,在目录PYNQ/sdbuild/output
准备工具Win32DiskImager.
将生成的zynq7010-2.4.img复制到Window下使用Win32DiskImager将镜像烧写到SD卡上
软件会自动检测SD卡,选择好镜像后直接点击“写入”即可,大约10分钟写完
SD卡中其实就包含两个文件 image.ub 和 BOOT.BIN
将SD卡插入开发板,设置开发板启动方式为从SD卡启动
插上电源,插上网线,连接串口,打开MobaXterm,打开电源,查看串口
可以看到系统基于Ubuntu18.04,然后会自动登录,用户名为xilinx,默认密码为xilinx
查看一下开发板网络,发现没有以太网的配置
自己写一个以太网配置即可
cd /etc/network/
chmod 777 interfaces.d/ ##修改权限为777
cd interfaces.d/
vi eth0
写入以下内容
auto eth0
iface eth0 inet dhcp
auto eth0:1
iface eth0:1 inet static
address 192.168.2.99
netmask 255.255.255.0
保存退出
cd /etc/network/
chmod 755 interfaces.d/ ##把权限再修改回来
重启开发板,再查看一下网络ifconfig
,ping一下百度看看效果
第一个地址为动态ip,第二个地址为静态ip(刚才写进配置文件的)
打开浏览器,我用的Edge,登入动态ip地址,默认端口9090,默认密码 xilinx,成功登录
官方文档: PYNQ SD Card image.
EBAZ4205 ebit 矿板 PYNQ镜像制作详细步骤 zynq7010.
蚂蚁S9矿板ZYNQ7010开发板移植PYNQ_2.5.