Embedded Systems Software Design

Embedded Systems Software Design

When

On request     

Reserve

€3.000,00
 / 30  Training Credits
On request

Event type

Information

Course Description

his course introduces the concepts, tools, and techniques required for software design and development for the AMD Zynq™ System on a Chip (SoC), Zynq UltraScale+™ MPSoC, and Versal™ adaptive SoC architectures using the AMD Vitis™ Unified IDE.
The focus is on:
  • Reviewing the basics of Vitis Unified IDE
  • Customizing board support packages (BSPs) for resource access and management of the Xilinx Standalone library
  • Utilizing device drivers effectively
  • Developing software applications for the available processors
  • Debugging and integrating user applications
  • Employing best practices to enable good design decisions


What's New for 2024.1

  • All labs have been updated to the latest software versions

Level

Embedded Software 3

Course Duration

3 days

Audience

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

Prerequisites

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

Software Tools

  • Vitis Unified IDE 2024.1
  • Vivado™ Design Suite 2024.1

Hardware

  • Architectures: Zynq-7000 SoC (Cortex-A9 processor) and Zynq UltraScale+ MPSoC (Cortex-A53 and Cortex-R5 processor)*
  • Demo board: Zynq UltraScale+ MPSoC ZCU104 or Versal adaptive SoC VCK190 board*

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

Skills Gained

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 AMD 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}
  • Zynq UltraScale+ MPSoC Software Environments - Describes the software development environments for Zynq UltraScale+™ MPSoCs. {Lecture}
  • Driving the AMD Vitis Unified IDE - ntroduces the terminology and features of the Vitis Unified IDE and talks about the basic behaviors required to drive the Vitis Unified IDE to generate a C/C++ application. {Lecture, Lab}
  • Debugging Using the AMD Vitis Unified IDE - Describes the basics of actually running the Vitis Unified IDE system debugger and illustrates the debugging process. {Lecture, Lab}

Day 2

  • Bare-metal Application Development - Covers the various software components, or layers, supplied by AMD that aid in the creation of low-level software. The basic bare-metal application development flow is also discussed. {Lecture, Demo, Lab}
  • 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}
  • Introduction to Interrupts -  Introduces the concept of interrupts, basic terminology, and genericimplementation. {Lecture}
  • Software Interrupts: Writing - Describes many of the considerations that a software coder must take into account when supporting interrupts. {Lecture, Lab}

Day 3

  • 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}
  • 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}
  • Debugging Using Cross-Triggering - Illustrates how hardware-software cross-triggering techniques can uncover issues. {Lecture, Lab}

Request

Tickets

EMBD-SW

€3.000,00

Registration information


linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram