Are you looking to attend a scheduled course?
This training is delivered within: Designing with the Zynq UltraScale+ MPSoC
The current schedule is showing on this page. If you specifically require team-based training on this subject, please contact your local team ».
Standard Level - Live Instructor-Led Training
2 days (In-Person) 8 hours per day or
3 sessions (Live Online) 6 hours per session
I am interested in a combination of training (contact Doulos to discuss your options) »
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
Software developers interested in understanding the OS and other capabilities of the Zynq UltraScale+ MPSoC device
- General understanding of embedded and real-time operating systems
- Familiarity with issues related to implementing a complex embedded system
- Vivado™ Design Suite
- Vitis™ unified software platform
- Hardware emulation environment:
- VirtualBox
- QEMU
- Ubuntu desktop
- PetaLinux
- 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.
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
- 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}
- 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}