Technically Speaking, Inc
Embedded Design with PetaLinux Tools
This intermediate-level, two-day course provides embedded systems developers with experience in creating an embedded Linux system targeting a Zynq® System on a Chip (SoC) processor and Zynq UltraScale+™ MPSoC processor development board using PetaLinux Tools. The course offers students hands-on experience with building the environment and booting the system using a Zynq SoC or Zynq UltraScale+ MPSoC design with PetaLinux Tools on the ARM® Cortex™-A9 or Cortex-A53 processor.
This course also introduces embedded Linux components, use of open-source components, environment configurations, network components, and debugging options for embedded Linux platforms. The primary focus is on embedded Linux development in conjunction with the Xilinx tool flow.
- Embedded Linux Overview
- Lab 1: A First Look
- Introduction to the PetaLinux Tools
- Lab 2: Build and Boot an Image
- Application Development and Debugging
- Lab 3: Application Development and Debugging
- Networking and TCP/IP
- Lab 4: Networking and TCP/IP
- Device Drivers, User Space I/O, and Loadable Kernel Modules
- Lab 5: Accessing Hardware Devices from User Space
- Board Bring Up with the Vivado Design Suite and PetaLinux Tools
- Lab 6: Basic Hardware Design with the Vivado Design Suite and PetaLinux Tools
- Custom Hardware Development and Interfacing
- Lab 7: Custom Hardware Development
- Custom Driver Development (short review)
- Lab 8: Custom Driver Development
- Lab 1: A First Look – Log in to the ARM processor Linux system and make comparisons between the embedded Linux and desktop Linux environments.
- Lab 2: Build and Boot an Image – Explore the Linux configuration menus and build the ARM processor Linux kernel and applications. Download the resulting system image to the development board.
- Lab 3: Application Development and Debugging – Create a simple user application with PetaLinux Tools and debug the application with System Debugger.
- Lab 4: Networking and TCP/IP – Explore the kernel configuration menu. Log in to the ARM processor Linux system by using telnet. Transfer files to and from Linux by using FTP. Build and experiment with web-based applications under Linux.
- Lab 5: Accessing Hardware Devices from User Space – Access a hardware device directly from user space. Use the UIO framework to access a hardware device. Experience loading and unloading kernel modules.
- Lab 6: Basic Hardware Design with the Vivado Design Suite and PetaLinux Tools – Use the Vivado IP integrator (IPI) to create a basic hardware design with the ARM Cortex-A9 or ARM Cortex-A53 processor. Use PetaLinux Tools to create a new embedded Linux target for the hardware design.
- Lab 7: Custom Hardware Development – Design a customized IP core. Integrate the IP core with the AXI interface and debug.
- Lab 8: Custom Driver Development – Write a UIO program to access the PWM AXI IP core. Boot from Flash and verify it on the target board.
* This course focuses on the Zynq-7000 SoC and Zynq UltraScale+ MPSoC architecture. 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-A9 or Cortex-A53 Processor Linux system using the Vivado Design Suite and PetaLinux tools
- List various hardware interfacing options available for the ARM Cortex-A9 and Cortex-A53 Processor
- Build custom hardware cores and device drivers using the user space I/O (UIO) framework