Embedded Design with PetaLinux Tools

Gain Experience in creating an embedded Linux system targeting Xilinx SoCs
using the PetaLinux tools.

TechSource Systems Pte Ltd

Course
Highlights

This two-day 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 2021.1

  • Added Versal™ ACAP support for the “PetaLinux Application Development” lab
  • All labs have been updated to the latest software versions
TechSource Systems Pte Ltd

Who Should
Attend

Embedded software developers interested in customizing a kernel using PetaLinux on the Arm processors available in Xilinx SoCs.

TechSource Systems Pte Ltd

Course
Prerequisites

  • 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
TechSource Systems Pte Ltd

Course
Benefits

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

  • Explain what an embedded Linux kernel is
  • Create a PetaLinux project to configure and build an image
  • Create a working Arm processor-based Linux system using the Vivado Design Suite and PetaLinux tools
  • List various hardware interfacing options available for the Arm processor
  • Describe the Linux device driver architecture
  • Build custom hardware cores and device drivers using the user space I/O (UIO) framework

Partners

TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

TechSource Systems is MathWorks Authorised Reseller and Training Partner

Upcoming Program

  • Please keep me posted on the next schedule
  • Please contact me to arrange customized/ in-house training

Course Outline

Introduction to Embedded Linux

Objective: 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.

  • Explain what embedded Linux is and why and where it is used
  • Describe what a toolchain and cross-compilation are
  • Identify the build systems required to build embedded Linux environments
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

Embedded Linux Components

Objective: 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.

  • Identify the components that make up an embedded Linux system

Driving the PetaLinux Tool

Objective: 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.

  • Describe the functionality of the PetaLinux tools
  • Describe the inputs and outputs of the PetaLinux tools
  • Describe the project directory structure generated by the PetaLinux tools
  • List the basic PetaLinux commands
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

PetaLinux Tool: Design Flow

Objective: Provides a brief description of the PetaLinux tool design flow and describes in detail various PetaLinux commands (including petalinux-create, petalinux-config, petalinux-build, petalinux-package, and petalinux-boot) and their example use cases.

  • Describe the PetaLinux tool design flow

PetaLinux Application Development

Objective: Introduces core concepts for developing, customizing, and running software applications in an embedded Linux environment.

  • Identify the role of user applications in embedded Linux systems
  • Compile applications for an Arm® processor
  • Create, customize, and run a user application using the PetaLinux tool
  • List the basic PetaLinux commands
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

Customizing the Project

Objective: 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.

  • Identify different configuration options for the firmware version, rootfs type, boot image storage, and primary flash partition
  • Configure a project for TFTP boot, NFS boot, and SD card boot using the external file system boot configuration

Customizing the Root File System

Objective: Provides a brief description on customizing the rootfs for embedded Linux components such as libraries, applications, modules, layers, recipes, and packages.

  • Describe the process of adding the following components into the root file system (rootfs)
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

Networking and TCP/IP

Objective: 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.

  • Describe the basic networking capabilities in embedded Linux
  • Identify the networking applications and protocols supported by the PetaLinux tool
  • Describe how networking support can improve the development process

PetaLinux Booting and Packaging

Objective: Describes how to package and then boot a PetaLinux image via QEMU, SD card, JTAG, and TFTP.

  • Package all the boot components required to deploy a PetaLinux image
  • Identify the methods for booting a PetaLinux image on QEMU
  • Identify the methods for booting a PetaLinux image on hardware via JTAG, SD Card, TFTP server
TechSource Systems Pte Ltd

PetaLinux Application Debugging

Objective: Describes how to debug software applications running on an Arm processor using the system debugger (TCF agent) or GNU debugger (GDB).

  • Debug applications running on the Arm® Cortex™ processor
    • Using the system debugger (TCF agent) or
    • Using the GNU debugger (GDB)
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

Upgrading the Workspace

Objective: Describes the petalinux-upgrade command and how to upgrade PetaLinux project software components without changing the host tool components.

  • Describe what the petalinux-upgrade command can do
  • Upgrade the software components of a PetaLinux project

Basic Hardware Design Process with the Vivado Design Suite

Objective: Describes the complete board bring-up process, which includes the hardware design as well as Linux image creation for the hardware.

  • Identify the hardware requirements for booting Linux on Xilinx SoCs
  • Describe the hardware design process using the Vivado® Design Suite
  • Explain how to export the generated hardware from the Vivado Design Suite
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

Linux Device Drivers Overview

Objective: Provides a brief overview on Linux device drivers and their requirements. Also describes what a device tree is and how it is generated.

  • Describe the concept of a Linux device driver
  • Identify the requirements for a device driver
  • Describe what a device tree is and how it is generated

User Space I/O and Loadable Kernel Modules

Objective: 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.

  • Construct two approaches to access physical memory of devices from user space drivers
  • Describe the advantages and disadvantages of both approaches
  • Identify the role and usage of loadable kernel modules
  • Install and use loadable kernel modules
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

Custom Hardware Development

Objective: 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.

  • Describe the Vivado® IP packager that is available in the Vivado Design Suite
  • Utilize the Create and Package IP Wizard to package your custom hardware into an IP

Custom Driver Development

Objective: Discusses device driver options to match custom hardware devices and how to use the provided interfaces to read and write to the devices.

  • Use a device driver to interact with custom hardware
  • Include the UIO driver into the Xilinx structure
  • Describe an example application that interacts with the UIO subsystem
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

PetaLinux: Advanced Configurations

Objective: 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.

  • Modify advanced configuration settings using the PetaLinux tool
QUICK ENQUIRY