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 to Programmable
  • Challenges & Projects
  • Design Challenges
  • Path to Programmable
  • More
  • Cancel
Path to Programmable
Blog ZYNQ-SW Module 2 Minized Blog3 --lab4 & lab5
  • 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: snidhi
  • Date Created: 5 Jan 2019 11:14 PM Date Created
  • Views 691 views
  • Likes 2 likes
  • Comments 1 comment
  • vivadosdk
  • program fpga
  • fpga
  • vivado design suite
  • minized
Related
Recommended

ZYNQ-SW Module 2 Minized Blog3 --lab4 & lab5

snidhi
snidhi
5 Jan 2019

The Module 2 of the MiniZed Path to Programmable is focused on software development in xilinx fpga. The previous minized SW development ZYNQ blog can be read here ZYNQ-SW Module 2 Minized Blog2 -- Lab 3

The Hardware related blogs are here Summary of Module 1 Path to Programmable ZYNQ HW blogs

The Software related blogs are here Summary of Module 2 Path to Programmable ZYNQ SW blogs

 

  • ZYNQ SW Module Lab 4
  • SW Module Lab 4 Experiment 1
  • SW Module Lab 4 Experiment 2: Peripheral Test
  • SW Module Lab 4 Experiment 3: Add and Edit Memory Test
  • ZYNQ SW Module Lab 5
  • Lab 5 Exp1: Setup Hardware and Download Bitstream
  • Lab 5 Exp2: Running an Application
  • Lab 5 Exp3: Running Memory Test Application
  • Testing the application Test_Memory_FullDDR
  • Results from the Peripheral Test application
  • Conclusion

 

ZYNQ SW Module Lab 4

 

In this lab I added the application as the Hardware platform and BSP, we are now ready to use. The BSP generated and drivers for all peripherals in our workspace.

 

Lab 4 Objectives

When you have completed Lab 4, you will know how to:

 

• Add new software applications to SDK

• Use example code to target the UART in a Hello World application

• Apply example project templates, including

  • Memory Tests
  • Peripheral Tests

• Identify application code size and location

• Modify linker scripts to change the target memory location

 

SW Module Lab 4 Experiment 1

 

Here I add an empty software application by using the existing Hello World example code with the UART driver. Then generate the linker script which targets the application memory region.

 

image

Creating a new Hello zynq project with Hello world template

 

image

Many examples that can be used from xilinx

 

image

Looking into the size of the generated elf file. Size of the Hello_Zynq Application

 

The lscript.ld file is the linker script for the application. Here below one can see the report where the memory which were used in the application. This linker file is changed to change the location of the application as seen later.

 

image

The lscript.ld file with a summary of the available memory locations

 

image

The lscript.ld file further described

 

image

source linker script code from which the Summary was generated

 

image

Generate Linker Script can be used to edit the memory location as shown above

 

image

ps7_ram_0 is selected to place the code Heap and Stack into. The Linker Script Generator defaults to 1 KB for Heap Size and Stack Size

 

image

Result after building the Linker Script again. SDK rebuilds the Hello_Zynq application based on the new linker script. All the changes can be seen in the newly generated lscript.ld file

 

 

SW Module Lab 4 Experiment 2: Peripheral Test

 

Here we added the Peripheral Test application in the existing SDK workspace. This is also done using the existing standalone_bsp_0 and the Template Peripheral Tests.

 

image

using the Peripheral Test application from xilinx

 

image

The peripheraltest.c file

 

image

Looking at the CacheEnable() functions to enable both the L1 and L2 caches.

 

SW Module Lab 4 Experiment 3: Add and Edit Memory Test

 

There is also an application template for Memory Test in SDK. This is a test for any new hardware system to make sure the memory is stable prior to running an O/S. Testing the Test_Memory_FullDDR here as shown below. Similar steps from above are followed. Later the code is edited to test FullDDR memory.

 

image

 

image

 

 

 

The lab 4 has ended here. A summary of all the zynq software SDK labs can be found here Summary of Module 2 Path to Programmable ZYNQ SW blogs

 

ZYNQ SW Module Lab 5

 

The aim here is to connect SDK applications to Hardware on Minized. We connect to hardware through a JTAG connection. The bitstream is programmed into the PL & after the ARM processor configuration the code boots to the memory. SDK runs the application on top of the hardware and can be also used for debugging.

 

Lab 5 Exp1: Setup Hardware and Download Bitstream

 

 

image

Set Boot Mode jumpers to Cascaded JTAG Mode

 

The SDK already choses the correct bitstream depending on the chosen project in the SDK. Click Program

 

Lab 5 Exp2: Running an Application

 

Run the Hello_Zynq and Test_Memory applications on the hardware, viewing the results.

 

Testing the Hello_Zynq Application on the Minized

 

image

 

image

 

image

Viewing the results of the Hello_Zynq

 

image

Running the applications on minized

 

 

Lab 5 Exp3: Running Memory Test Application

 

image

 

image

 

image

View the memory test results on the minized as above

 

Testing the application Test_Memory_FullDDR

 

Steps to set up the environment and the results are shown below.

image

 

image

As shown the above steps can be repeated and all the software applications are tested on the minized board.

 

Results from the Peripheral Test application

 

image

 

image

 

Conclusion

 

In labs 4 and 5 different application projects were created in Vivado SDK using the standalone_bsp_0. And later these tests were run on the minized hardware using the memory test template code. A Summary of all the ZYNQ minized SW bloags can be read here Summary of Module 2 Path to Programmable ZYNQ SW blogs

  • Sign in to reply
  • DAB
    DAB over 6 years ago

    Nice update.

     

    DAB

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