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
• Essentials of FPGA Design course (introductory FPGA design course)
• Embedded Systems Software Development course (software development for FPGA embedded systems course)
• Vivado® Design System Edition 2016.4
• PetaLinux Tools 2016.4
Architecture: Zynq-7000 All Programmable SoC*
Demo board: ZedBoard
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
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.
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