
Technically Speaking, Inc
Embedded Design with PetaLinux Tools | Online
Course Description
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.
* 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
- 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 and how to use the provided interfaces to read and write to the devices. {Lecture, Lab}