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
Path II Programmable
  • Challenges & Projects
  • Design Challenges
  • Path II Programmable
  • More
  • Cancel
Path II Programmable
Blog Path II Programmable Week 2 SW Course
  • 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: ralphjy
  • Date Created: 2 Nov 2019 5:11 AM Date Created
  • Views 491 views
  • Likes 3 likes
  • Comments 0 comments
  • ultra96-v2
  • path ii programmable
Related
Recommended

Path II Programmable Week 2 SW Course

ralphjy
ralphjy
2 Nov 2019

Continuing my week2 post......  this will cover the SW introductory course

 

The objectives for the introductory Software course are:

  1. Introduce developers to Xilinx SDK (Software Development Kit)
  2. Demonstrate SDK capabilities
  3. Connect SDK to hardware for execution and debug
  4. Utilize a peripheral interrupt to show real-time software response
  5. Show a basic example of how to use an external sensor module

 

This diagram shows the handoff of the hardware design from Vivado to the SDK:

image

The full hardware design including the bitstream are exported from Vivado using an HDF (Hardware Design File *.hdf).  This is the only file required to handoff the design to software.  The HDF is an archive containing the complete Hardware Platform Definition (XML, PSU_INIT, and Bitstream).  This file is then imported into the SDK.

 

Labs 3-4 take you through creating an application to run on the hardware requires 3 basic steps:

  1. Generate a Board Support Package (BSP) that contains all the necessary device drivers
  2. Develop the application code
  3. Build the application

 

The device drivers that are included in a BSP are viewable in the system.mss file (MSS -> Microprocessor Software Specification) as shown below:

The feature of the MSS that I think is really helpful is that documentation and example links are included for each driver.

image

 

There are 3 applications that are built:

  1. Hello World
  2. Memory Tests
  3. Peripheral Tests

 

When creating an application you get to specify the hardware platform, the software language, and the BSP (HW configuration) used:

image

 

Another feature that is helpful is that code templates are available for new applications so that you can get started quickly with example code that can be customized.

image

 

Lab 5 used the system debugger to load and run the applications using the JTAG/UART connection:

The debugger panel allows you reset the board and program it as shown below.

image

 

Labs 6 and 7 demonstrated building and running a Zynq Boot Image from the SD card.  In this case we are just running a standalone application so there are only 3 boot partitions required as shown: the first stage bootloader (FSBL) which is loaded into the on chip memory (OCM), the PL bitstream, and the application program.  If we were loading and running with an OS, a second stage boot program would be required (U-Boot).

image

 

Lab 8 used SDK Project Management to archive and duplicate projects. Lab 10 covered using the xilffs (Xilinx Fat File System) library that is included in the standalone BSP to write the device temperature to the SD card .

 

Lab 9 demonstrated using interrupts and Lab 11 demonstrated developing a standalone sensor application.  Both these labs use the mezzanine card and the Click boards from the mezzanine kit, so I only did verification on the base Ultra96 board with the debug software.  We should be getting a mezzanine board soon and I'll try using it with the PetaLinux labs.

 

I'm learning lots of useful stuff.  I think the PetaLinux course will pull all of it together.  I'm falling behind on blogging.  I'll try to catch up with Week 3 in the next couple of days.

  • Sign in to reply
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