Welcome To Technically Speaking, Inc
Cart 0
Technically Speaking, Inc - Patricia Townsend Culverson, Patricia Townsend, Technically Speaking Inc

Technically Speaking, Inc

Embedded Systems Software Design I Online ( Vivado & Vitis 2019.1)



Course Description

This course introduces the concepts, tools, and techniques required for software design and development for the Zynq® System on a Chip (SoC) and Zynq UltraScale+™ MPSoC using the Vitis™ unified software platform.

The focus is on:

  • Reviewing the basics of Vitis tool use
  • Customizing board support packages (BSPs) for resource access and management of the Xilinx Standalone library
  • Utilizing device drivers effectively
  • Developing software applications for the ARM® Cortex™-A9 processors
  • Debugging and integrating user applications
  • Employing best practices to enable good design decisions

What's New for 2019.2

  • New modules: Driving the Vitis Software Development Tool and Migrating from SDK to the Vitis Platform
  • Standalone Software Platform Development and C Coding Support for Standalone have been merged into one module.
  • Memory File System has migrated from using the MFS library to the FFS library.
  • Most labs support execution on both the ZCU104 board and QEMU


* This course focuses on the Zynq-7000 SoC and the Zynq UltraScale+ MPSoC architectures. Check with your local Authorized Training Provider for the specifics of the in-class lab board or other customizations.

After completing this comprehensive training, you will have the necessary skills to:

  • Implement an effective software design environment for a Xilinx embedded system using the Xilinx software development tools
  • Write a basic user application (under Standalone or Linux) using the Vitis unified software platform and run it on an embedded system
  • Use Xilinx debugger tools to troubleshoot user applications
  • Apply software techniques to improve operability
  • Maintain and update software projects with changing hardware


Course Outline

Day 1

  • Overview of Embedded Software Development

Overview of the process for building a user application. {Lecture}

  • Embedded UltraFast Design Methodology

Outlines the different elements that comprise the Embedded Design Methodology. {Lecture, Demo}

  • Zynq-7000 SoC Architecture Overview

Overview of the Zynq-7000 SoC architecture. {Lecture, Lab, Demo}

  • Zynq UltraScale+ MPSoC Architecture Overview

Overview of the Zynq UltraScale+™ MPSoC architecture. {Lecture, Lab, Demo}

  • Driving the Vitis Software Development Tool

Introduces the basic behaviors required to drive the Vitis tool to generate a debuggable C/C++ application. {Lecture, Lab, Demo}

  • System Debugger

Describes the basics of actually running a debugger and illustrates the most commonly used debugging commands. {Lecture, Lab}

  • Standalone Software Platform Development and Coding Support

Covers the various software components, or layers, supplied by Xilinx that aid in the creation of low-level software and includes a discussion on drivers, domains, operating systems, and libraries. Also covers the basic services (libraries) available when coding in the Standalone environment. {Lecture, Lab, Demo}

  • FAT File System for Standalone

Introduces the FAT file system (FFS) from the Standalone/Bare-metal library. The FFS provides drivers and utilities for effectively converting a region of memory into a file system. {Lecture, Lab}

  • Using Linker Scripts

Overview of the purpose and typical use of a linker script. {Lecture, Lab}

  • Migrating from SDK to the Vitis Platform

Overview of migrating existing Xilinx SDK projects to Vitis software development projects. {Lecture, Demo}

  • Introduction to Interrupts

Introduces the concept of interrupts, basic terminology, and generic implementation. {Lecture}

  • Software Interrupts: Writing

Describes many of the considerations that a software coder must take into account when supporting interrupts. {Lecture, Lab}

Day 2

  • Operating Systems: Introduction and Concepts

Introduces the concept of the operating system and provides a simplified view into the generic way that operating systems work. {Lecture}

  • Linux: A High-Level Introduction

Introduces the Linux operating system, a brief history, and how to use it. {Lecture}

  • Linux Software Application Development Overview

Highlights important parts of the underlying Linux system as it pertains to applications. {Lecture, Lab, Demo}

  • Driving the PetaLinux Tool

Introduces the basic concepts required to build an application using the PetaLinux tool. {Lab}

  • Building a Linux Application in the Vitis IDE

Provides an introduction to using the Xilinx Vitis IDE tool for Linux software development. {Lecture, Demo}

  • Booting Overview

Describes the main points to how booting a processor is handled for Zynq SoC devices and MicroBlaze processors. {Lecture, Lab}

  • Software Profiling Overview

Introduces the purpose and techniques for profiling a user application. {Lecture, Lab, Demo}

  • Understanding Device Drivers

Explains the concept of a device driver and how it is used by embedded systems. {Lecture, Demo}

  • Custom Device Drivers

Describes how to successfully write a custom device driver. {Lecture, Lab}

Share this Product

More from this collection

Recently Viewed Items