element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • 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
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
Ultra96 Hardware Design Using of pre-defined Vitis 2020.1 Platform, ultra96-v2
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Avnet Boards Forums to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 23 replies
  • Subscribers 330 subscribers
  • Views 2813 views
  • Users 0 members are here
  • vitis 2020.1
  • ultra96
Related

Using of pre-defined Vitis 2020.1 Platform, ultra96-v2

ece7498
ece7498 over 4 years ago

Hello, I have tried a lot of approached to get XRT working on an OpenCL application on (Petalinux + Vitis) 2019.2 and 2020.1 at the moment, but all failed, as the XRT interrupt controller failed to start the application.
So I downloaded the Vitis pre-defined platform from your one-drive (from reference-designs):
https://avtinc.sharepoint.com/teams/ET-Downloads/Shared%20Documents/Forms/AllItems.aspx?originalPath=aHR0cHM6Ly9hdnRpbmM…

I am using Vitis 2020.1 and trying to run the vector-addition example. All goes well at the building stage of the platform and the building of the application, but when I download to the board I get this...
image

I tried several ways around but I can't get over it.

I have investigated on Xilinx-forums that Interrupt Controller is a bit problematic and needs to be replaced with a Concat module, instead of Interupt Controller but haven't tried yet, as I don't know what implications this will have on Petalinux-build.

I wanted to ask if anyone has this platform running and booting okay. I want to use XRT and run OpenCL-applications..


Thank you very much for your time,
Alexander E

  • Sign in to reply
  • Cancel

Top Replies

  • drozwood90
    drozwood90 over 4 years ago +1
    HI there, I am not sure I am completely following what you are asking. Please help me better understand. What I think I understand, you want to know how to use the interrupt controller? With Vitis you…
  • drozwood90
    drozwood90 over 4 years ago in reply to ece7498 +1
    Hi there, Are you using the SDCARD that comes with the U96v2 kit? Certain brands of SDCARD can have issues. I find it really strange that you are not booting well - since these are tested images. They…
  • ece7498
    ece7498 over 4 years ago in reply to drozwood90 +1
    Okay thank you Daniel, that's great news! I will test them in a few days, as I can't change task at the moment, and come back with a closure to this ! I need to mention that I have a vadd example working…
  • drozwood90
    drozwood90 over 4 years ago

    HI there,

     

    I am not sure I am completely following what you are asking.

    Please help me better understand.

     

    What I think I understand, you want to know how to use the interrupt controller?  With Vitis you MUST use a concat module.  There is no choice.  That is how the tool interacts with the hardware.

     

    If you are using the image (2020p1_ULTRA96V2_vadd.tar.gz from the Vitis_PreBuilt_Example folder) you downloaded from the Link you posted, there should be no problem running the Vector Add.  That is how I test those images and why I include them as part of the download.  You need only program the SDCARD per the readme, set your boot switches for SDCARD, insert the SDCARD and power up.

     

    If you are having issues working out how to add the various modules to the platform downloaded from the Vitis_Platform folder, everything is already in there.  You just use it by adding in the example design in the Vitis wizard.  You can also use the code in our Github, then make the image using the make commands in the vitis repository, which should provide you the same thing as was posted.  That will provide you with all of the pieces that you can then modify as you see fit.  If this is what you want do try, you can see our many build articles that demonstrate how to get the Github repositories, and how to build with them.

     

    If you are trying to do something else, you need to also take a look at the build files where we add Vitis Directives.  You need to explain to the tool what interrupts are available.

    https://github.com/Avnet/hdl/blob/2020.1/Boards/ULTRA96V2/ultra96v2_oob.tcl#L713

    Without explaining that, the tool does not know what to do with IRQ and how to hook them up.

    Specifically this line:

    https://github.com/Avnet/hdl/blob/2020.1/Boards/ULTRA96V2/ultra96v2_oob.tcl#L744

     

    Hopefully that answered your question.  If not, again, please help me understand what you are after.  I am not totally clear on your need.

     

    --Dan

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • ece7498
    ece7498 over 4 years ago in reply to drozwood90

    Hello Dan and thanks for your answer!

    I am downloading the platform of the link and trying to create an application based on that platform. But the execution of the application on ultra96v2 is failing, as the image shows above.
    So either the platform is not working correctly with XRT-applications, or I am doing something wrong on the creation of the application in Vitis (which I doubt as I am using the vector-addition example...even other examples are not running).

    Now what I was saying is that there are Interrupt controllers on the block-design of the OOB-platform that is posted on the link, which may not work properly with the XRT? I don't know, just trying to figure out how to solve this...


    Thanks for your time
    AE

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • drozwood90
    drozwood90 over 4 years ago in reply to ece7498

    Hi there,

     

    I am not seeing where anything is being run in that screen shot.  It looks to me that the screen shot is from when the system is still booting up.

     

    • To confirm, you downloaded this file:
      2020.1/Vitis_Platform/ULTRA96V2_VITIS_2020_1.tar.gz
      and you validated with this MD5: 6eb0d9ecfe43b8a8545c4fe2dd6b2050
    • From there, you extracted to a folder.
    • Then using the Vitis wizard, created a new application.
    • When asked for platform, you pointed to that folder?

     

    If so, I think we need more details, as that flow is what was used to generate this file:

    2020.1/Vitis_PreBuilt_Example/2020p1_ULTRA96V2_vadd.tar.gz

     

    Have you tested this file?  It is a prebuilt file that already uses vadd.  If not, I suggest you download and test that as it is a known good setup with accelerator in there.  This will help validate that your Ultra96v2 is setup properly.  The readme explains how to setup your SDCARD with that image file.

     

    Another question, have you set your environment variables as the readme explains?

     

    *** Ultra96-V2 == sd-mmcblk0p1

    # cd /media/sd-mmcblk<0|1>p1

    # export XILINX_XRT=/usr

    # ./vadd binary_container_1.xclbin

     

    *** If you see a "polling(0)" and "TEST PASSED" message you know the vadd

    *** application ran successfully

     

    --Dan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • ece7498
    ece7498 over 4 years ago in reply to drozwood90

    Hello Daniel! Yes correct it's not even booting as you can see something is wrong with the IRQ. This is happening with your image when I try to boot up (the first screenshot posted).

    With my images (created with Petalinux and Vitis tools of 2020.1) most of the times I boot correctly and try to run the application (yes I Import the xrt before running) but always getting something like this screenshot
    image

    I am not able to understand what I am doing wrong with the Interrupt Controller and what I need to add to Petalinux to trigger the ZYNQ correctly, so it runs the application. As you can see it hangs there waiting for the interrupt to wake up..

    Also I would like to point out that I am doing stuff with Ultra96 about 3 months now, followed several tutorials and several ultra96-v2 guides. The reason I came here is because it's the official forums and you have upload pre-build images for ultra96v2 to test. Even if these images fail to run, then the problem should be the hardware of the board, I don't know...

     

    I will run the application you pointed out, and come back with more details in this.


    Thanks
    AE

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • ece7498
    ece7498 over 4 years ago in reply to drozwood90

    So we downloaded the image you mentioned , me and a co-worker of mine (different pcs, different devices), and we both faced the same issue.
    The boot is hanging on boot:

    image

    Probably it does not find the rootfs folder. I tried with gparted to extend the 2nd partition (of rootfs), but the problem still exists when I re-write the image.
    Also when I try to access the 2nd partition, it gives me an error "Unable to open disk-partition", so probably the 2nd partition is corrupted or something.

    I am creating a 500gb virtual machine with all tools, following your documentation, so we are in exactly the same flow. Planning to run your automated tcl-scripts and see how it goes step by step.

    Thank you very much for your time
    AE

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • drozwood90
    drozwood90 over 4 years ago in reply to ece7498

    Hi there,

     

    Are you using the SDCARD that comes with the U96v2 kit?

    Certain brands of SDCARD can have issues.  I find it really strange that you are not booting well - since these are tested images.  They do not get released without being tested as functional.

     

    Have you verified the MD5 of the downloaded files?  Have you checked your boot switches?

     

    I have seen the "bad geometry" issue in the past if you do not use a compatible SDCARD.  That is, I used the provided Delkin card without issue. I wrote the same image to another card I had received from Amazon - and that would not boot the SAME image using the other brand.  For what it's worth, this just happened to me 3 days ago.  Please double check the MD5 and that you are using the supplied Delkin SDCARD.

     

    --Dan

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • ece7498
    ece7498 over 4 years ago in reply to drozwood90

    I am using the sd-card that came with the board, it writes on it "Utility HC 16GB Delkin Devices".
    Also I did check me md5 sum and it was correct, before the unzip.

    My coworker has the same sd-card, which came with the ultra96-v2 board. He did not check the m5 sum.

    Boot switches are always on sd-card boot, haven't changed.

    Maybe is the BalenaEtcher which writes the .img file to the SD card? I can't think anything else. How do you download the image file to the sd-card, what program you use?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • drozwood90
    drozwood90 over 4 years ago in reply to ece7498

    HI there,

     

    I use the commands that are listed in the readme.

     

    $ sudo dd bs=4M if=./sd_card.img of=/dev/sd<x> status=progress conv=fsync && sync && sync

     

    This was also in the readme, I've personally never had to run this:

    *** If the SD card fails to boot you may also need to resize the ext4 partition

    $ sudo resize2fs -f /dev/sd<x>2

     

    I still have that off brand card from Amazon, I'll give that one a try and let you know what I see.  Please see if you can execute the first command on the sd_card.img file from the 2020p1_ULTRA96V2_vadd.tar.gz file.

    I'll check my end as soon as I can.

     

    --Dan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • drozwood90
    drozwood90 over 4 years ago in reply to drozwood90

    Hi there,

     

    Also, can you check what fsck says?  I know when my SDCARD was messed up, I saw things like this:

    training@training-VirtualBox:~/projects/ubuntu_z7000$ sudo fsck /dev/sdc2 
    fsck from util-linux 2.31.1
    e2fsck 1.44.1 (24-Mar-2018)
    The filesystem size (according to the superblock) is 1919744 blocks
    The physical size of the device is 1914624 blocks
    Either the superblock or the partition table is likely to be corrupt!

     

    Notice the physical size and filesystem size does not match...in the wrong way (file system looks larger than my sdcard).  I don't think you should see that with the 16GB card, but it is something I noticed on my system.

    --Dan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • drozwood90
    drozwood90 over 4 years ago in reply to drozwood90

    Hi there,

     

    I just re-wrote the image using the above dd command and now the Amazon card works without fail.

    Give that a try.  Maybe Balena does not understand the format?

    Note the additional bs=4M

     

    --Dan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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