Embedded Systems Software Design

Introduce 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.

TechSource Systems Pte Ltd

Course
Highlights

This two-day 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 2021.2

  • All labs have been updated to the latest software versions
TechSource Systems Pte Ltd

Who Should
Attend

Software design engineers interested in system design and implementation and software application development and debugging using the Xilinx Standalone library.

TechSource Systems Pte Ltd

Course
Prerequisites

  • C or C++ programming experience, including general debugging
    techniques
  • Conceptual understanding of embedded processing systems including device drivers, interrupt routines, writing and modifying scripts, user applications, and boot loader operation
TechSource Systems Pte Ltd

Course
Benefits

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

Partners

TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

TechSource Systems is MathWorks Authorised Reseller and Training Partner

Upcoming Program

  • Please keep me posted on the next schedule
  • Please contact me to arrange customized/ in-house training

Course Outline

Overview of Embedded Software Development

Objective: Enumerate some of the under-the-hood tools provided in the Vitis IDE.

  • Describe the primary software development environment used with Xilinx devices
  • List some of the Xilinx-provided extensions available in the Vitis™ IDE
  • Enumerate some of the under-the-hood tools provided in the Vitis IDE
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

Embedded UltraFast Design Methodology

Objective: Outlines the different elements that comprise the Embedded Design Methodology.

  • Enumerate the different elements that comprise the Embedded Design Methodology
  • Identify the flows for both hardware and software development

Zynq-7000 SoC Architecture Overview

Objective: Overview of the Zynq-7000 SoC architecture.

  • Describe the high-level blocks contained within Zynq®-7000 SoC devices
  • Describe the connections among the high-level blocks and between the processing system (PS) and programmable logic (PL)
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

Zynq UltraScale+ MPSoC Architecture Overview

Objective: Overview of the Zynq UltraScale+ MPSoC architecture.

  • Identify the major functional components of the Zynq® UltraScale+™ MPSoC
  • Describe the power management strategy

Zynq UltraScale+ MPSoC Software Environments

Objective: Describes the software development environments for Zynq
UltraScale+™ MPSoCs.

  • Enumerate critical differences between the Zynq®-7000 and Zynq UltraScale+™ devices
  • Explain the two primary operating modes of the RPU and the standard APU Environment
  • Define system virtualization and how it is realized in the Zynq UltraScale+ devices
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

Driving the Vitis Software Development Tool

Objective: Introduces the basic behaviors required to drive the Vitis tool to generate a debuggable C/C++ application.

  • Describe the purpose of the Vitis™ integrated design environment (IDE)
  • Enumerate some of the Xilinx extensions provided in the Vitis IDE
  • List the primary capabilities offered in the Vitis IDE

System Debugger

Objective: Describes the basics of actually running a debugger and
illustrates the most commonly used debugging commands.

  • Describe the two broad categories of debugger commands: execution control and memory access
  • Enumerate the most popular operations employed by the debugger
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

Standalone Software Platform Development and Coding Support

Objective: 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.

  • Identify C coding support provided in the Xilinx software development environment
  • Enumerate Xilinx’s low-level libraries and the software layers with which they align
  • Explain the purpose and utility of the board support package and its components

FAT File System for Standalone

Objective: 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.

  • Discuss the capabilities of the File Allocation Table File System (FFS)
  • Implement an application using the FFS
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

Using Linker Scripts

Objective: Overview of the purpose and typical use of a linker script.

  • Describe the behavior of a linker script
  • Build or customize a linker script

Migrating from SDK to the Vitis Platform

Objective: Overview of migrating existing Xilinx SDK projects to Vitis
software development projects.

  • Describe the need for the Vitis™ unified software platform
  • Explain the differences between SDK and the Vitis IDE
  • Describe how to migrate from SDK to the Vitis IDE
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

Introduction to Interrupts

Objective: Introduces the concept of interrupts, basic terminology, and
generic implementation.

  • Describe the basic behavior of an interrupt-driven system
  • Explain the difference between an interrupt and an exception

Software Interrupts: Writing

Objective: Describes many of the considerations that a software coder must take into account when supporting interrupts.

  • Describe common issues arising from interrupts
  • Explain what an interrupt service routine must do
  • Write a proper ISR
TechSource Systems Pte Ltd

Operating Systems: Introduction and Concepts

Objective: Introduces the concept of the operating system and provides a
simplified view into the generic way that operating systems work.

  • Define what an operating system is
  • Explain how a generic operating system behaves
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

Linux: A High-Level Introduction

Objective: Introduces the Linux operating system, a brief history, and how to use it.

  • Define Linux as an operating system
  • Explain the Linux structure
  • List the uses and benefits of Linux
  • Identify different opportunities to use Linux

Linux Software Application Development Overview

Objective: Highlights important parts of the underlying Linux system as it pertains to applications.

  • Define what a Linux application is (and its limitations) and how it can access the underlying hardware
  • Describe major OS concepts such as processes, threads, kernel/user space, and isolation
  • Lab: Driving the PetaLinux Tool
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

Building a Linux Application in the Vitis IDE

Objective: Provides an introduction to using the Xilinx Vitis IDE tool for Linux software development.

  • Describe the Linux application development flow
  • Access the files useful for Linux applications

Booting: Overview

Objective: Describes the main points to how booting a processor is handled for Zynq SoC devices and MicroBlaze processors.

  • Describe the most common boot flows, including booting from Flash
  • Describe the different boot loading stages
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

Describe the different boot loading stages

Objective: Introduces the purpose and techniques for profiling a user
application.

  • Describe why profiling is import
  • Demonstrate how the Vitis™ IDE tool can be used to profile a user application

Understanding Device Drivers

Objective: Explains the concept of a device driver and how it is used by
embedded systems.

  • Explain the purpose of a device driver
  • Describe how device drivers fit into the Xilinx software development scheme
TechSource Systems Pte Ltd
TechSource Systems Pte Ltd

Custom Device Drivers

Objective: Describes how to successfully write a custom device driver.

  • Describe the required files for building a device driver
  • Include the device driver into the Xilinx structure
QUICK ENQUIRY