此文章记录使用矿板搭建环境的步骤,和解决其中的问题
1、使用VMware搭建Ubuntu16.04版本的虚拟机,一定要注意虚拟机内存至少4G左右,否则后面会出现很多问题。
shell切换到bash
sudo dpkg-reconfigure dash 选NO
2、根据网上教程安装 petalinux2018.3 Vivado2018.3 。其中Vivado里面会包含SDK。这两个安装到哪个目录下都行,我一般安装到 /home/user/ 目录下。
有人喜欢安装到 /opt 目录下,安装到这个目录下,需要注意先改变 /opt 是属性再安装。
sudo chown -R $USER:$USER /opt
3、准备 .bit和 .hdf文件,这个两个文件是利用Windows的Vivado中 Run Block Automation 生成的。并把这两个文件改名为system.hdf base.bit备用。
4、把PYNQ先从github上面下载下来
git clone -b v2.4 https://github.com/Xilinx/PYNQ.git
cd PYNQ
git checkout v2.4
git checkout -b zynq7010
从2.4分支上再创建一个新分支,有问题可以倒退回去。
把pynq_rootfs_arm_v2.4.zip文件系统下载下来备用
https://www.xilinx.com/member/forms/download/xef.html?filename=pynq_rootfs_arm_v2.4.zip
5、进入/PYNQ/sdbuild/scripts/
执行./setup_host.sh
把qemu和crosstool-ng下载下来,默认下载到/opt 目录
进入文件夹 /opt/crosstool-ng/lib/crosstool-ng-1.22.0/scripts/build/libc/
打开文件newlib.sh
将
"{http://mirrors.kernel.org/sourceware/newlib,ftp://sourceware.org/pub/newlib}"
去掉花括号 改为 "http://mirrors.kernel.org/sourceware/newlib”
6、执行环境变量
sudo vi ~/.bashrc
export PATH=/opt/qemu/bin:/opt/crosstool-ng/bin:$PATH
source ~/.bashrc
再执行
petalinux/2018.3/settings.sh
Vivado/2018.3/settings64.sh
SDK/2018.3/settings64.sh
7、由于没有安装SDx环境,所用进入 /PYNQ/sdbuild/
文件夹,打开Makefile
删除 which sdx | fgrep ${KERNEL_VERSION}
8、在 /PYNQ/sdbuild/
目录下新建文件夹 ‘prebuilt’
将bionic.arm.2.4.img文件拷贝至该文件夹
在 /PYNQ/boards/
目录下新建文件夹 zynq7010
在 zynq7010 中再新建两个文件夹分别为 base 和petalinux_bsp
在 petalinux_bsp 中再建立文件夹 hardware_project
分别将base.bit拷贝到base;system.hdf拷贝到hardware_project
zynq7010目录下新建zynq7010.spec
打开zynq7010.spec,修改内容如下:
ARCH_${BOARDS} := arm
BSP_${BOARDS} :=
BITSTREAM_${BOARDS} := base/base.bit
STAGE4_PACKAGES_Pynq-Z2 := pynq ethernet
9、在make 前先执行 sudo - 操作,否则make的话 会出现错误。checkenv 的时候错误
make BOARDS=zynq7010 PREBUILT=./prebuilt/bionic.arm.2.4.img
如make出现错误,解决后先执行make clean
后,再进行make
10、等2个小时左右就编译完成了。
烧写 SD卡。
将 /sdbuild/output
目录下生成的.img复制至Windows 使用 Win32DiskImager将镜像烧写至SD卡(至少8g)上
或者Linux下使用dd命令烧写
sudo dd if=<PYNQ>/sdbuild/output/<rootfs.img> of=/dev/sdb bs=4M