Event

Title: 
Embedded System Software Development
Start date: 
August 20
End date: 
- August 21
Start time: 
09:00 am
End time: 
05:00 pm
Location: 
Online
Registration: 
Register online in our secure store
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 * 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 hardwareexecution on both the ZCU104 board and QEMU

 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 byXilinx 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 Linuxsoftware 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}

 

Register Today
Registration for this course is available through our Online Store.