9 Replies Latest reply on Jul 3, 2020 4:44 AM by bartokon

    A ZedBoard bare metal tutorial using current Vitis tools?

    unrocket

      All of the ZedBoard tutorials I find use very old tools.
      (Specificalkly Zynq 7000 based stuff, and even more specifically MicroZed.)


      Are there any getting started guides that cover ,
      Zero to running code using the contemporary Vitis based tools?


      • Reply
        • Re: A ZedBoard bare metal tutorial using current Vitis tools?
          drozwood90

          Hi there,

           

          We do not really support ZedBoard any longer.  You might have better luck asking over at Digilent's forums.  They still provide ZedBoard support.

          Aside from that, I can suggest that you read through the blog Series my colleague and I did on the Avnet build flow.  If you were to generate your own pieces following that flow, you should end up with something that works out pretty well for you regarding Vitis.

           

          Specific to the HDL / Petalinux side (I know you said baremetal, but this is for posterity), search for:

          "Avnet HDL git HOWTO" and "Using Avnet Build Scripts to Build a PetaLinux BSP"

          Specific to the Vitis portion, search for "Learning Vitis"

           

          Be mindful, since you specifically want baremetal, you will want to deviate a bit as the Vitis flow is for PetaLinux based platforms.  The flow is not that different, but you will want to ensure you chose baremetal, not a PetaLinux flow.

           

          --Dan

          1 of 1 people found this helpful
          • Re: A ZedBoard bare metal tutorial using current Vitis tools?
            drozwood90

            Hi there,

             

            ZedBoard was created by Digilent in a collaboration with Avnet.  We have partnered many times.

            We do provide some support, especially around anything that we have created and still do have support for.  The forums exist for that purpose as well as providing all the files in the download section.  We are not stopping support around that.  The level you are asking for, generating something brand new for such an old product is just not in the cards.  I am not sure how far, but Digilent is still actively supporting this along with many community members.  To this day, I still see new projects created by students and other community members using the ZedBoard.  It was a very popular board and still is very germane to many individuals.

             

            It is not EOL.  We are still are willing to manufacture them as long as the volumes stay high enough, and do so mostly for the Academic arena.  We encourage users to stay with newer products if their intention is to work with the latest technology.  This is also generally most relevant to industry.  Products such as MiniZed are much more cost effective for learning the tools.  One might also opt for an Ultra96V2, which provides a very powerful system capable of running quite a few AI engines in a very cost competitive model.  Just to try to put this into perspective, the Zynq 7000 is almost 10 years old now.

             

            --Dan

            • Re: A ZedBoard bare metal tutorial using current Vitis tools?
              drozwood90

              Hi there,

               

              As I mentioned, if you follow the blogs that I listed, you should not have a problem doing that, up and through Vitis.

              If you follow any other tutorial we have produced, you should also be able to do that, just substitute what hardware you have for what is listed.  For the most part it is really that straightforward.

               

              --Dan

                • Re: A ZedBoard bare metal tutorial using current Vitis tools?
                  unrocket

                  This is almost comical...
                  "I can suggest that you read through the blog Series my colleague and I did on the Avnet build flow"
                  A link is just too dam hard to type... so lets make it an easter egg puzzle game...

                  Lets try Google "Avnet Build Flow"  
                  -> Yields :
                  an article on flow meters...
                  AI for the ultra 96...
                  A discussion of Avnet cash flow..
                  An avnet article on Renesas processors...
                  A Marketing piece saying how great the Avnet supporting ecosystem is (without a single link to this supposed Superior eco-system)
                  (If google is erasing/canceling people for untrue publications, maybe they should look at this piece and nuke avnet.)

                  Adding the word blog to the search yields basically the same results......


                  Ok try a different approach
                  google: Daniel Rozwood blog...
                  The Hawaiian islands professional program.
                  Linked in profile.
                  A bunch of links on ultra 96 video processing seminars...
                  An Avnet employee profile...

                  The original Myst was less cryptic....and frankly way more fun...

                  So,,,,,a blog about zynq where might that be...
                  Now you might be referring to the micro zed Chronicles...
                  A very nice set of blog entries...
                  Could actually be reading that blog is how I ended up in this predicament...

                  In that series and other things on the hackster.io site there are article about going from scratch with the ultra 96 and vitis....
                  Alas when dealing with the lowly 7000 ....the gist of the vitis article was do all the work in a old version of the tools save the project there and import it into vitis...

                  Now clearly the Zynq 7000 is 10 yrs old, and maybe xilinx is too busy selling $15K RF SOC's to 5G companies, even consider supporting a part of a mere $50.00
                  (to be fair there are 7000 zynq parts up to $4K so you'd a thunk they might still find the ability to support such a part alas you would be wrong.)
                  The lowest cost hard core recent release SOC I could find is an ultra for $215.
                  ( guess that its easier to hire hooligans to burn down insured 5G towers,o in the name of covid-19,  with `15K RF Socs in them and sell more Socs,
                  that it is to do the traditional thing and support your existing products... this business profits quarterly report thing is so complicated)

                  Now microsemi has some nice Polar fire stuff on the way... (God knows what the prices are and the low end part is still years away)
                  and Intel has the cyclone stuff. One could just take an existing processor that already has hello world already running and hook it up to an ECP5 device...
                  and skip the whole hardcore idea... its sad when reverse engineered open source tools have waaaaaaaay better support than commercial vendor tools...

                  Enough ranting....

                  So off to the xilinx download page to the  vivaldo archive....
                  Where the VERY FIRST THING ON THE PAGE is:
                  "We Strongly recommend using the latest releases available." yea me too bro me too.....

                  On to  download vivlald0 2016.1 (the last version available under the microzed tutorials)
                  Whence I down load an installer that downloads many giga bytes more stuff,,, runs for awhile pops up  a
                  dialog box about some xxxx.bat failed to run and crashes.
                  (To be fair it did this in the driver install section of the install, it probably had an issue because the drivers were already installed as part of installing the latest tools.)
                  So maybe the tools might actually work... or more likely I will have to spend a day removing all signs of xilinx tools and do things in the proper order...
                  Install just 2016... get a bare hello world running export the project, install the latest 2020 Vitis and try importing...

                  Or maybe I should create a VM first and install different version of the tools on multiple VM's  oh but one needs USB... so sad...try again...


                  Oh Joy.
                  There is now a puddle of (what I assume is )sarcasm under my chair.

                  I'll try again in the morning!


                  1 of 1 people found this helpful
                • Re: A ZedBoard bare metal tutorial using current Vitis tools?
                  drozwood90

                  Hi there,

                   

                  I'm sorry that you missed where I told you the exact terms to put into the search engine.

                  I also did not specify the Element 14 search engine, so again, I am sorry I gave you confusing instructions.

                  Later on where I stated "if you follow the blogs that I listed," I was referring to the second post

                  https://www.element14.com/community/message/292930/l/re-a-zedboard-bare-metal-tutorial-using-current-vitis-tools#292930

                   

                  That actions you needed to take should have been a copy/paste in the Element 14 search engine.

                   

                  "Avnet HDL git HOWTO"

                  Avnet HDL git HOWTO

                   

                  "Using Avnet Build Scripts to Build a PetaLinux BSP"

                  Using Avnet Build Scripts to Build a PetaLinux BSP

                   

                  Finally, specific to the Vitis portion, search for "Learning Vitis"

                  Using those terms, you will locate, for example:
                  Learning Vitis: 1 Setting up a Virtual Machine and the rest listed in the search

                  https://www.element14.com/community/search.jspa?q=Learning+Vitis

                   

                  This last search yields 9 articles in total.  I hope you can appreciate why I asked you to search for them as a SINGLE search by you yields the ENTIRETY of the list for your EASE of clicking.

                  Note the Vitis articles have numbers in their title and should be viewed in order.

                   

                  Using that information, you can utilize the latest tools.  I have confidence a community member of your stature will have success after learning about the Vitis flow and being able to apply it to your situation, just like many of our other members that have had to customize Vitis for their own customized platforms which Avnet does not support. 

                  You can also refer to Xilinx User Guide 1400 "Vitis Unified Software Platform Documentation"

                  UG1400

                  Here is a link to the 2020.1 version, however I recommend that you utilize DocNav as that will always point to the latest version of the document, so my link will become irrelevant as the tools progress.

                  The other method that I have taught is search on Google or using Xilinx's search engine for "UG1400 [version number]"

                  replace [version number] with 2020.1 or 2019.2 to locate specific versions of document or to locate a Wiki (some documents were transitioned to Xilinx Wikis).

                   

                  If you want a point and click tutorial specifically and only for ZedBoard, you will need to follow the older material, which is listed under the ZedBoard download page

                  ZedBoard

                  We can support you in questions about that material in the forums in which you pointed out exist.  I will mention up front, please do not be surprised when someone encourages you to utilize a newer system that is fully supported.  It is certainly not meant in offense. 

                   

                  As I mentioned above, you can take the existing materials for other boards, such as MiniZed, and run through it and for the most part selecting ZedBoard instead will yield you the results you want.  If you are looking for a Zynq-7000 based point and click tutorial for Vitis, we do not have one.  At this time, ZedBoard, PicoZed, MicroZed are not fully Vitis supported, yet there is no reason one would not be able to build a platform for one of those systems.  I am also sorry to say that there not a point and click tutorial available.  We have Vitis materials around Ultra96V2, and the rest of the UltraZed family.  There is even untested support in the Avnet build scripting for Zynq-7000, which if you go through the above linked-searchable articles, you will get to the Avnet Github which contains those materials.

                   

                  Here is a link to help you with that:

                  https://github.com/avnet

                  Please note that this link should be used in conjunction with the specific materials that I linked above in this post to ensure that you are properly guided in understanding this method of utilizing the Xilinx materials and tools related to the specific products that we have included support for.

                  Also note that while there are pieces of ZedBoard support:

                  https://github.com/Avnet/hdl/tree/master/Boards/ZEDBOARD

                   

                  You will note that there is a lack of a BDF for "full" modern support.

                  https://github.com/avnet/bdf

                   

                  That missing BDF file contains a Board Definition, which allows most users most of the time to skip most constraint creation.  For ZedBoard, Avnet has not supported that since the creation of our Github account.  Xilinx has, most of the time included that in every tool release.  For your ease of mind, I validated that it is in fact included with the installation of the 2020.1 tools.

                   

                  Following the searchable and linked articles will allow you the skills to work through those 4 repositories and understand how Vitis is built for the available Vitis capable platforms, which as I stated, should allow you to be able to create your own customized platform in a rather short order.

                   

                  Lastly, as I had originally guided you, Digilent is providing and of the ongoing support for materials that Avnet did not create.  I took a search through their forums and found there are many community members working on Vitis with ZedBoard.  As I originally encouraged you, you would likely have good success speaking to members of that forum where there is modern support around that product.

                  Here are some links for you:

                  Forum:
                  https://forum.digilentinc.com/forum/4-fpga/

                  One specific post around others that have had successes with Vitis and ZedBoard

                  https://forum.digilentinc.com/topic/19447-vitis/

                   

                  I hope this helps and has eased some of the concerns that you have, at least based on the last post you made.

                   

                  --Dan

                   

                  P.S. reading through your reply, you also mention the MicroZed Chronicles, having worked with Adam and his content content, I can fully endorse his instructions.  That is certainly another path to learn Vitis as well as the other topics he listed.  Adam is a talented writer and engineer.  I would encourage you to go through his materials.

                   

                  P.P.S. related to the term you pulled from Xilinx's tools download page, "We Strongly recommend using the latest releases available."
                  if you read through, I also recommended you stick with the later tools and teaching materials as well as provided a path forward for you

                  3 of 3 people found this helpful