Xilinx - Zynq UltraScale+ MPSoC for the Software Developer
Training Duration: 2 days
Course Description
This course provides software developers with an overview of the capabilities and support for the Zynq® UltraScale+™ MPSoC family from a software development perspective.
The emphasis is on:
Reviewing the catalog of OS implementation options, including hypervisors and various Linux implementations
Booting and configuring a system
Applying various power management techniques for the Zynq UltraScale+ MPSoC family
Who Should Attend?
Software developers interested in understanding the OS and other capabilities of the Zynq UltraScale+ MPSoC device
Prerequisites
General understanding of embedded and real-time operating systems
Familiarity with issues related to implementing a complex embedded system
Software Tools
Vivado® Design Suite
Vitis™ unified software platform
Hardware emulation environment:
VirtualBox
QEMU
Ubuntu desktop
PetaLinux
Hardware
Zynq UltraScale+ MPSoC ZCU104 board*
* This course focuses on the Zynq UltraScale+ MPSoC architecture. Check with Doulos for the specifics of the in-class lab environment or other customizations.
Skills Gained
After completing this comprehensive training, you will know how to:
Distinguish between asymmetric multiprocessing (AMP) and symmetric multiprocessing (SMP) environments
Identify situations when the Arm® TrustZone technology and/or a hypervisor should be used
Effectively use power management strategies and leverage the capabilities of the platform management unit (PMU)
Define the boot sequences appropriate to the needs of the system
Define the underlying implementation of the application processing unit (APU) and real-time processing unit (RPU) to make best use of their capabilities
Course Outline
Day 1
Application Processing Unit Introduction to the members of the APU, specifically the Cortex™-A53 processor and how the cluster is configured and managed. {Lecture, Lab}
Real-Time Processing Unit Focuses on the real-time processing module (RPU) in the PS, which is comprised of a pair of Cortex processors and supporting elements. {Lectures, Demo, Lab}
Arm TrustZone Technology Illustrates the use of the Arm® TrustZone technology. {Lecture}
QEMU Introduction to the Quick Emulator, which is the tool used to run software for the Zynq UltraScale+ MPSoC device when hardware is not available. {Lecture, Demo, Lab}
HW-SW Virtualization Covers the hardware and software elements of virtualization. The lab demonstrates how hypervisors can be used. {Lecture, Demo, Lab}
Multiprocessor Software Architecture Focuses on how multiple processors can communicate with each other using both software and hardware techniques. {Lecture}
Xen Hypervisor Description of generic hypervisors and discussion of some of the details of implementing a hypervisor using Xen. {Lecture, Demo, Lab} (Pairs with OpenAMP, but not SMP)
OpenAMP Discusses how the OpenAMP framework can be used to construct systems containing both Linux and Standalone applications within the APU. {Lecture, Lab} (Pairs with the Xen Hypervisor, but not SMP)
Linux Describes how to configure Linux to manage multiple processors. {Lecture, Demo}
Day 2
Yocto Compares and contrasts the kernel building methods between a "pure" Yocto build and the PetaLinux build (which uses Yocto "under-the-hood"). {Lecture, Demo, Lab}
Open Source Library (Linux) Introduction to open-source Linux and the effort and risk-reducing PetaLinux tools. {Lecture, Demo, Lab}
FreeRTOS Overview of FreeRTOS with examples of how it can be used. {Lecture, Demo, Lab}
Software Stack Introduction to what a software stack is and a number of stacks used with the Zynq UltraScale+ MPSoC. {Lecture, Demo}
PMU Introduction to the concepts of power requirements in embedded systems and the Zynq UltraScale+ MPSoC. {Lecture, Lab}
Power Management Overview of the PMU and the power-saving features of the device. {Lecture, Lab}
Booting How to implement the embedded system, including the boot process and boot image creation. Also how to detect a failed boot. {Lectures, Lab}
First Stage Boot Loader Demonstrates the process of developing, customizing, and debugging this mandatory piece of code. {Lecture, Demo}
Looking for team-based training, or other locations?
Complete an enquiry form and a Doulos representative will get back to you.