PYNQ移植实记 三、框架移植

本文详细介绍了ZYNQ7015系列板卡上Pynq框架的移植过程,包括板级描述文件准备、源文件修改、镜像构建及框架测试等关键步骤。通过离线文件或源代码构建,最终实现框架的完整移植。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ZYNQ 7015系列板卡 pynq框架移植

By Dnknow.恒

三、框架移植

1、板级描述文件准备

在最小Soc创建完成之后,从Vivado工程目录中得到
\demo.runs\impl_1\demo_wrapper.bit
\demo.sdk\demo_wrapper.hdf
两个文件

bit流文件用于FPGA配置,hdf文件用于对已建立的Soc系统进行描述。

对于hdf文件,在Vivado SDK中描述为
hdf_sdk描述

其主要内容是已构建Soc寄存器组的结构。

以16进制查看分析可知,该文件是对Soc相关配置文件的打包与描述
在这里插入图片描述

2、源文件修改

如果没有安装SDx环境,则需要删除makefile文件中的

vi <PYNQ repository>/sdbuild/Makefile
#删除如下内容
	which sdx | fgrep ${KERNEL_VERSION}

makefile修改

crosstool-ng工具链脚本文件修改(第一篇中,问题记录中已说明)

vi /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}"

在这里插入图片描述

3、镜像构建

将准备好的bionic.arm.2.3.img离线文件拷贝到/sdbuild/prebuilt/目录下

将准备好的bit文件和hdf文件拷贝到/boards/Pynq7015目录下,并按照如下创建目录结构。
在这里插入图片描述
其中Pynq7015.spec文件内容如:

vi ./boards/Pynq7015/Pynq7015.spec
##写入如下内容
ARCH_${BOARD} := arm
BSP_${BOARD} := 
BITSTREAM_${BOARD} := base/base.bit	

准备工作结束,回到makefile目录进行构建

cd ~/Desktop/PYNQ/sdbuild/
##从离线镜像构建
make BOARDS=Pynq7015 \
PREBUILT=./prebuilt/bionic.arm.2.3.img

##完全源代码构建
make BOARDS=Pynq7015

等待/sdbuild/output目录下生成.img,并烧录到SD卡

#dd写U盘	注:修改rootfs.img为自己项目生成文件名
df -h
sudo dd if=<PYNQ>/sdbuild/output/<rootfs.img> of=/dev/sdb bs=4M

注:从离线镜像构建 4进程耗时约2小时,从源码完全构建,4进程耗时约6小时

4、框架测试

将烧录完成的SD卡插入板卡中,上电启动,并接通网线。

在串口终端获取网卡IP,并在PC浏览器中访问jupyter-notebook,能正常访问,并使用简单常见的python函数。
在这里插入图片描述
jupyter-notebook默认登录密码为xilinx
在这里插入图片描述

框架移植篇完结!

附录、

修改内核参数或驱动参数:
当生成IMG镜像之后再/sdbuild/build//petalinux_project/目录下可以修改内核、文件系统与驱动;之后重新make即可。

cd <PYNQ>/sdbuild/build/<BOARD>/petalinux_project
petalinux-config 
petalinux-config -c kernel

导出BSP包命令:

make bsp BOARDS=Pynq7015

SSH访问构建时,断开SSH,构建进程不中断方法:

nohup make BOARDS=Pynq7015 &
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值