Advanced Features and Techniques of Embedded Systems Software Design

This course will help software engineers make full use of the components available in the Zynq® All Programmable System on a Chip (SoC) processing system (PS). This course covers advanced Zynq® All Programmable SoC topics for the software engineer, including advanced boot methodology, the NEON co-processor, programming PS system-level function control registers, the general interrupt controller, the DMA, Ethernet, and USB controllers, and the various low-speed peripherals included in the Zynq® All Programmable SoC processing system. 

Skills Gained

After completing this comprehensive training, you will know how to:

  • Implement an effective Zynq® All Programmable SoC boot design methodology
  • Create an appropriate FSBL image for flash
  • Identify advanced Cortex®-A9 processor services for fully utilizing the capabilities of the Zynq® All Programmable SoC
  • Analyze the operation and capabilities of the DMA controller in the Zynq® All Programmable SoC
  • Examine the various Standalone library services and performance capabilities of the Ethernet and USB controllers in the Zynq® All Programmable SoC
  • Describe the Standalone library services available for low-speed peripherals that are contained in the Zynq® All Programmable SoC PS

Course Outline

Day 1

  • Booting: Overview
    Introduces the main points to how booting a processor is handled in Zynq® All Programmable devices and MicroBlaze® processors.
  • Booting: Boot Memory Technologies
    Introduces the main points of the memories that can be booted or executed from.
  • Booting: Flow
    Provides a low-level view of the booting process.
  • Booting: PS Processors
    Introduces the concepts behind a single-core boot, a dual-core boot, and symmetric or asymmetric processing.
  • Booting: PL
    Introduces the concepts behind configuring the PL at boot.
  • Booting: Secure Boot
    Introduces the concepts behind secure booting.
  • Booting: FSBL
    Introduces the First Stage Boot Loader (FSBL).
  • General Interrupt Controller
    Introduces the general interrupt controller (GIC), its features, and some examples of its use.
  • Processor Caching and SCLR
    Introduces the concepts behind processing caching and the System-Level Control Register.
  • NEON Co-Processing
    Introduces the concepts behind the NEON co-processor.
  • DMA: Introduction and Features
    Introduces the direct memory access controller.
  • DMA: Block Design and Interrupts
    Introduces the DMA block design and the DMA interrupts.
  • DMA: Read and Write
    Introduces the concepts behind DMA reading and writing.
  • High-Speed Peripherals: Gigabit Ethernet
    Introduces the Gigabit Ethernet high-speed peripheral.
  • High-Speed Peripherals: USB
    Introduces the USB high-speed peripheral.
  • Low-Speed Peripherals: Overview
    Introduces the low-speed peripherals in the Zynq® All Programmable SoC.
  • Low-Speed Peripherals: UART
    Introduces the UART low-speed peripheral.
  • Low-Speed Peripherals: CAN
    Introduces the CAN low-speed peripheral.
  • Low-Speed Peripherals: I2C
    Introduces the I2C low-speed peripheral.
  • Low-Speed Peripherals: SPI
    Introduces the SPI low-speed peripheral.
  • Low-Speed Peripherals: SD/SDIO
    Introduces the SD/SDIO low-speed peripheral.

No Scheduled Sessions - Contact Us to ask about setting one up!

Education Investment Options

Standard Registration
Standard Registration
8 Training Credits
Advanced Registration
Advanced Registration
7 Training Credits
Basic Follow-on Coaching
Comprehensive Follow-on Coaching
  • To qualify for the Advanced Registration Price, full payment must be received 21 days prior to the first day of class.
  • Basic follow-on coaching includes 2 hours (max 2 calls)
  • Comprehensive follow-on coaching includes 10 hours (max 5 calls)
  • Follow-on Coaching must be purchased at time of registration.
To Register For This Course Please Call 1-888-XILINX-1

Training Duration:

1 Day

Who should attend:

Software design engineers interested in fully utilizing the Zynq® extensible processing platform.


Embedded Systems Software Design or equivalent knowledgeC or C++ programming experience

Conceptual understanding of embedded processing systems, including device drivers, interrupt routines, Xilinx Standalone library services, user applications, and boot loader operation

Experience developing software for embedded processor applications

Software Tools

Vivado Design or System Edition 2016.3


Architecture: Zynq®-7000 All Programmable SoC*Demo board: Zynq®-7000 All Programmable SoC ZC702 or ZedBoard**This course focuses on the Zynq®-7000 All Programmable SoC. Check with your local Authorized Training Provider for the specifics of the in-class lab board or other customizations.

Last Updated: 2019-06-06_1626