Course Overview
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 4Who should attend?
Embedded software developers interested in customizing the PetaLinux kernel on an ARM processor design for a Xilinx Zynq All Programmable SoCPrerequisite:
• Essentials of FPGA Design course (introductory FPGA design course)
• Embedded Systems Software Development course (software development for FPGA embedded systems course)
Software Tools:
• Vivado® Design System Edition 2016.4
• PetaLinux Tools 2016.4
Hardware:
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 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.
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