PYNQ: PYTHON PRODUCTIVITY

Pynq 2.6 on picozed 7030 fmc2

HI again,

A few years after porting pynq to microzed I now want to port it to the picozed 7030 with FMC carrier.
A lot changed, it seems to me that the flow is now more straight forward :slight_smile: . I want to use the quick flow using the prebuild rfs as described in pynq-sd-card and sdbuild/README.md.

I use pynq 2.6 in the recommended virtual machine on ubuntu 18

What I did:

  • I stripped the pynqz1 vivado design and kept only the leds, buttons and processor
  • I ported the interfaces to the pz fmc and changed also the processor settings

I created the spec

ARCH_pz7030_fmc2 := arm
BSP_pz7030_fmc2 :=  pz7030_fmc2_2020_1.bsp
BITSTREAM_pz7030_fmc2 := base/base.bit
FPGA_MANAGER_pz7030_fmc2 := 1
STAGE4_PACKAGES_pz7030_fmc2 := xrt pynq boot_leds ethernet

You can find my procedings on github

Next I downloaded:

  • the bsp in pz7030_fmc2_2020_1.tar.gz from the avnet website ( → ref designs → sharepoint)
  • the board agnostic rootfs from pynq io board

Finnaly I hit

PYNQ/sdbuild$ make BOARDS=pz7030-fmc2 PREBUILD=pynq_rootfs_arm_v2_6
...
[INFO] generating user layers
[INFO] generating workspace directory
INFO: bitbake virtual/dtb
ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
    Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
    Following is the list of potential problems / advisories:

    MACHINE=pz7030-fmc2 is invalid. Please set a valid MACHINE in your local.conf, environment or other configuration file.
Failed to create a file in SSTATE_DIR: Permission denied.
You could try using /home/training/projects/bsp_build_tests/pz7030_fmc2/petalinux/projects/cache/sstate_2020.1/arm/ in SSTATE_MIRRORS rather than as an SSTATE_CACHE.


Summary: There was 1 ERROR message shown, returning a non-zero exit code.
ERROR: Failed to build device-tree
Makefile:338: recipe for target '/home/vagrant/PYNQ/sdbuild/build/pz7030-fmc2/petalinux_project/images/linux/system.dtb' failed
make: *** [/home/vagrant/PYNQ/sdbuild/build/pz7030-fmc2/petalinux_project/images/linux/system.dtb] Erro

Notes: the same command for pynq-z1 works fine.

Did I make any obvious mistake? Or is their a real problem with the BSP and do I need to create my own… any tip is welcome.

Johannes

1 Like

Fixed a couple of things,

  • Rebased my branch to 2.6 tag (before I forked from main, do not know if that is a problem or not) .
  • Made BSP from almost empty project like Pynq-Z1 (but without patches)
  • This post was helpful

You can find my proceedings here

Now i got something that at least builds… I’ll let you know if it works.

Kr,
Johannes

2 Likes

Works!

Notes:

  • I had to hit make multiple times… the vitis (former xsdk) still times out sometimes for no good reason
  • For some VERY strange reason my hwdef and bitfile on target were html files iso the real files. Not a clue why… but after manually replacing them the FPGA loads properly and the hwdef gots parsed.

Now the fun can start

Johannes

2 Likes