Embedded System Software Design 

EMBD-SW-ILT

Course Description

This two-day course introduces you to software design and development for the Xilinx Zynq® All Programmable System on a Chip (SoC) and the Zynq UltraScale+™ MPSoC devices using the Xilinx Software Development Kit (SDK). You will learn the concepts, tools, and techniques required for the software phase of the design cycle.

Topics are comprehensive, covering the basics of SDK tool use, customization of the board support packages (BSP) for resource access and management of the Xilinx Standalone library. Major topics include device driver use, user application debugging and integration. 

Practical implementation tips and best practices are also provided throughout to enable you to make good design decisions and keep your design cycles to a minimum. Sufficient practical information is provided to start developing software applications for the ARM® Cortex™-A9, CortexA53, Cortex-R5, and MicroBlaze™ processors.

While this course focuses on embedded systems using the processing system (PS), it also covers MicroBlaze processor development (both independent of the PS and in concert with the PS). 

Level: EMB SW 3
Course Duration: 2 day
Price: $1400 or 14 Xilinx Training Credits
Course Part Number: EMBD-SW-ILT
Who Should Attend?: Software design engineers interested in system design and implementation and software application development and debugging using the Xilinx Standalone library.
Registration: Register online in our secure store

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  

 

 

Software Tools

  • Vivado® Design or System Edition 2018.1

Hardware

 

  • Architectures: Zynq-7000 All Programmable SoC (Cortex-A9 processor), Zynq UltraScale+ MPSoC (Cortex-A53 and Cortex-R5 processor), and MicroBlaze processor 
  • Demo board: Zynq-7000 All Programmable SoC ZC702 or ZedBoard 

 

 

 

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 SDK tools 
  • Write a basic user application (under Standalone or Linux) using the Xilinx Software Development Kit (SDK) and run it on an embedded system platform 
  • 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 {Lecture} 
  • Embedded UltraFast Design Methodology {Lecture, Demo} 
  • Zynq-7000 All Programmable SoC Architecture Overview {Lecture, Lab, Demo} 
  • Zynq UltraScale+ MPSoC Architecture Overview {Lecture, Lab, Demo} 
  • MicroBlaze Processor Architecture Overview {Lecture, Lab}
  • Driving the SDK Tool {Lecture, Lab} 
  • System Debugger {Lecture, Lab} 
  • Standalone Software Platform Development {Lecture, Lab, Demo} 
  • C Coding Support for Standalone {Lecture, Demo} 
  • Memory File System (Standalone) {Lecture, Lab} 
  • Using Linker Scripts {Lecture, Lab} 
  • Introduction to Interrupts {Lecture} 
  • Interrupts: Software Considerations {Lecture, Lab} 

Day2

 

  • Operating Systems: Introduction and Concepts {Lecture}
  • Linux: A High-Level Introduction {Lecture} 
  • Linux Software Application Development Overview {Lecture, Lab, Demo} 
  • Writing Code in the Xilinx Linux Environment {Lecture, Demo} 
  • Booting Overview {Lecture, Lab} 
  • Profiling Overview {Lecture, Lab, Demo} 
  • Understanding Device Drivers {Lecture, Demo} 
  • Custom Device Drivers {Lecture, Lab} 

Topic Descriptions

Day 1 

 

  • Overview of Embedded Software Development – Overview of the process for building a user application. 
  • Embedded UltraFast Design Methodology – Outlines the different elements that comprise the Embedded Design Methodology. 
  • Zynq-7000 All Programmable SoC Architecture Overview – Overview of the Zynq-7000 All Programmable SoC architecture. 
  • Zynq UltraScale+ MPSoC Architecture Overview – Overview of the Zynq UltraScale+™ MPSoC architecture. 
  • MicroBlaze Processor Architecture Overview – Overview of the MicroBlaze processor architecture. 
  • Driving the SDK Tool – Introduces the basic behaviors required to drive the SDK tool to generate a debuggable C/C++ application. 
  • System Debugger – Describes the basics of actually running a debugger and illustrates the most commonly used debugging commands. 
  • Standalone Software Platform Development – Covers the various software components, or layers, supplied by Xilinx that aid in the creation of low-level software. 
  • C Coding Support for Standalone – Reviews the basic services (libraries) available when coding in the Standalone environment. 
  • Memory File System (Standalone) – Introduces the memory file system (MFS) from the Standalone library, which provides drivers and utilities for effectively converting a region of memory into a file system.
  • Using Linker Scripts – Overview of the purpose and typical use of a linker script.
  • Introduction to Interrupts – Introduces the concept of interrupts, basic terminology, and generic implementation. 
  • Interrupts: Software Considerations – Describes many of the considerations that a software coder must take into account when supporting interrupts. 

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. 
  • Linux: A High-Level Introduction – Introduces the Linux operating system, a brief history, and how to use it.
  • Linux Software Application Development Overview – Highlights important parts of the underlying Linux system as it pertains to applications. 
  • Writing Code in the Xilinx Linux Environment – Reviews the use of the Xilinx SDK tool for Linux software development. 
  • Booting Overview – Describes the main points to how booting a processor is handled for Zynq All Programmable SoC devices and MicroBlaze processors.
  • Profiling Overview – Introduces the purpose and techniques for profiling a user application.
  • Understanding Device Drivers – Explains the concept of a device driver and how it is used by embedded systems.
  • Custom Device Drivers – Describes how to successfully write a custom device driver.

 

PDF version of this page.

Enroll Now.

Scheduled Embedded Courses

Zynq UltraScale+MPSoC-System Architect-Online
September 04 - September 05: 09:00 am - 05:00 pm
This two-day online course is structured to provide system architects with an overview of the...

Zynq SoC System Architecture 2018.1
September 06 - September 07: 09:00 am - 05:00 pm
* This course focuses on the Zynq-7000 SoC. Check with your local Authorized Training Provider for...

Zynq UltraScale+MPSoC-Software Developer
September 11 - September 12: 09:00 am - 05:00 pm
v 2017.3 This two-day course is structured to provide software designers with a catalog of OS...

Embedded System Design
September 27 - September 28: 09:00 am - 05:00 pm
v2018.1 The course is designed to bring FPGA designers up to speed on developing embedded systems...

Embedded Design with PetaLinux Tools
October 09 - October 10: 09:00 am - 05:00 pm
v2017.3 This intermediate-level, two-day course provides embedded systems developers with...

Designing FPGAs Using the Vivado Design Suite 2
October 11 - October 12: 09:00 am - 05:00 pm
v2017.1 This course shows you how to build an effective FPGA design using synchronous design...

Embedded Systems Software Design 2018.1
October 16 - October 17: 09:00 am - 05:00 pm
v2017.1 This two-day course introduces you to software design and development for the Xilinx Zynq...

Advanced Features and Techniques of Embedded System Software Design
October 18 : 09:00 am - 05:00 pm
This course will help software engineers fully utilize the components available in the Zynq All...

Embedded Design with PetaLinux Tools
October 24 - October 25: 09:00 am - 05:00 pm
v2017.3 This intermediate-level, two-day course provides embedded systems developers with...

Designing FPGAs Using the Vivado Design Suite 3
November 01 - November 02: 09:00 am - 05:00 pm
This course demonstrated timing closure techniques, such are baselining, pipelining,synchronization...

Alternative Dates and Locations

Faster Technology is able to deliver both private classes at client sites and also public classes at alternate locations and dates.  If there are no currently scheduled classes listed above or if none of the classes are convenient, please tell us what dates and locations will meet your needs.  No obligation necessary.