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
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • 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
Path II Programmable
  • Challenges & Projects
  • Design Challenges
  • Path II Programmable
  • More
  • Cancel
Path II Programmable
Blog Hello World (Intro, Setup, HW Labs 1 + 2)
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: ianrj
  • Date Created: 30 Oct 2019 4:02 PM Date Created
  • Views 677 views
  • Likes 6 likes
  • Comments 2 comments
Related
Recommended

Hello World (Intro, Setup, HW Labs 1 + 2)

ianrj
ianrj
30 Oct 2019

We are now 2 and half weeks into this challenge and I have finally got my Ultra96-V2 printing out Hello World onto the UART. This feels like a suitable point to write my first ever blog post!

 

 

Intro to course

This will be a series of blog posts as I work my way through the Path II Programmable. This is a training course done by Element14 with support from Avnet and Xilinx. Who have kindly provided me with an Avnet Ultra96-v2 development board and 3 sets training modules with labs.
 

The 3 training modules are for Hardware, Software and Petalinux. These break down in 29 lectures and 26 labs. Lots to keep me busy but so far it looks like a really good, in depth set of material which will give me lots more knowledge and a vastly improved skillset.

 

Following the training modules I will use these new skills gained to complete a project on Avnet Ultra96-v2.

 

Setup

The very first thing I had to do was to set up the development platform on my computer. This consisted of setting up a Virtual Machine and installing Vivado, SDK and PetaLinux onto it, it also covered setting up the ethernet bridge, shared folders/clipboard, USB and desktop icons and permissions.

 

SDSoC could be used instead of Vivado and SDK, however this would have required a SDSoC license so I opted for Vivado which I am also slightly more familiar with.

 

There was a warning that installing and setting up the virtual machine would take a significant amount of time and boy were they right. It took me the first week of the course to get it set up and that was without encountering any issues along the way!

The instructions were clear and I encountered no issues while following them. Having completed HW Labs 1+2 I was confident that both Vivado and SDK were correctly installed. I decided to use the versions of software that were being used in the lab rather then the latest to prevent additional confusion from changes between versions occurring later in the labs.

 

Versions of software I used were:

  • Ubuntu 16.04 LTS
  • Petalinux-v2018.3
  • Vivado 2018.3
  • SDK 2018.3

 

My Virtual Machine is set up as follows:

  • Base Memory: 8192MB
  • 2 Processors (My laptop uses a i7-8565U @1.8GHz)
  • 150GB of storage.
    • This was the maximum I could make room for on my Laptops SDD.

    • The set up guide recommended 300GB and stated that 150GB is the absolute minimum that can be used and will require the project to be frequently cleaned. Doesn’t that sounds like it will be fun! (I probably will end up getting an external hard drive and setting up another virtual machine with more space later in this course once I get annoyed with constantly cleaning my project!)

 

The only other thing to note about my VM is I’ve been seeing a System Program problem message which I just keep ignoring. Anyone else seen this or know what is causing it?

image

HW Lab 1:

This Lab covered how to create a project in Vivado and how to create a block design inside it. It also gives you a brief overview of Vivado. The instructions were clear and easy to follow, I encountered no issues completing this Lab. Not much else to say on this one.

 

 

HW Lab 2:

This Lab builds on Lab 1 and consists of assigning a couple of UART pins, configuration of the clocks and memory, exporting the hardware to SDK and running a simple application on the Ultra96-V2 to print “Hello World” to the UART.

 

 

UART Pin Selection:

The instructions to set the UART TX and RX pins were clear and easy to follow. I especially liked how the Lab document pointed to both the Ultra96-V2 SCH and the UG10856-TRM so we know exactly how the UART pin assignments were chosen.

 

Clock Configuration:

This part of the Lab took us through all the clock assignments to ensure they were correct (unsurprisingly they were). The nice part about this was we now know where the different clocks are assigned. I am however not entirely sure where the clocks values we are using have come from as they were stated without a reference (See image below). I however haven’t spent any time looking into them further, maybe it will become clearer as the course progresses.

image

We also disabled the PL (Programmable Logic) during these steps as it is not currently in use.

 

Memory Configuration:

The final part of the hardware setup we had to do was configure the memory. Vivado provides some preset defaults for a few different memory sticks, however ours did not use any of these so we needed to define it ourselves. The guide provided all the values we should use so we didn’t need to go digging through the LPDDR4 datasheet. Luckily, since I haven’t gotten my hands on a copy of the datasheet! (It appears to be available on the Micron website but requires an account being made to download it so I didn’t bother at this point).

 

Export Hardware to SDK:

Finally we had to generate a bitstream and export the hardware. I encountered a concerning critical warning about my row address count, shown below.

 

image

 

It was confusing because I remembered setting the row address count to 16 in the previous step, I went back and checked what I had it set to and it’s definitely 16, see below.

image

This did not stop the bitstream being generated so I ignored it and just continued, has anyone else seen this or are able to explain it?

 

Exporting the hardware went much more smoothly without any issues.

 

Run HelloWorld Application in SDK:

The final part of the lab covered the basics of using SDK to run a sample HelloWorld Application on the hardware exported in the last step.

 

This section showed some of the basics how to use SDK, I went through it pretty fast since I am sure the SW modules will cover it all in more detail.

 

As always the steps were clear and easy to follow (Though I did have to figure out when to power the Ultra96-V2 all by myself). The only issue I had was I had configured my terminal to 9600 not the 115200 that the Ultra96-V2 UART was configured to so my initial attempt returned no data to my terminal. Fortunately I spotted the issue right away, updated my serial settings, reran the application (which takes a little time, I bet there is a better way to reset it!) and was greeted with a “Hello World” message.

 

image

I’ve also included a picture of the hardware, who doesn’t love a selection of brightly coloured LEDs?

image
  • Sign in to reply
Parents
  • cmelement14
    cmelement14 over 6 years ago

    I have seen the same VM error message (i.e., "System program problem detected") a few times before, but usually it disappears after one or multiple Ubuntu updates. Make sure you keep updating Ubuntu.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • cmelement14
    cmelement14 over 6 years ago

    I have seen the same VM error message (i.e., "System program problem detected") a few times before, but usually it disappears after one or multiple Ubuntu updates. Make sure you keep updating Ubuntu.

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