Global training solutions for engineers creating the world's electronics products

Embedded Design with PetaLinux Tools

Training Duration: 2 days

Course Description

This intermediate-level course provides embedded systems developers with experience in creating an embedded Linux system targeting a Zynq® UltraScale+™ MPSoC processor development board using PetaLinux Tools.

The course provides experience with:

  • Building the environment and booting the system using a Zynq UltraScale+ MPSoC with PetaLinux Tools on the Arm® Cortex®-A53 processor
  • Using open-source embedded Linux components
  • Configuring the Linux environment and network components
  • Debugging embedded Linux platforms.

The primary focus is on embedded Linux development in conjunction with the Xilinx tool flow.
Who Should Attend?

Embedded software developers interested in customizing the PetaLinux kernel on an Arm processor design for a Xilinx Zynq UltraScale+ MPSoC

Software Tools
  • PetaLinux Tools 2019.1
  • Xilinx SDK Tool 2019.1
  • Vivado® System Edition 2019.1
  • Architecture: Zynq UltraScale+ MPSoC*
  • Demo board: Zynq UltraScale+ MPSoC ZCU104*


*This course focuses on the Zynq UltraScale+ MPSoC. Check with Doulos for the specifics of the in-class lab board or other customizations.
Skills Gained

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
  • Create a working Arm Cortex-A53 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. {Lecture}
  • Embedded Linux Components
    Describes the various components required for embedded Linux platforms and how the components affect the booting of Linux on these platforms. {Lecture, Lab}
  • Introduction to the PetaLinux Tools
    Describes the PetaLinux tools and their requirements. {Lecture}
  • PetaLinux Tools Workflow
    Provides a brief description of the PetaLinux tools workflow. {Lecture}
  • Basics of the PetaLinux Tools
    Describes in detail various PetaLinux commands and their example use cases.{Lecture, Lab}
  • Application Development and Debugging
    Introduces core concepts for developing, running, and debugging software applications in an embedded Linux environment. {Lecture, Lab}
  • Customizing rootfs
    Provides a brief description on customizing the rootfs for embedded Linux. {Lecture}
  • Networking and TCP/IP
    Discusses how the TCP/IP networking stack can be used to improve productivity during embedded product development. {Lecture, Lab}


Day 2

  • Linux Device Drivers Overview
    Provides a brief overview on Linux device drivers and how to use them for custom hardware. {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. {Lecture, Lab}
  • Board Bring Up with the Vivado Design Suite and PetaLinux Tools
    Describes the complete board bring-up process, which includes the hardware design as well as Linux image creation for the hardware {Lecture, Lab}
  • PetaLinux Image Booting Methods
    Describes how to boot the PetaLinux image via QEMU, SD card, JTAG, and TFTP. {Lecture}
  • Configuring the rootfs Type
    Reviews various rootfs types (INITRD, INITRAMFS, NFS, JFFS2, and SD card) and how to configure a PetaLinux project to boot the PetaLinux image with the selected rootfs. {Lecture}
  • Custom Hardware Development
    Describes the 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 andhow to use the provided interfaces to read and write to the devices. {Lecture, Lab}

Looking for team-based training, or other locations?

Complete an enquiry form and a Doulos representative will get back to you.

Enquiry FormPrice on request