element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
RoadTests & Reviews
  • Products
  • More
RoadTests & Reviews
Blog Avnet UltraZed-EV Starter Kit Road Test - Port PYNQv2.5 continued
  • Blog
  • RoadTest Forum
  • Documents
  • RoadTests
  • Reviews
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join RoadTests & Reviews to participate - click to join for free!
  • Share
  • More
  • Cancel
  • Author Author: ralphjy
  • Date Created: 26 Jul 2020 12:33 AM Date Created
  • Views 644 views
  • Likes 3 likes
  • Comments 4 comments
Related
Recommended
  • ultrazed-ev
  • ultrazed-ev starter kit
  • pynq
  • ultrazed-ev road test

Avnet UltraZed-EV Starter Kit Road Test - Port PYNQv2.5 continued

ralphjy
ralphjy
26 Jul 2020

In my previous post Avnet UltraZed-EV Starter Kit Road Test - Port PYNQv2.5 , I had ported PYNQv2.5 to the UltraZed-EV using the PetaLinux BSP (uz7ev_evcc_2019_1.bsp) which is for the OOB design.  This verifies the porting process works but now I need to integrate the VCU which is not in the OOB design.

 

The hardware design bitfile is is loaded as an overlay in PYNQ but any drivers and software need to be installed separately.  Since PYNQ uses an Ubuntu rootfs and I am using a pre-built image, I am going to add the gstreamer packages manually in Ubuntu.  The VCU product guide PG252 includes PetaLinux recipes for configuring the hardware and installing drivers and software.  The hardware recipes are specific to the ZCU106 and ZCU104 and relate to using the PL DDR memory to achieve maximum performance.  I don't need that initially but I'll need to implement that later.   There are recipes for adding vcu driver patches and recipes for gstreamer packages that aren't needed.  So how to install the VCU driver?  It seems that if I built a BSP from the VCU TRD HDF that would associate the VCU driver.

 

Process to port PYNQ to VCU TRD

  • Verify that an overlay can be generated from the Vivado design (completed)
    • Upgrade the 2018.3 VCU TRD design to 2019.1 (since this is a small design there aren't many components so upgrading was not a problem)
    • image
    • Build design and export with bitstream
    • image
    • Generate overlay with .hwh and .bit files
    • Verify that PYNQ can load and operate GPIO (the VCU TRD uses the same LED, push button and dip switches as the OOB design)
  • Generate a new BSP from the updated VCU TRD HDF (completed)
    • PetaLinux build and package BSP from HDF
  • Port new PYNQ image using new BSP (completed)
    • Verify Driver is included in device-tree.mss
    • image
  • Test new PYNQ image (failed) - I've worked through multiple issues and still can't get it to work
    • First boot failed - can't initialise the SD card
    • image
    • After searching Xilinx forums I discovered that I needed edits to the device-tree system-user.dtsi file so I copied one from the earlier PYNQ port - apparently the SD card needs to be configured with the no-1-8-v parameter.  Interesting that an image built using only the BSP will boot even with this failure.
    • image
    • After rebuilding the image - it still failed to boot, now it can't open root device
    • image
    • More forum searching and it turns out that it also wants a disable-wp parameter.  Why did the previous port work without it?
    • image
    • Now it boots and Ethernet is configured and I have an ipaddr but the Jupyter service loaded and failed to start
    • image
    • I've seen this before when the root partition was full
    • image
    • And it is....., but I customized the image, otherwise Ethernet would not have worked and the package is in the same UZ7EV.spec file as the resizefs package.  This also worked with the OOB port.  Why is resizefs not working?
    • image

 

Giving up image

I've spent a lot of time trying to get PYNQ to work (building new images is not quick).  In parallel I've been looking Vitis-AI and it looks promising, so I'm going to abandon this effort for now.  I hate to quit and I may come back to it later but these failures are pretty frustrating and seemingly inconsistent.  I think I'm close but it seems it's not converging - this should just work.  I could try a different approach but PYNQ is not the focus of my roadtest - I was just hoping that it would help me prototype faster by being able to use overlays.  Someone will probably have a working process before I get back to it.  And if I use Vitis I'll want to have PYNQ work with 2019.2 tools.

 

Links to previous posts for this roadtest:

  1. Avnet UltraZed-EV Starter Kit Road Test- the adventure begins.....
  2. Avnet UltraZed-EV Starter Kit Road Test - VCU TRD
  3. Avnet UltraZed-EV Starter Kit Road Test - VCU TRD continued
  4. Avnet UltraZed-EV Starter Kit Road Test - Port PYNQv2.5
  5. Avnet UltraZed-EV Starter Kit Road Test - Vitis AI
  • Sign in to reply

Top Comments

  • Fred27
    Fred27 over 4 years ago +1
    I found it similarly difficult when I was trying to build a Pynq image for the Zybo Z7 so I could use the Pcam5C camera. I also gave up.
  • paradise1022
    paradise1022 over 4 years ago +1
    That resizefs should not be included again: https://github.com/Xilinx/PYNQ/blob/image_v2.5/sdbuild/ubuntu/bionic/aarch64/config#L3 Not sure what the impact is if he add that in stage 4 again. The device…
  • zedhed
    zedhed over 4 years ago in reply to paradise1022 +1
    Hi ralphjy , PYNQ support this way and we will track this more closely if you are willing to continue to work on this --> https://discuss.pynq.io/ Best Regards, -Kevin
  • ralphjy
    ralphjy over 4 years ago in reply to zedhed

    Hi Kevin,

     

    I just figured out my resizefs problem when  using PYNQ.  I’ll just mention it here and I’ll post at pynq.io.

     

    The UltraZed-EV assigns /dev/mmblk1 to the SD card.  I think because of the way the hardware is configured- not sure.  It seems most boards assign /dev/mmcblk0.  I ran into this problem early because the rootfs partition couldn’t be found during boot.  I fixed it by modifying the device-tree entry in meta-pynq.  It turns out that the resizefs script is also hardwired to /mmcblk0 so the auto resize on first boot does not work with the UltraZed-EV.  I somehow thought that I had fixed it by adding the resizefs package but I think that I might have manually resized the partition and fooled myself.  I just edited the resizefs script in the stage4 package and it now resizes.  Not sure if this has any side effects but I’ll see what response I get at pynq.io.

     

    Thanks,

     

    Ralph

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • zedhed
    zedhed over 4 years ago in reply to paradise1022

    Hi ralphjy,

     

    PYNQ support this way and we will track this more closely if you are willing to continue to work on this --> https://discuss.pynq.io/

     

    Best Regards,

     

    -Kevin

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • paradise1022
    paradise1022 over 4 years ago

    That resizefs should not be included again:

    https://github.com/Xilinx/PYNQ/blob/image_v2.5/sdbuild/ubuntu/bionic/aarch64/config#L3

     

    Not sure what the impact is if he add that in stage 4 again.

     

    The device tree issue you have seen is because you did not have a stable BSP. For most of the Xilinx boards the BSPs are well maintained and tested; so it would be much easier if the ultrazed BSP could be provided to you directly so you don't have to try all the hacks.

     

    Don't forget the pynq support forum image

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Fred27
    Fred27 over 4 years ago

    I found it similarly difficult when I was trying to build a Pynq image for the Zybo Z7 so I could use the Pcam5C camera. I also gave up.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube