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 & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • 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 & Tria Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
Ultra96 Hardware Design Basic bare metal hardware design and software application missing for U96v2
  • 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
  • State Verified Answer
  • Replies 5 replies
  • Answers 2 answers
  • Subscribers 346 subscribers
  • Views 1578 views
  • Users 0 members are here
  • ultra96
Related

Basic bare metal hardware design and software application missing for U96v2

harahika
harahika over 5 years ago

Hello,

I have been using Xilinx tools (Vivado 2018-2019.1, SDK, Petalinux tools)  for previous Zynq7000 projects but in my current project we are using Zynq Ultrascale+ MPSoC.
We bought an Ultra96v2 dev board to test the chip that's going on the prototype pcb.  I can run the out-of-box instructions on the card for Linux platform and can even get PYNQ to work.

My problem is that our application isn't targeting Linux at this point. It is a hard real-time control application and runs on the R5-core.
We are NOT interested in machine vision or any of that hype and running linux as master is not an option here.

There doesn't seem to be any reference design or decent example of creating a basic hardware design with PS-block, some GPIOs, UART, Timers, non-volatile memory etc.
I have found the board preset and constraints files from Github, but failed to create even a simple design in Vivado because just adding the Zynq PS-block and applying board presets induces weird errors that lead down a rabbit hole.

Can somebody share a design, tutorial or something targeting Vivado and SDK (not Vitis) version 2019.1 and bare-metal/FreeRTOS development?
I'm starting to feel really frustrated with the lack of simple examples. Moreover Vitis seems to break all backward compatibility and only target high-end devices, ML etc. so those examples are out of the question.

Thanks,
Harri

  • Sign in to reply
  • Cancel

Top Replies

  • bhfletcher
    bhfletcher over 5 years ago +1 suggested
    Harri, Sorry for the trouble. Can you confirm that you have the Avnet board definition files installed and you can target the board in Vivado? I've never done anything with the R5, but we could give it…
  • bhfletcher
    bhfletcher over 5 years ago in reply to harahika +1 verified
    If you would like a more populated system, you can build Avnet's out-of-box hardware platform, which is the same as what we include in our BSP. The instructions for doing this are spelled out in this blog…
  • harahika
    harahika over 5 years ago in reply to bhfletcher +1 suggested
    Thanks a lot, finally got it to build after fighting with TCL and path names for a while. Seems to have most if not all of the basic peripherals. Peripheral tests PASS and now have a solid debug configuration…
  • bhfletcher
    0 bhfletcher over 5 years ago

    Harri,

     

    Sorry for the trouble. Can you confirm that you have the Avnet board definition files installed and you can target the board in Vivado? I've never done anything with the R5, but we could give it a try. I can certainly give you some starting points with the A53. Are you able to run something simple, like a UART-only design and Hello World? Are you booting from SD Card or over JTAG?

     

    There are other resources out there that aren't specific to Ultra96 that might be useful. This is a good one:

    https://www.xilinx.com/support/documentation/sw_manuals/xilinx2019_1/ug1165-zynq-embedded-design-tutorial.pdf

     

    These look useful as well, although I have not personally done anything with FreeRTOS:

    https://www.freertos.org/RTOS-ARM-Cortex-R5-Xilinx-UltraScale_MPSoC.html

    https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842248/MPSoC+FreeRTOS+Development

     

    Perhaps there are others in the community with more expertise with FreeRTOS that can provide some guidance as well.

    Bryan

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • bhfletcher
    0 bhfletcher over 5 years ago in reply to bhfletcher

    Found this for the R5 searching online. It might be useful.

    https://www.centennialsoftwaresolutions.com/post/running-hello-world-on-an-r5-processor?gclid=EAIaIQobChMIt-mNg_Ta5AIV_h…

     

    Bryan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • harahika
    0 harahika over 5 years ago in reply to bhfletcher

    Hi Bryan,

    Thanks for the links, but I'd already gone through those before.
    I have the board files installed and they show in the menus.
    It's just that when I apply the board preset or just try to validate my design without modifications to the ZynqUS+ or MB blocks. I get bunch of weird errors that tracing down produces even more errors.

    I'm more of a software guy than HDL so I would just need a couple of HW platforms that had all the common peripherals and Zynq block or Microblaze block so I could get to work with these.

    BR,
    Harri









    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • bhfletcher
    0 bhfletcher over 5 years ago in reply to harahika

    If you would like a more populated system, you can build Avnet's out-of-box hardware platform, which is the same as what we include in our BSP. The instructions for doing this are spelled out in this blog by narrucmot:

     

    Avnet HDL git HOWTO (Vivado 2020.1 and earlier)

     

    IP included:

    • 2x Custom PWM IP (routed to LS Mezzanine)
    • AXI GPIO (routed to LS Mezzanine Reset)
    • 3x AXI GPIO routed to fan_pwm and wifi/bt LEDs
    • 2x AXI UART16550 (routed to LS Mezzanine)
    • System management wizard
    • AXI BRAM

     

    I just went through those instructions and built the platform myself, so I know it works. If you'd prefer, I can send you my Vivado Project for 2019.1 built using this process.

     

    Bryan

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • harahika
    0 harahika over 5 years ago in reply to bhfletcher

    Thanks a lot, finally got it to build after fighting with TCL and path names for a while.
    Seems to have most if not all of the basic peripherals. Peripheral tests PASS and now have a solid debug configuration.

    Kudos,
    Harri









    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • 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