Embedded Design with PetaLinux SDK

This intermediate-level, two-day course provides embedded systems developers with experience in creating an embedded PetaLinux SDK operating system on a Xilinx Zynq™ All Programmable System on a Chip (SoC) processor development board. The course offers students hands-on experience on building the environment and booting the system using a basic Zynq All Programmable SoC design with PetaLinux SDK on the ARM® Cortex™-A9 processor.
This course also introduces embedded Linux components, use of open-source components, environment configurations, network components, and debugging/profiling options for embedded Linux platforms. The primary focus is on embedded Linux development in conjunction with the Xilinx tool flow.

Level:
Embedded Software 4

Who should attend:

Embedded software developers interested in customizing the PetaLinux kernel on an ARM processor design for a Xilinx Zynq All Programmable SoC

Hardware:

Skills Gained: After completing this training, you will be able to:

• Explain what an embedded Linux kernel and device driver architecture requires
• Use the hardware interfacing options for the ARM Cortex-A9 MPcore
• Create a working the ARM Cortex-A9 MPcore Linux system using the Xilinx PlanAhead™ tool, Embedded Development Kit (EDK), and PetaLinux Software Development Kit (SDK)
• Build custom hardware cores and device drivers

Course Outline:

1. Embedded Linux Overview

2. Introduction to the PetaLinux Tools

3. Application Development and Debugging

4. Networking and TCP/IP

5. Device Drivers, User Space I/O, and Loadable Kernel Modules

6. Board Bring Up with the Vivado Design Suite and PetaLinux Tools

7. Custom Hardware Development and Interfacing

8. Custom Driver Development

Lab Description

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.