Installing pynq via petalinux

Hi, I’m trying to create PYNQ bsp for Minized.

I have created system with fpga manager, jupyter notebook, pynq packages.
But if I’m trying to import PYNQ Im getting this message:

/usr/lib/python3.5/site-packages/pynq/lib/video/init.py in
38 from . import clocks
39
—> 40 if pynq.ps.CPU_ARCH == pynq.ps.ZYNQ_ARCH:
41 from . import dvi
42 elif pynq.ps.CPU_ARCH == pynq.ps.ZU_ARCH:

AttributeError: module ‘pynq’ has no attribute ‘ps’

Is this error connected with Minized not containing any video output?
How can I fix those errors? I’m missing some library?

Thanks for help

So I’ve just removed this line and dvi library.
Now PYNQ throws “ConnectionError: Could not connect to PL server” Isn’t fpga manager PL-server for PYNQ?

The PL server is a separate process which would normally be started by init. Given the errors you are seeing it’s likely that the server failed to start. You can run start_pl_server.py & on the console to start it manually.

I’m a bit worried by the error messages you are seeing - that shouldn’t be happening and indicates some form of circular inclusion on our part. I don’t know why this would be an issue for the minized. If you get a finish your BSP would you be willing to share it so I can try and get to the root of the issue?

Peter

Hi,
I have tried using start_pl_server.py, here is output:
start_pl_server.py
start_pl_server.py
sr/lib/python3.5/site-packages/pkg_resources/init.py", line 479, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File “/usr/lib/python3.5/site-packages/pkg_resources/init.py”, line 2703, in load_entry_point
return ep.load()
File “/usr/lib/python3.5/site-packages/pkg_resources/init.py”, line 2321, in load
return self.resolve()
File “/usr/lib/python3.5/site-packages/pkg_resources/init.py”, line 2327, in resolve
module = import(self.module_name, fromlist=[‘name’], level=0)
File “/usr/lib/python3.5/site-packages/pynq/init.py”, line 47, in
from . import lib
File “/usr/lib/python3.5/site-packages/pynq/lib/init.py”, line 74, in
from . import video
File “/usr/lib/python3.5/site-packages/pynq/lib/video/init.py”, line 41, in
from . import dvi
File “/usr/lib/python3.5/site-packages/pynq/lib/video/dvi.py”, line 41, in
import pynq.lib._video
ImportError: No module named ‘pynq.lib._video’

MinizedBSP.bsp (2.5 MB)

This is output from fresh install.
Now I’m trying to get latest pynq and pandas from pypi, because petalinux 2019.2 have 2.4 pynq version included in meta-pynq which is outdated.

I will try to one more time after update finishes.

So I have reinstalled pynq package to version 2.5.4 via pypi and now it behaves differently.
First start_pl_server.py
1freeze
Just a freeze and no reaction from ZYNQ.
One click CTRL+C later
onectrlc
Another freeze, so second CTRL+C
twoctrlc
And another, so third CTRL+C
thirdctrlc

The start_pl_server.py script is designed to run forever - hence why we aim to start it at boot.

If you run it in the background with

start_pl_server.py &

Does that make the core PYNQ library function correctly?

Okay, its seems to work after updating to version 2.5.4.
Screenshot from 2020-07-27 12-54-10

I can’t test it properly for now because while creating new overlay my wifi and mmc driver freak out so I’m losing wifi connection.

I will make some tests after I get over this issue.

PS1. Is there any petalinux recipe for 2.5.4 version?
Installing new pynq version via pip3 in minized is pain.

PS2. How can I create HWH file? Right now Im using TCL and Bitstream?

Petalinux 2020.1 has 2.5.1 in it which (for Z|YNQ) should be functionally identical to 2.5.4. The updated recipes are here and should be portable to 2019.2 if it’s important for you to stick with the old version.

Peter

Thanks for help with PYNQ!

Sadly 2.5.1 doesn’t work out of box :
DEBUG: Executing python function sstate_task_prefunc
DEBUG: Python function sstate_task_prefunc finished
DEBUG: Executing python function extend_recipe_sysroot
NOTE: Direct dependencies are [‘/home/bartek/petalinux20192/components/yocto/source/arm/layers/core/meta/recipes-devtools/binutils/binutils-cross_2.31.bb:do_populate_sysroot’, ‘virtual:native:/home/bartek/petalinux20192/components/yocto/source/arm/layers/core/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot’]
NOTE: Installed into sysroot:
NOTE: Skipping as already exists in sysroot: [‘binutils-cross-arm’, ‘pseudo-native’, ‘quilt-native’, ‘texinfo-dummy-native’, ‘flex-native’, ‘autoconf-native’, ‘zlib-native’, ‘gnu-config-native’, ‘gettext-minimal-native’, ‘libtool-native’, ‘automake-native’, ‘m4-native’, ‘xz-native’]
DEBUG: Python function extend_recipe_sysroot finished
DEBUG: Executing python function do_package_qa
NOTE: DO PACKAGE QA
DEBUG: Executing python function read_subpackage_metadata
DEBUG: Python function read_subpackage_metadata finished
NOTE: Checking Package: python3-pynq-dbg
NOTE: Checking Package: python3-pynq-dev
NOTE: Checking Package: python3-pynq-lic
NOTE: Checking Package: python3-pynq-doc
NOTE: Checking Package: python3-pynq-locale
NOTE: Checking Package: python3-pynq-staticdev
NOTE: Checking Package: python3-pynq-notebooks
NOTE: Checking Package: python3-pynq
ERROR: QA Issue: non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/pmod/bsp_iop_pmod/iop_pmoda_mb/lib/libc.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/pmod/bsp_iop_pmod/iop_pmoda_mb/lib/libgloss.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/pmod/bsp_iop_pmod/iop_pmoda_mb/lib/libgcc.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/pmod/bsp_iop_pmod/iop_pmoda_mb/lib/libxil.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/pmod/bsp_iop_pmod/iop_pmoda_mb/lib/libm.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/rpi/bsp_iop_rpi/iop_rpi_mb/lib/libc.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/rpi/bsp_iop_rpi/iop_rpi_mb/lib/libgloss.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/rpi/bsp_iop_rpi/iop_rpi_mb/lib/libgcc.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/rpi/bsp_iop_rpi/iop_rpi_mb/lib/libxil.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/rpi/bsp_iop_rpi/iop_rpi_mb/lib/libm.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/arduino/bsp_iop_arduino/iop_arduino_mb/lib/libc.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/arduino/bsp_iop_arduino/iop_arduino_mb/lib/libgloss.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/arduino/bsp_iop_arduino/iop_arduino_mb/lib/libgcc.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/arduino/bsp_iop_arduino/iop_arduino_mb/lib/libxil.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/arduino/bsp_iop_arduino/iop_arduino_mb/lib/libm.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/logictools/bsp_lcp_ar_mb/lcp_ar_mb/lib/libc.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/logictools/bsp_lcp_ar_mb/lcp_ar_mb/lib/libgloss.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/logictools/bsp_lcp_ar_mb/lcp_ar_mb/lib/libgcc.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/logictools/bsp_lcp_ar_mb/lcp_ar_mb/lib/libxil.a’
non -staticdev package contains static .a library: python3-pynq path ‘/work/cortexa9t2hf-neon-xilinx-linux-gnueabi/python3-pynq/2.5.1-r0/packages-split/python3-pynq/usr/lib/python3.5/site-packages/pynq/lib/logictools/bsp_lcp_ar_mb/lcp_ar_mb/lib/libm.a’ [staticdev]
ERROR: QA run found fatal errors. Please consider fixing them.
DEBUG: Python function do_package_qa finished
ERROR: Function failed: do_package_qa

I have created pynq based on Xilinx PYNQ from github, not via raw petalinux. Now it is working.