Embedded Design with PetaLinux Tools Spec Sheet  

Course Description

This course provides embedded systems developers experience with
creating an embedded Linux system targeting Xilinx SoCs using the
PetaLinux tools.
The course provides experience with:
▪ Using open-source embedded Linux components
▪ Using the PetaLinux tool design flow
▪ Creating and debugging an application
▪ Building the environment and booting the system using the Arm® processors available in Xilinx SoCs
▪ Customizing the root file system
▪ Configuring the Linux environment and network components
▪ Developing custom hardware and custom drivers
The primary focus is on embedded Linux development in conjunction with the Xilinx tool flow.
What's New for 2020.1
▪ Added new topics such as:
▪ Driving the PetaLinux Tool
▪ PetaLinux Tool Design Flow
▪ Customizing the Project
▪ Upgrading the Workspace
▪ PetaLinux: Advanced Configurations
▪ All labs have been updated to the latest software versions


Level: Embedded Software 4 
Course Duration: 2 days
Price: $1600 or 16 Xilinx Training Credits
Course Part Number: EMBD-HW-ILT 
Who Should Attend?: Embedded software developers interested in customizing the PetaLinux kernel on an ARM processors available in Xilinx SoC's
Registration: Register online in our secure store


Designing FPGAs Using the Vivado Design Suite 1
▪ Introduction to FPGA Design
▪ Designing FPGAs Using the Vivado Design Suite 2
▪ Designing with the IP Integrator
▪ Creating and Packaging Custom IP
▪ Embedded Systems Software Development
▪ Software development for embedded systems course

Software Tools

  •   PetaLinux Tools 2020.1
    ▪ Vivado® Design Suite 2020.1
    ▪ Vitis™ unified software platform 2020.1


  • Architecture: Zynq UltraScale+ MPSoC 
  • Demo board: Zynq UltraScale+ MPSoC ZCU104

* This course focuses on the Zynq UltraScale+ MPSoC. Check with your local Authorized Training Provider for the specifics of the in-class lab board or other customizations. 

After completing this comprehensive training, you will have the necessary skills to: 

▪ Explain what an embedded Linux kernel is 

▪ Describe the Linux device driver architecture 

▪ Create a PetaLinux project to configure and build an image using PetaLinux tools 

▪ Create a working ARM Cortex-A53 or Cortex-A9 processor Linux system using the Vivado Design Suite and PetaLinux tools 

▪ List various hardware interfacing options available for the ARM Cortex-A53 processor 

▪ Build custom hardware cores and device drivers using the user space I/O (UIO) framework 

Course Outline

Day 1

Introduction to Embedded Linux
Introduces embedded Linux, including a brief architectural overview, as well as some of the reasons for its rising popularity as an embedded OS. Also introduces the concept of toolchains and cross-compilation. {Lecture}
Embedded Linux Components
Describes the various components required for embedded Linux platforms (including the kernel image, root file system, and boot loaders) and how the components affect the booting of Linux on these platforms. {Lecture, Lab}
Driving the PetaLinux Tool
Covers the functionality, inputs, and outputs of the PetaLinux tools as well as the project directory structure generated by the PetaLinux tools. Basic PetaLinux commands are also introduced. {Lecture, Lab}
PetaLinux Tool Design Flow
Provides a brief description of the PetaLinux tool design flow anddescribes in detail  various PetaLinux commands (including petalinux-create, petalinux-config, petalinux-build, petalinux-package, and petalinux-boot) and their example use
cases. {Lecture}
▪ PetaLinux Application Development
Introduces core concepts for developing, customizing, and running software applications in an embedded Linux environment. {Lecture, Lab}
Customizing the Project
Analyzes different configuration options provided by the PetaLinux tool for firmware version, rootfs type, boot image storage, and primary flash partition. Also describes external file system boot configuration. {Lecture}
Customizing the Root File System
Provides a brief description on customizing the rootfs for embedded Linux components such as libraries, applications, modules, layers, recipes, and packages. {Lecture}
Networking and TCP/IP
Discusses how the TCP/IP networking stack can be used to improve productivity during embedded product development by supporting network data communication, network control/status  management, and firmware and hardware upgrades. {Lecture,Lab}
▪ PetaLinux Booting and Packaging
Describes how to package and then boot a PetaLinux image via QEMU, SD card, JTAG, and TFTP. {Lecture}

Day 2

PetaLinux Application Debugging
Describes how to debug software applications running on an Arm processor using the system debugger (TCF agent) or GNU debugger (GDB). {Lecture, Lab}
Upgrading the Workspace
Describes the petalinux-upgrade command and how to upgrade PetaLinux project software components without changing the host tool components. {Lecture}
Basic Hardware Design Process with the Vivado Design Suite
Describes the complete board bring-up process, which includes the hardware design as well as Linux image creation for the hardware. {Lecture, Lab}
Linux Device Drivers Overview
Provides a brief overview on Linux device drivers and their
requirements. Also describes what a device tree is and how it is
generated. {Lecture}
User Space I/O and Loadable Kernel Modules
Introduces two lightweight approaches for accessing the physical memory of devices from user space: direct access through the dev/mem virtual device and the user space I/O framework. Also covers the role and usage loadable kernel modules. {Lecture,Lab}
Custom Hardware Development
Describes the Create and Package IP Wizard and how it can be used to create a variety of architectural options for interfacing a system with custom processing hardware. {Lecture, Lab}
Custom Driver Development
Discusses device driver options to match custom hardware devices and how to use the provided interfaces to read and write to the devices. {Lecture, Lab}
PetaLinux: Advanced Configurations
Reviews how modify advanced configuration settings using the PetaLinux tool. These configurations include including selecting the Linux components for the build, enabling automatic configuration for a selected component, customizing how the Linux system interacts with the underlying hardware platform. {Lecture}

PDF version of this page.

Enroll Now.

Scheduled Embedded Courses

Designing with the Versal ACAP: Architecture & Methodology
August 09 - August 11: 09:00 am - 05:00 pm
 After completing this comprehensive training, you will have thenecessary skills to:▪ Describe...

Designing with the Versal ACAP: PCI Express System
August 12 - August 13: 09:00 am - 05:00 pm
Course OutlineDay 1 ▪ Introduction to PCI ExpressIntroduces the course and discusses a few key...

Designing with Versal AI Engine 2:Graph Programming w/AI Engine Kernels
August 16 - August 17: 09:00 am - 05:00 pm
After completing this comprehensive training, you will have thenecessary skills to:▪ Describe the...

Accelerating Applications with the Vitis Unified Software Environment
August 19 - August 20: 09:00 am - 05:00 pm
Learn how to develop, debug, and profile new or existing C/C++ and RTL applications in the Vitis™...

*Confirmed to run! Designing w/the Versal ACAP: Power & Board Design
August 23 : 09:00 am - 05:00 pm
This course provides a system-level understanding of power and thermal issues related to designing...

Zynq UltraScale+ MPSoC
August 24 - August 26: 09:00 am - 05:00 pm
This course provides an overview of the capabilities and support for the Zynq® UltraScale+™ MPSoC...

Embedded Design with PetaLinux Tools
September 01 - September 02: 09:00 am - 05:00 pm
Level: Embedded Software 4 Course Duration: 2 days Price: $1600 or 16 Xilinx Training Credits...

Designing with Versal AI Engine 3:Kernel Programming & Optimization
September 13 - September 14: 09:00 am - 05:00 pm
This course covers the advanced features of the Versal™ ACAP AI Engine, including debugging an...

(Workshop) Embedded & Accelerating Applications w/Vitis Unified Software
September 24 : 09:00 am - 05:00 pm
After completing this comprehensive training, you will have thenecessary skills to: ▪ Implement...

Zynq UltraScale+ MPSoC
September 28 - September 30: 10:00 am - 06:00 pm
This course provides an overview of the capabilities and support for the Zynq® UltraScale+™ MPSoC...

Alternative Dates and Locations

Faster Technology is able to deliver both private classes at client sites and also public classes at alternate locations and dates.  If there are no currently scheduled classes listed above or if none of the classes are convenient, please tell us what dates and locations will meet your needs.  No obligation necessary.