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
Path to Programmable 3
  • Challenges & Projects
  • Design Challenges
  • Path to Programmable 3
  • More
  • Cancel
Path to Programmable 3
Blog Creating and testing an RTOS platform and application Blog #3
  • Blog
  • Forum
  • Documents
  • Leaderboard
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Path to Programmable 3 to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: cghaba
  • Date Created: 26 Jul 2023 8:56 PM Date Created
  • Views 860 views
  • Likes 6 likes
  • Comments 1 comment
Related
Recommended

Creating and testing an RTOS platform and application Blog #3

cghaba
cghaba
26 Jul 2023

Introduction

The software training part was focused mainly on creating and using a standalone platform. Xilinx tools were supposed to be able to create a platform running an RTOS or Linxus OS. I was curious how easy is to create a platform using an RTOS (freertos) in Vitis and then create and run a simple application that would use the RTOS.

Creating the platform

As suggested in previous labs, a quick way to start is by using an already-created workspace. I copied the workspace of Lab11 to another workspace I named LabRTOS. I opened Vitis which opened the workspace with the standalone platform and the already created applications.

In order to create the new platform, I selected File->New->Platform Project, named the new platform zynq_rtos, and pressed Next.

image

In the next window, I selected the same hardware platform given in Lab1 and for the operating system, I chose freertos10_xilinx and clicked Finish.

image

The platform zynq_rtos was created and opened in the Vitis IDE. 

image

Next to the platform name the "Out of date" message is displayed which means the platform must be built. Before building it, the BSP must be changed in order to select psu_uart_1 as stdin and stdout so we can use a terminal to communicate with the platform and app. For this, we select the platform.spr file of the zynq_rtos, the BSP of freertos10_xilinx, and press the Modify BSP Settings button.

image

I made the changes, pressed OK, and then press the Build button to build the platform.

Creating the application

Now that the platform was created, we can create an application using the command File->New->Application Project.

In the first step, we have to select the platform we will use. Now we have two platforms, the old one and the newly created zynq_rtos platform. We select the second and press Next.

image

In the next window, we must give the application a name, in my case is test_zynq_rtos, and select the target processor that will run the application (psu_cortexA53_0) then click Next.

image

We then select the domain and click Next.

image

Next, we select a template application, and we chose the FreeRTOS Hello World template.

image

The FreeRTOS was created and we can modify Application Project Settings.  

image

For the moment we leave all as it is and we go to the src folder in order to open the main file of the application i.e. the freertos_hellow_world.c file.

image

We build the application by pressing the Build button.

Running the RTOS application

When the build has finished we can run the application on Ultra96 board by Run As ->Launch Hardware (Single Application Debug) command. In the figure below we can see the app run successfully.

image

  • Sign in to reply
Parents
  • saadtiwana_int
    saadtiwana_int over 2 years ago

    Welcome to the world of FreeRTOS. I have had the opportunity to use it in some project in the past and it was a life saver!

    Fun fact: When you use the ESP32 in arduino, it actually runs on FreeRTOS Slight smile

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • saadtiwana_int
    saadtiwana_int over 2 years ago

    Welcome to the world of FreeRTOS. I have had the opportunity to use it in some project in the past and it was a life saver!

    Fun fact: When you use the ESP32 in arduino, it actually runs on FreeRTOS Slight smile

    • 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