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 to Programmable 3
  • Challenges & Projects
  • Design Challenges
  • Path to Programmable 3
  • More
  • Cancel
Path to Programmable 3
Blog Blog 5: Peta-Linux Training |Path to Programmable 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: prashanthgn.engineer
  • Date Created: 27 Jul 2023 9:13 AM Date Created
  • Views 987 views
  • Likes 5 likes
  • Comments 0 comments
  • AMD XILINX
  • petalinux
  • vivado
  • Vitis AI
Related
Recommended

Blog 5: Peta-Linux Training |Path to Programmable 3|

prashanthgn.engineer
prashanthgn.engineer
27 Jul 2023

Peta Linux Technical Training Summary

Course objectives

  • Install the Peta Linux Development Environment 
  • Fundamentals of The Peta Linux -Yacto
  • Application Creation for Peta Linux User Level

Lesson 1: Introduction & Overview

What is Peta-linux

  • Open Source cross platform tools 
  • NOT a Linux distribution

Using PetaLinux Tools 

  • Build Peta Linux for Ultra96
  • Customize and configure Ultra96
  • Vivado Hardware into Peta linux
  • Create Own Peta Linux BSP

Peta Linux History

  • Linux is a Free version of Unix for x86 - 1991
  • Linux is ported to arm in 1994 on Acorn Processor
  • Xilinx acquired PelaLogix -Peta-Linux First public release in 2013

6 Peta Linux Commands

petalinux-create 



- Creates a PetaLinux project. This can be a blank template project or created from premade 3rd party resources.

petalinux-config 

Initialize or update project's hardware configuration or configure kernel and/or file system settings.

petalinux-build 

Build specific components or an entire Linux system for the PetaLinux project (including FSBL, uboot, device tree, etc.)

petalinux-boot 

Boots a specified Linux image either via JTAG onto hardware or QEMU software emulator.

petalinux-package 

Formats the PetaLinux project for a specified deployment method.

petalinux-util 

Command that provides a variety of support services for PetaLinux workflows.

  • Peta Linux tool uses Yacto community
  • QEMU emulates Petalinux under x86 Linux
  • Open Source based with Some HW Driver expectation
  • Includes and Manages Linux kernel Sources
  • Various HW Drivers and Modules with Linux Application & utilities
  • Included U-boot, FSBL, ARM trusted Firmware
  • Works Directly with Vivado IP blocks
  • Imports HW Designs into the PL-FPGA
  • 2021.2 to Linux Kernal 5.10
  • Works with Vitis, Vivado and SDSoc
  • Peta Linux works on APU 4 -64Bit Multi tasking 
  • R5- Can not Run Peta Linux they Run FreeRTOS
  • Communication between A53 and R5 can use OpemAMP
  • Peta Linux is not a Pure RTOS

Peta Linux Design Flow

  1. Export the Design from Vivado
  2. Configure the APplication in Peta Linux
  3. Create the Application in Vitis - Debug and Profile
  4. Package and Deploy in the Hardware 

Peta Linux Tool Flow

  1. Select BSP
  2. Configure the Kernal, Application and System Settings
  3. Build the Kernala and Root Filesystems
  4. Boot on QEMU or Zynq PL

Lab 0 - installation

{gallery}Tool Installation

image

Lesson 2: All About Yacto

What is YACTO ? : https://docs.yoctoproject.org/index.html

image

  • Open source collaboration project provides methods to create custom Linux based System
  • Its a Framework not a system
  • Uses bitbake build tool
  • Populator for embedded systems


Petalinux platform configuration 

  • PS-PL configuration can be different : 
  • Device Tree -  A special Data File - information for Kernel about the hardware  
  • DTS : Device Tree Source : Description of System Device tree
  • DTB  : Device Tree Blob :Compiled Binary representation of DTS.
  • DTC : Device Tree Compiler  : Converts DTS to a DTB and vice versa


What is Device Tree Structure 

  • DTB provided to kernel at Boot Time
    • System memory location/Size
    • Device types, address mappings 
  • Kernel infrastructure binds drivers ti devices
    • Matches compatibility in device node
    • Device driver declares known compatible devices 
  • Peta Linux generates Device tree in Automated way

Lesson 3

  • Wide range of connectivity at ultra96 
  •  Wifi Module - ATWILC3000
  • USB2.0, USB3.0

LAB3 : WiFi Connectivity

Lesson 4 : PetaLinux User Application Development 

  • User Application access virtual Address
  • Memory mapped address space, virtual and Physical Address
  • Managed by MMU - Memory managed Unit
    • Prevents interference from another application
    • No need of user application to map to Hardware manipulation
    • HW can be shared with several application 
    • OS can control the user program
    • SW and HW security increased due to MMU
  • Disadvantages of MMU
    • Performance or latency issue” Pass through cache memories
    • Inter processor communication is Slower for multiple application
  • User vs Kernel Application Code

User Application Code

Kernel Application Code

Slower performance and Slow execution 

High performance and fast execution

No COntrol on CPU

Kernel code control over how much CPU uses it

Indirect access to CPU via Device drivers

Direct access to CPU

Can not crash the system

Kernel code can crash the system

Only virtual memory

Virtual and Physical memory


LAB 4 : Creating Peta Linux Application using Vitis

Lesson 5 : Integrating Sensors on Ultra96 with Peta Linux

Learning with ELement14 Continues

Regards

Prashanth Kumar G N

  • 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