Global training solutions for engineers creating the world's electronics

AMD - 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

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

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.

Enquiry FormPrice on request