Start Date: 24/10/2023

Price 6,229 ILS
/ 18 Tcs


Course Overview

This three-day course is structured to provide software developers with a catalog of OS implementation options, including hypervisors, various Linux implementations, booting and configuring a system, and power management for the Zynq® UltraScale+™ MPSoC family.


Embedded Software 3

Who should attend?

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

Software Tools:

• Vivado® Design Suite 2021.2

• May require special Zynq UltraScale+ MPSoC family license

• Hardware emulation environment:

• VirtualBox
• Ubuntu desktop
• PetaLinux


• Host computer for running the above software*

* This course focuses on the Zynq UltraScale+ MPSoC architecture. Check with your local Authorized Training Provider for the specifics of the in-class lab environment or other customizations. The 2015.4 version of this class does not use a physical board, but rather a local emulation environment and the Vivado Design Suite.

Skills Gained: After completing this training, you will be able to:

• Distinguish between asymmetric multi-processing (AMP) and symmetric multi-processing (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:

1. Zynq UltraScale+ MPSoC Application Processing Unit
  Introduction to the members of the APU, specifically the Cortex™-A53 processor and how the cluster is configured and managed.
2. Zynq UltraScale+ MPSoC Real-Time Processing Unit
3. ARM TrustZone Technology

Illustrates the use of the ARM® TrustZone technology.
5. Zynq UltraScale+ MPSoC HW-SW Virtualization
6. Multiprocessor Software Architecture

Introduces several potential architectures and illustrate the strengths of each.
7. Hypervisors (pairs with OpenAMP, but not SMP)
8. OpenAMP (pairs with the Xen Hypervisor, but not SMP)
9. Linux

Discussion and examples showing how to configure Linux to manage multiple processors.
10. Yocto
11. Open Source Library
12. FreeRTOS
13. Zynq UltraScale+ MPSoC Software Stack

Introduction to what a software stack is and a number of stacks used with the Zynq UltraScale+ MPSoC.
14. Zynq UltraScale+ MPSoC PMU
15. Zynq UltraScale+ MPSoC Power Management

Overview of the PMU and the power-saving features of the device.
16. Zynq UltraScale+ MPSoC Booting

Topic Descriptions:

– Zynq UltraScale+ MPSoC Real-Time Processing Unit
Introduction to the various elements within the RPU and different modes of configuration.
Introduction to the Quick Emulator, which is the tool used to run software for the Zynq UltraScale+ MPSoC device when hardware is not available.
– Zynq UltraScale+ MPSoC HW-SW Virtualization
Covers the hardware and software elements of virtualization. The lab demonstrates how hypervisors can be used.
– Hypervisors (pairs with OpenAMP, but not SMP)
Description of generic hypervisors and discussion of some of the details of implementing a hypervisor using Xen.
– OpenAMP (pairs with the Xen Hypervisor, but not SMP)
Introduction to the concept of OpenAMP.
– Yocto
Compares and contrasts the kernel building methods between a “pure” Yocto build and the PetaLinux build (which uses Yocto “under-the-hood”)
– Open Source Library
Introduction to open-source Linux and the effort and risk-reducing PetaLinux tools.
– FreeRTOS
Overview of FreeRTOS with examples of how it can be used.
– Zynq UltraScale+ MPSoC PMU
Investigation into the the tools and techniques for debugging a Zynq UltraScale+ MPSoC device.
– Zynq UltraScale+ MPSoC Booting
How to implement the embedded system, including the boot process and boot image creation. Also how to detect a failed boot.