Embedded Design with PetaLinux Tools

Course Code: EMBD PLNX

This course provides embedded systems developers experience with creating an embedded Linux system targeting AMD 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 AMD 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 AMD tool flow.

See Course Outline

3-Day Instructor-led CoursePrice USDTraining Credits
Hosted Online - $600/day$180018
In-Person Public Registration - $600/day$180018
Printed Course Book (A PDF book is included in the course fee)
Cannot be purchased without registration.
$1001
Private TrainingLearn MoreLearn More
CoachingLearn MoreLearn More

Scheduled Classes

Live Online Training (9am-5pm ET)
View our Full Calendar for class date status.
(Confirmed, Closed, Full)

Training Duration:

3 Days

My instructor was very professional

My instructor was very professional and answered all of my questions thoroughly. I enjoyed hearing about his professional experience with certain aspects of the course / labs as we went through the course.

– Student from Vivado Boot Camp for the FPGA User Phase 1

Impressed with the effort

Glenn is a good instructor – I’m impressed with the effort he put into the presentation.
I hope I didn’t annoy him with too many questions.

– Student from Designing with Versal AI Engine 3: Kernel Programming and Optimization

Thanks for a great class!

I have attended a bunch of training courses over the years. This one was definitely one of the best I have attended. Erich did a great job, and the material is very well done. Thanks for a great class!

– Student from Vivado Boot Camp for the FPGA User Phase 1

I gained a lot of information

The class was pretty great and I gained a lot of information from it that I will certainly be applying at my job going forward!!

– Student from Vivado Boot Camp for the FPGA User Phase 1

This one was definitely one of the best

I have attended a bunch of training courses over the years. This one was definitely one of the best I have attended. Erich did a great job, and the material is very well done. Thanks for a great class!

– Student from Vivado Boot Camp for the FPGA User Phase 1

I had a wonderful instructor

I had a wonderful instructor. His pacing throughout the course was good and made sure to allow for student questions and have conversations about related topics and experiences. I think the atmosphere was great for everyone to both learn and to share experiences, tips, and tricks about using the tool and the features discussed throughout the course.

Student from Vivado Boot Camp for the FPGA User Phase 3

Knowledgeable instructor

Elie was a knowledgeable instructor, and did a really good job of making sure students were comfortable interrupting for questions. He answered questions well and communicated very clearly.

– Student from Designing with VHDL

College course fit into 3 days

The instructor certainly knew the material and could explain the concepts as well as answer questions. Even the instructor said that this is a college course fit into 3 days.

Student from Designing with VDHL

My instructor took time

My instructor took time during some of the breaks to look up and distribute information about questions that he didn’t happen to know direct answers to, and I always appreciate when instructors take the time to do that.

Student from Vivado Boot Camp for the FPGA User Phase 3

All in all a great experience

Tom was a great instructor, very knowledgeable and polite throughout the course. All in all a great experience.

– Student from Vivado Boot Camp for the FPGA User Phase 2

The instructor was excellent

The instructor for this class, Glenn, was excellent. He presented the material with great examples and encouraged students to ask questions at any point in the course. Whenever there was a question he could not answer, he mentioned that he would bring it to his colleagues for answers, and after we came back from lunch, he had the answer.

– Student from Embedded Design with PetaLinux Tools

They had answers for just about every question

Erich and Nathaniel were great, they had answers for just about every question/issue and linked relevant Xilinx/Vivado user manuals for further explanation/documentation.

– Student from Vivado Boot Camp for the FPGA User Phase 2

A lot of insights beyond the course

Glenn was a great instructor and provided us with a lot of insights beyond the course material

– Student from Embedded Design with PetaLinux Tools

I would endorse him to teach a friend

Cole was a fantastic instructor and was very proactive in answering any questions that came up. I would endorse him to teach if a friend had to learn from this course.

– Student from Designing with Verilog

Expert tidbits

I liked the expert tidbits my instructor threw in to keep in mind when working on projects in the future regarding best practices. I also appreciated the questions the more experienced students asked, and how he was knowledgeable in order to address them.

Student from Designing with VHDL

Can quickly and concisely answer technical questions

I really like the expertise of the presenters and that they can quickly and concisely answer technical questions, Tom did great!

– Student from Vivado Boot Camp for the FPGA User Phase 3

Elie was an exceptional instructor

Elie was an exceptional instructor, and I would welcome the opportunity to take another class from him and BLT in the future.

– Student from Designing with Verilog

My instructor was very capable

My instructor was very capable of answering any of my questions even when they were an extension of the material being presented. If he wasn’t sure of an answer, he made sure to verify his thoughts before answering my question

– Student from Vivado Boot Camp for the FPGA User Phase 1

One of the best experiences for AMD Xilinx training that I’ve had

Bill was a great instructor and answered all of our questions. He went above and beyond to make this course a great experience. If/When I use BLT for Xilinx training in the future I will be on the lookout to see if he’s leading the lecture. One of the best experiences for AMD Xilinx training that I’ve had.

– Student from Designing with VHDL

Erich was engaging

Erich was engaging and had good pacing during the course. Although the course was all day for 3 days I didn’t feel exhausted at the end of sessions.

– Student from Vivado Boot Camp for the FPGA User Phase 1

I have a great grasp of HLS and how to use Vitis effectively

I really enjoyed this class and feel like I have a great grasp of HLS and how to use Vitis effectively. Cole was a great instructor, and I
would easily take another class with him. Thank you very much for running this class!

– Student from High-Level Synthesis with the Vitis HLS Tool

Labs were great

The labs were great and really reinforced the topics.

– Student from Designing with Versal AI Engine 1: Architecture and Design Flow

Be the first to know. Sign up for our newsletter.

Who should attend:

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

Software Tools

  • PetaLinux Tools
  • Vivado Design Suite
  • Vitis unified software platform

Hardware

  • Architecture: Zynq UltraScale+ MPSoC
  • Demo board: Zynq UltraScale+ MPSoC ZCU104 Evaluation Kit or Versal AI Core Series VCK190 Evaluation Kit

* This course focuses on the Zynq UltraScale+ MPSoC.

PETALINUX Skills Gained

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

Course Outline

Day 1Day 2Day 3
  • 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}
  • Yocto Project Overview
    Introduces the Yocto Project, which encompasses a build system designed for embedded Linux. {Lecture}
  • PetaLinux Tool Design Flow
    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. {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}
  • 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}

Please note: The instructor may change the content order to provide a better learning experience.

Updated 8-18-2024
©2024 Advanced Micro Devices, Inc. Xilinx, Inc. is now part of AMD. Xilinx, the Xilinx logo, AMD, the AMD Arrow logo, Alveo, Artix, Kintex, Kria, Spartan, Versal, Vitis, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Advanced Micro Devices, Inc.