Designing with the AMD Embedded Development Framework (EDF) / Embedded Design with PetaLinux Tools
Designing with the AMD Embedded Development Framework (EDF) / Embedded Design with PetaLinux Tools
COURSE CODE: EMBD EDF
EDF is the new AMD successor for PetaLinux.
This course introduces the AMD Embedded Development Framework (EDF), a unified software framework for AMD adaptive SoC and FPGA platforms. The EDF provides a structured development methodology, pre-built software stacks, and integrated tools to accelerate Linux-based embedded system development. Included in the class are core modules from the Petalinux class.
The emphasis of this course is on:
- Understanding the supported and recommended development flows for hardware and embedded software
- Identifying different design entry points and mapping role-based development within the EDF workflows
- Simplifying platform-level development by using pre-built embedded software stacks, pre-configured board support packages (BSPs), and open-source tools
- Leveraging the Software Hardware Exchange Loop (SHEL) flow and using tools like SDTGen, Lopper, and gen-machine-conf for hardware software integration
- Exploring the migration guide to use the EDF instead of PetaLinux
- Using open-source embedded Linux components
- Creating and debugging an application
- Building the environment and booting the system using the Arm processors available in AMD SoCs
- Configuring the Linux environment and network components
- Developing custom hardware and custom drivers
The primary focus is to gain hands-on experience with the EDF tools and workflows and learn how the EDF enables rapid prototyping and production-ready solutions through pre-built images.
This course focuses on the Zynq UltraScale+ MPSoC and Versal adaptive SoC architectures.
| 3-Day Instructor-led Course | Price USD | Training Credits |
|---|---|---|
| Hosted Online - $600/day | $1800 | 18 |
| In-Person Public Registration - $600/day | $1800 | 18 |
| Private Training | Learn More | Learn More |
| Coaching | Learn More | Learn More |
Printed Course Book (A PDF book is included in the course fee)
Cannot be purchased without registration. | $200 | 2 |
Scheduled Classes
3 Days
Be the first to know. Sign up for our newsletter.
Who should attend:
Embedded software developers and system designers working on AMD adaptive SoC or FPGA platforms who want to build Linux-based systems using the AMD Embedded Development Framework. Developers looking to migrate from Petalinux to EDF.
Software Tools
- Yocto project
- Vivado Design Suite
- Vitis Unified IDE
- Hardware emulation environment:
- VirtualBox
- QEMU
- Ubuntu desktop
Hardware
- Zynq UltraScale+ MPSoC ZCU104 board
- Versal AI Core Series VCK190 board
- Versal AI Edge Series VEK280 board
Skills Gained
After completing this comprehensive training, you will have the necessary skills to:
- Build and customize Linux-based platforms using the AMD Embedded Development Framework (EDF)
- Develop and deploy applications using the EDF-provided SDKs, pre-built images, and workflows
- Migrate existing PetaLinux-based projects to the AMD Embedded Development Framework
Course Outline
| Day 1 | Day 2 | Day 3 |
|---|---|---|
| Overview of the Embedded Development Framework Provides an overview of the AMD EDF and its role in embedded platform development. {Lecture} EDF Software Stack and Role-Based Development Flow Introduces the software stack, including Linux BSPs, pre-built disk images, tools, firmware, utilities, and reference designs and explains role-based development flows. {Lecture} Application Development and Deployment Using the EDF Introduces software and hardware application development flows and their deployment using the EDF Yocto workflows. {Lecture} Linux OS Integration and Yocto Customization Covers building and customizing the Linux OS using the Yocto Project for AMD SoCs. {Lecture, Lab} Introduction to the Software Hardware Exchange Loop (SHEL) Flow Outlines the Software Hardware Exchange Loop (SHEL) flow as part of the EDF and reviews the key tools used in the flow, such as SDTGen, Lopper, and gen-machine-conf. {Lecture, Lab} Custom Hardware Development Using the EDF Covers custom hardware workflows, including Segmented Configuration and dynamic PL reload. {Lecture, Lab} Migration from PetaLinux to the Embedded Development Framework Explains the migration from PetaLinux to the Yocto-based EDF flow and the mapping of common build and customization tasks. {Lecture} | Introduction to Embedded Linux Introduces embedded Linux, including a brief architectural overview, as well as some of the reasons for its rising popularity as an embedded OS. Also introduces the concept of toolchains and cross-compilation. {Lecture} Embedded Linux Components Describes the various components required for embedded Linux platforms (including the kernel image, root file system, and boot loaders) and how the components affect the booting of Linux on these platforms. {Lecture, Lab} Yocto Project Overview Introduces the Yocto Project, which encompasses a build system designed for embedded Linux. {Lecture} PetaLinux Tool Design Flow Provides a brief description of the PetaLinux tool design flow and describes in detail various PetaLinux commands (including petalinux-create, petalinux-config, petalinux-build, petalinuxpackage, and petalinux-boot) and their example use cases. {Lecture} PetaLinux Application Development Introduces core concepts for developing, customizing, and running software applications in an embedded Linux environment. {Lecture, Lab} Customizing the Root File System Provides a brief description on customizing the rootfs for embedded Linux components such as libraries, applications, modules, layers, recipes, and packages. {Lecture} | Networking and TCP/IP Discusses how the TCP/IP networking stack can be used to improve productivity during embedded product development by supporting network data communication, network control/status management, and firmware and hardware upgrades. {Lecture, Lab} Basic Hardware Design Process with the Vivado Design Suite Describes the complete board bring-up process, which includes the hardware design as well as Linux image creation for the hardware. {Lecture, Lab} Linux Device Drivers Overview Provides a brief overview on Linux device drivers and their requirements. Also describes what a device tree is and how it is generated. {Lecture} User Space I/O and Loadable Kernel Modules Introduces two lightweight approaches for accessing the physical memory of devices from user space: direct access through the dev/mem virtual device and the user space I/O framework. Also covers the role and usage loadable kernel modules. {Lecture, Lab} Custom Hardware Development Describes the Create and Package IP Wizard and how it can be used to create a variety of architectural options for interfacing a system with custom processing hardware. {Lecture, Lab} Custom Driver Development Discusses device driver options to match custom hardware devices and how to use the provided interfaces to read and writeto the devices. {Lecture, Lab} |
Please note: The instructor may change the content order to provide a better learning experience.
Prerequisites:
- Basic understanding of embedded systems and Linux-based development
- Familiarity with Yocto Project® concepts and workflows
- Awareness of hardware/software integration concepts in the AMD ecosystem
- Familiarity with AMD SoCs and evaluation boards is a plus