element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • More
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • More
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • More
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • More
  • 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
Path II Programmable
  • Challenges & Projects
  • Design Challenges
  • Path II Programmable
  • More
  • Cancel
Path II Programmable
Blog Software Modules (All software Labs)
  • Blog
  • Forum
  • Documents
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Blog Post Actions
  • Subscribe by email
  • More
  • Cancel
  • Share
  • Subscribe by email
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: ianrj
  • Date Created: 13 Dec 2019 5:23 PM Date Created
  • Views 173 views
  • Likes 2 likes
  • Comments 1 comment
  • winners
Related
Recommended

Software Modules (All software Labs)

ianrj
ianrj
13 Dec 2019

I am really far behind with the blog writing for this course so I have summarised all the software labs into one blog. I have also completed the hardware labs so will try and a similar blog post for them out over the next couple of days...before we all run away to enjoy the festivities!

 

Overview of the SW Training

The SW training consisted of 11 labs, the labs covered the following:

Lab 1:

    • Describes the (HDF) Hardware Definition File, explains what files it contains of and provides a brief description of what each file does

Lab 2:.

    • Provides an initial introduction into Xilinx SDK

    • Shows how to import the Hardware Platform

    • Shows how to navigate around the hardware platform files

Lab 3:

    • Teaches the user about the Board Support Package (BSP)

    • Shows how to generate a BSP

    • Shows how to navigate around the BSP files

    • Shows how to navigate the libraries included in the BSP

Lab 4:

    • Teaches the user about applications in SDK

    • Shows how to create an application

    • Shows how to navigate around the application files

    • Shows how to import examples for the libraries being used

    • Shows how the targeted memory can be changed using the linker script

Lab 5:

    • Describes how to run and debug an application on hardware

    • Shows how to run an application on the hardware

    • Shows how to debug an application using breakpoints

Lab 6:

    • Describes how to initialize the Processing System Unit (PSU) and the Platform Management Unit (PMU)

    • Shows how to generate a First Stage Bootloader (FSBL) to initialize the PSU

    • Shows how to adjust the compiler options

    • Shows how to initialize the Platform Management Unit (PMU)

Lab 7:

    • Teaches the user how to boot the hardware from an SD Card.

    • Shows how to generate a boot image for a SD Card.

    • Shows how to run the application from the SD Card.

Lab 8:

    • Describes how to import and export projects between computers.

    • Shows how to archive a project.

    • Shows how to import a project.

Lab 9:

    • Describes how to add an interrupt to an applications

    • Provides the user with an application without an interrupt

    • Talks the user through adding an interrupt to the code.

Lab 10:

    • Teaches the user about using libraries

    • Shows the user how to enable a library in the BSP.

    • Gives the user an application using the library to run.

Lab 11:

    • Teaches the user about using SPI to communicate with an external sensor.

    • Shows how to create an application to talk to the LSM6DSL Click (A Click Mezzanine).

    • Shows the user how to run the application on the hardware.

 

Issues found during the Software Labs

Amazingly I only came across two issues while working through all of these modules (and I really don’t consider the software side to be my strongest area!):

System hanging in Lab 7

I found that the system hung when I ran the Test_Peripherals application when booting from the SD Card. I ran the application multiple times and the hang always occurred during the psu_csudma test, the serial output is shown below.
This is especially interesting because I successfully ran this application in Lab 5, so the issue is likely to do with the change in boot method changing how something is configured. I haven’t looked into this issue to try and identify and resolve it since I was keen to get on to the PetaLinux modules.

SD Card data in Lab 10

In Lab 10 we wrote temperature data to the SD Card. My application appeared to be running correctly, the data printed to the terminal was sensible and after I had stopped the application and checked the SD Card the XADC.CSV file was there.

However the data actually stored in the XADC.CSV file made no sense to me at all. I have included a couple of screenshots of it below:

 

 

I tried looking at the data on both Windows and Linux machines to ensure it wasn’t some form of incompatibility between them as well as re-running the application using a different SD Card, the outcome was the same.

Did anyone else encounter these issues? Did anyone manage to resolve them?  I definitely get the feeling with this one I’m missing something obvious!

 

Thoughts on the Software Modules

I felt this set of training modules was very much based around teaching the user how to use the Xilinx SDK. As SDK is based on Eclipse this means anyone already familiar with Eclipse will probably find most of the modules fairly slow, however it still provides a very helpful introduction to the additional features added by Xilinx. It also appears ideal for anyone not familiar with Eclipse.

The Lab instructions were consistently very clear and easy to follow, just make sure you continue to think about what you are doing and don’t end up mindlessly following the instructions!

 

 

My favorite parts of this training were:

    • Booting from the SD Card, there is just something satisfying about running applications by just powering the hardware!

    • Adding the interrupts to the application in Lab 9. I felt it was the only time in the training we actually got to play with some code.

Anonymous
  • DAB
    DAB over 2 years ago

    How are you saving the data to the SD card.

    Is it binary, ascii, BCD, or some other format.

    If you want to read it into a CSV file, you must make sure that you write ASCII data separated by a comma character.

     

    DAB

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Element14

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 © 2022 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

  • Facebook
  • Twitter
  • linkedin
  • YouTube