赞
踩
注意事项:
个人能力有限,不合理的地方,还望不吝赐教!!!
建议使用./xsetup
直接进行安装,不要使用sudo
,遇到的权限问题,使用chown
、chgrp
对相应的文件夹进行修改用户以及用户组。
注:Ubuntu下安装与Windows下安装非常类似,这里就不大费周章说明了。
可以直接从官网下载PetaLinux 工具文档,里面有非常细致的说明!!!
可以直接从官网下载PetaLinux 工具文档,里面有非常细致的说明!!!
可以直接从官网下载PetaLinux 工具文档,里面有非常细致的说明!!!
文档里面的软件包安装可以直接复制下面的。
sudo apt-get install -y gcc git make net-tools libncurses5-dev tftpd zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential zlib1g:i386 screen pax gzip
建立自己的代码仓库方便管理
git clone https://github.com/Xilinx/PYNQ
cd PYNQ
git checkout -b pynq_2.5_eclypse_z7 origin/image_v2.5
注:里面的名字pynq_2.5_eclypse_z7
可以根据自己需要进行设置,这样方便识别管理。
后面环境的构建可以参考官方文档PYNQ SD Card,也可以听我继续啰嗦。
使用./sdbuild/scripts/setup_host.sh
来进行PYNQ开发环境的安装,如果顺利的话可以直接安装成功,如果不的话可以根据log输出利用谷歌进行搜索解决。
下面说一下可能遇到的问题之一Package 'docker-ce' has no installation candidate
,具体如下图所示。
解决方案为
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic test"
sudo apt update
sudo apt install docker-ce
如果感兴趣的话,这是我找到解决方案的网址18.04中的“软件包’docker-ce’没有安装候选程序”
可以直接在~/.bashrc
中加入如下代码,然后利用source ~/.bashrc
进行加载对应的环境变量,以后每次打开一个新终端,都会自动加载。
source /tools/Xilinx/Vivado/2019.1/settings64.sh
source /tools/Xilinx/petalinux/2019.1/settings.sh
source /tools/Xilinx/SDK/2019.1/settings64.sh
export PATH=/opt/qemu/bin:/opt/crosstool-ng/bin:$PATH
可以再执行一个petalinux-util --webtalk off
进行关闭反馈工具使用统计数据,具体可以见之前提过的官方文档UG1144
注:下面以Eclypse-Z7官方github自带的tcl文件进行重建一个基本硬件工程,其他板子也可以有类似的操作。
首先从官方github上下载对应的仓库。
git clone --recursive https://github.com/Digilent/Eclypse-Z7-OOB
cd Eclypse-Z7-OOB/
打开Vivado,利用tcl进行工程的重建,然后生成对应的bit文件。
set argv ""; source digilent-vivado-scripts/digilent_vivado_checkout.tcl
在Vivado工程中找到如下文件
<project_name>.runs\impl_1<project_name>_wrapper.bit
<project_name>.sdk<project_name>_wrapper.hdf
并修改对应的文件名为base.bit
以及system.hdf
。
从PYNQ rootfs arm v2.5下载根文件系统,可以加快镜像构建速度。
./PYNQ/sdbuild/
目录下新建文件夹prebuilt
将上面下载解压的bionic.arm.2.5.img
文件拷贝至该文件夹./PYNQ/boards/
目录下新建文件夹 Eclypse-Z7
Eclypse-Z7
中再新建两个文件夹分别为 base
和petalinux_bsp
petalinux_bsp
中再建立文件夹 hardware_project
base.bit
拷贝到base
;system.hdf
拷贝到hardware_project
./PYNQ/boards/PYNQ-Z2
中的 .spec文件至Eclypse-Z7
下并修改文件名为Eclypse-Z7.spec
修改Eclypse-Z7.spec
内容如下
注:框中的要特别注意修改。
删除不需要的./PYNQ/boards/ZCU104
文件夹,并进行commit
具体操作为
git rm -r boards/ZCU104
git commit -m "Delete ZCU104 board to speed up,and avoid some errors."
感兴趣的话可以使用git log --stat -p
进行查看commit
之后的log。
sudo visudo
在%sudo ALL=(ALL:ALL) ALL
下面添加一行username ALL=(ALL) NOPASSWD: ALL
即可。
我的修改截图为
执行如下命令就可以进入进行长时间的镜像构建阶段了。
make BOARDS=Eclypse-Z7 PREBUILT=./prebuilt/bionic.arm.2.5.img
成功之后可以进行镜像烧写启动了
sudo dd if=./output/Eclypse-Z7-2.5.img of=/dev/sdc && sync
下面是板卡启动打印的一些信息
下面是使用本板卡的ZMOD ADC扩展卡做的ADC Demo,证明该PYNQ镜像可以正常使用
注意事项
这个问题不是很常见,应该是属于环境配置的个性问题,如果再构建的过程中遇到如下情况
可以通过删除如下文件进行解决
rm -rf ./build/Eclypse-Z7/petalinux_project/build/bitbake.lock
如果找不到对应的文件,可以在sdbuild
目录下进行搜索find . -name bitbake.lock
即可
然后重新执行如下命令即可进行正常构建。
当然也可以sudo make clean
清除所有生成的文件。
具体原因可详见Unable to start bitbake server
如果你是AMD平台,可能会遇到如下问题
找不到对应挂载的loop,然后导致后面镜像生成错误,解决方案如下
首先umount对应的挂载点,可以通过文件夹右边的小三角进行卸载,也可以执行相应的命令进行卸载。
然后修改如下文件为
vim ./scripts/resize_umount.sh
vim ./build/PYNQ/sdbuild/scripts/resize_umount.sh
注:这个loop的数值修改为报错的那个挂载点,因为大部分人不会遇到这个问题,所以就不细说了。
原创不易,严禁剽窃!
欢迎大家关注我创建的微信公众号——小白仓库
原创经验资料分享:包含但不仅限于FPGA、ARM、RISC-V、Linux、LabVIEW等软硬件开发,另外分享生活中的趣事以及感悟。目的是建立一个平台记录学习过的知识,并分享出来自认为有用的与感兴趣的道友相互交流进步。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。