2-day overview of the Zynq UltraScale+ MPSoC family specifically designed for software developers.
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:
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
Release date
February 2016Level
Embedded Software 3Training duration
2 daysPrice
USD 1600 or 16 Training CreditsCourse Part Number
EMBD-ZUPSWWho 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 2021.2
- Vitis™ unified software platform 2021.2
- Hardware emulation environment:
- VirtualBox
- QEMU
- Ubuntu desktop
- PetaLinux
Hardware
- Zynq UltraScale+ MPSoC ZCU104 board
Skills gained
After completing this comprehensive training, you will have the necessary skills 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) {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}