精华内容
下载资源
问答
  • ZCU106的PYNQ移植

    千次阅读 2019-10-30 11:17:16
    ZCU106的PYNQ移植 PYNQ官方给出SD img 文件的开发板目前有三块:PYNQ-Z1,PYNQ-Z2以及ZCU104。笔者这次将进行ZCU106的PYNQ移植。 一:准备工作 移植的准备工作参考这篇文章的:一:基本框架搭建 ZYBO-Z7开发板的...

    ZCU106的PYNQ移植

    PYNQ官方给出SD img 文件的开发板目前有三块:PYNQ-Z1,PYNQ-Z2以及ZCU104。笔者这次将进行ZCU106的PYNQ移植。

    一:准备工作
    移植的准备工作参考这篇文章的:一:基本框架搭建
    ZYBO-Z7开发板的PYNQ框架移植

    二:SD img的生成
    看过笔者之前ZYBO板PYNQ移植的这里说明一下,ZCU106的PYNQ移植我们采用直接用bsp文件进行,所以不需要用Vivado进行最小SOC系统的搭建。

    1. 同ZYBO移植过程中,下载PYNQ,检查依赖库环境,编辑shell文件,修改newlib.sh(具体参考ZYBO移植)
     git clone https://github.com/Xilinx/PYNQ.git
     cd PYNQ
     git checkout v2.3
     git checkout -b vacajk_dev
    ./setup_host.sh
    source /opt/pkg/petalinux/2018.2/settings.sh
    source /opt/Xilinx/Vivado/2018.2/settings64.sh
    source /opt/Xilinx/SDK/2018.2/settings64.sh
    export PATH=/opt/qemu/bin:/opt/crosstool-ng/bin:$PATH
    1. 在 /PYNQ/sdbuild/ 下新建文件夹 prebuilt,将下载好的bionic.aarch64.2.3.img复制到该文件夹
    2. 在 /PYNQ/boards/ 下新建 ZCU106 文件夹
      在这里插入图片描述
      将官网下载的ZCU106的bsp文件复制到这一文件夹。同时从ZCU104文件夹中拷贝 ZCU104.spec 至该文件夹,并对其内容修改如下:
    ARCH_ZCU106:= aarch64
    BSP_ZCU106 := xilinx-zcu106-v2018.2-final.bsp
    STAGE4_PACKAGES_ZCU106 := pynq ethernet

    保存后将文件夹修改为ZCU106.spec。

    1. 返回/PYNQ/sdbuild/ 右键打开终端,首先生成boot所需文件:
    make boot_files BOARDS=ZCU106
    

    完成后再生成镜像文件:

    make images BOARDS=ZCU106 PREBUILT=./prebuilt/bionic.aarch64.2.3.img

    生成的文件都在存放在 /PYNQ/sdbuild/output/ 文件夹下在这里插入图片描述

    三:SD卡的镜像烧写
    同ZYBO过程,WIndows用Win32_Disk_Imager将img烧写到SD卡,注意复制BOOT.bin 以及 image.ub 文件到FAT32分区

    四:板卡启动
    笔者之前完成过ZYBO-Z7开发板的PYNQ移植,这里重点比较说明一下ZCU106与ZYBO板之间启动方面的不同。

    1. ZYBO开发板采用的是micro SD卡槽,而ZCU106采用SD卡槽,请有需要的同学准备SD卡套或直接采用SD卡进行镜像的烧写
    2. ZYBO开发板的JTAG口与UART口是二合一的,这里重点强调一下进行串口通信采用的是UART端口,所以在ZCU106上进行移植时应将电脑的USB插口与ZCU106的UART口连接
    3. Win10会自动检测安装USB to UART Bridge,之后用Xshell进行端口访问时可通过设备管理器查看需要的端口号
    4. 将开发板的SW6(四个拨片的那个开关,标注为8A)拨至SD启动,如图所示,1号打开,其余关闭在这里插入图片描述
      在这里插入图片描述
      启动成功。

    补充说明:关于上电启动后ZCU106板不能自动获取ip地址的解决方法
    经过检验,这一问题是由于eth0文件的缺失造成的,解决方法如下:
    在这里插入图片描述
    在 PYNQ/sdbuild/packages/ethernet 文件夹中找到 eth0 文件,将其复制到用于启动的sd卡的 /etc/network/interfaces.d 下
    由于访问权限原因,建议进入终端,用管理员账户进行复制。
    完成后再次SD卡启动开发板即可检测到自动获取的ip。
    在这里插入图片描述
    之后的Jupyter notebook的使用这些网上教程很多,不做赘述。

    Fin

    展开全文
  • PYNQ移植实记 一、环境构建-附件资源
  • PYNQ移植ZCU102编译好的固件 包含了开发板启动的BOOT.bin,image.ub 以及在线加载bit文件用到的bit和tcl文件
  • PYNQ移植的IP配置

    2019-11-13 09:36:00
    PYNQ移植的IP配置 在我们成功完成PYNQ移植后经常会发现通过Xshell与板卡交互,在ifconfig命令后并看不到eth0网口。这是由于在SD启动卡的 /etc/network/interfaces.d 下并没有eth0的配置文件,该文件可在PYNQ文件夹...

    PYNQ移植的IP配置

    在我们成功完成PYNQ移植后经常会发现通过Xshell与板卡交互,在ifconfig命令后并看不到eth0网口。这是由于在SD启动卡的 /etc/network/interfaces.d 下并没有eth0的配置文件,该文件可在PYNQ文件夹的 /sdbuild/packages/ethernet 中获取,如下图:
    在这里插入图片描述
    将该文件复制到开发板的 interfaces.d 文件夹下,打开eth0文件里面的代码如下:
    在这里插入图片描述
    官方在配置过程中让eth0采用dhcp方式动态获取IP,这导致开发板每次上电后所获取的IP地址都不同,在多块开发板统一管理方面造成不便。我们修改代码如下:

    auto eth0
    iface eth0 inet static
    address <your IP address>
    netmask 255.255.255.0

    注意设定的IP地址应与你访问开发板的上位机处于同一网段。
    以ZCU106为例,修改完成后上电开发板,ifconfig获取配置如下:
    在这里插入图片描述
    我们成功实现了开发板的静态IP分配。

    Fin

    展开全文
  • PYNQ移植记录

    2019-09-23 20:59:25
    用的是黑金的板子,但是想尝试一下pynq的那种开发方式。简化一下自己的开发进程,故启动此移植项目。个人技术水平有限,才刚刚接触ZYNQ,本文可能有错,还需各路大神指出。 因为目标板也是Z7020理论上应该不会特别...

    目标

    用的是黑金的板子,但是想尝试一下pynq的那种开发方式。简化一下自己的开发进程,故启动此移植项目。个人技术水平有限,才刚刚接触ZYNQ,本文可能有错,还需各路大神指出。
    因为目标板也是Z7020理论上应该不会特别复杂。

    环境配置

    安装Linux Vivado

    在Ubuntu 16.04下安装Vivado 2018.3。这是pynq目前(2019.9.24)支持的最高版本的vivado。

    安装petalinux

    安装petalinux的时候要注意安装对应的版本。
    在新建安装路径的时候要注意用户具有相应的权限,可以用chownchgrp修改。且安装不能以管理员身份安装。
    按照官方文档说的装一堆环境先。还要安装一下gawk
    安装一开始需要消耗巨大的内存,虚拟机内存要配够,4G不够。

    一些方便的准备工作

    添加默认执行的语句

    ~/.bashrc里添加
    添加内容

    取消sudo密码

    修改/etc/sudoers
    取消密码

    安装pynq环境

    安装pynq的环境一定要在前面两个之后,因为包的依赖好像会出问题。
    链接

    移植

    一开始以为会很麻烦,后来发现官方说了怎么搞

    注意事项

    1

    在部署的时候一定要使用git clone下载github上的文件,不要下载源码压缩包。

    2

    在编译镜像的时候要先修改/opt/crosstool-ng/lib/crosstool-ng-1.22.0/scripts/build/libc/newlib.sh,吧
    第13行

        local libc_src="{http://mirrors.kernel.org/sourceware/newlib,
                         ftp://sourceware.org/pub/newlib}"
    

    改为local libc_src="ftp://sourceware.org/pub/newlib"。否则会报如下错误。

    [INFO ]  Performing some trivial sanity checks
    [INFO ]  Build started 20190924.213222
    [INFO ]  Building environment variables
    [INFO ]  =================================================================
    [INFO ]  Retrieving needed toolchain components' tarballs
    [ERROR]   
    [ERROR]  >>
    [ERROR]  >>  Build failed in step 'Retrieving needed toolchain components' tarballs'
    [ERROR]  >>        called in step '(top-level)'
    [ERROR]  >>
    [ERROR]  >>  Error happened in: do_libc_get[scripts/build/libc/newlib.sh@741]
    [ERROR]  >>        called from: main[scripts/crosstool-NG.sh@594]
    [ERROR]  >>
    [ERROR]  >>  For more info on this error, look at the file: 'build.log'
    [ERROR]  >>  There is a list of known issues, some with workarounds, in:
    [ERROR]  >>      '/opt/crosstool-ng/share/doc/crosstool-ng/crosstool-ng-1.22.0/B - Known issues.txt'
    [ERROR]   
    [ERROR]  (elapsed: 0:29.41)
    [00:30] / /opt/crosstool-ng/bin/ct-ng:152: recipe for target 'build' failed
    make[1]: *** [build] Error 1
    make[1]: Leaving directory '/home/vivado/Desktop/PYNQ-2.4/sdbuild/build/gcc-mb'
    

    3

    好像要修改一下petalinux的内核,选中默认以太网。

    展开全文
  • PYNQ移植实记 三、框架移植

    千次阅读 2019-04-10 15:16:01
    ZYNQ 7015系列板卡 pynq框架移植 By Dnknow.恒 三、框架移植 1、板级描述文件准备 在最小Soc创建完成之后,从Vivado工程目录中得到 \demo.runs\impl_1\demo_wrapper.bit \demo.sdk\demo_wrapper.hdf 两个文件...

    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 &
    
    展开全文
  • PYNQ移植实记 一、环境构建

    千次阅读 2019-04-09 17:18:17
    ZYNQ 7015系列板卡 pynq框架移植 本次框架移植所有环境均在Ubuntu16.04.6版本下进行,所有操作从Ubuntu官方镜像源构建,已测试Ubuntu16.04版本均无问题,Ubuntu1804版本尚存在问题没有解决,疑似内核升级等引起的库...
  • 在python中使用ol = Overlay('zcu102_led.bit')后,输入ol进行自动补全时会使python程序崩溃。检查发现问题出在了Vivado中Zynq UltraScale+ MPSoC模块的配置有问题,但一直未定位到。 使用该文件进行ps配置可以解决...
  • PYNQ移植实记 二、最小Soc系统构建

    千次阅读 2019-04-09 21:50:34
    ZYNQ 7015系列板卡 pynq框架移植 PYNQ是Xilinx公司的开源框架,它被设计运行在赛灵思ZYNQ嵌入式片上系统(SoC),借助Python语言和专用的库,使得设计人员可以在ZYNQ系列SOC中构建强大的数字系统。 二、最小Soc...

空空如也

空空如也

1 2 3 4
收藏数 78
精华内容 31
关键字:

pynq移植