Embedded Open-Source Linux Development

Course Description

We offer only one course for all the different processor architecture ARM Cortex A9, MicroBlaze, PowerPC 440, PowerPC 405.

We use only open source software, tools and libraries. You can download everything, no additional license fees. You can select which architecture you like to use for labs. This intermediate-level, two-day course provides embedded systems developers with experience in creating an embedded open-source Linux operating system on a AMD Xilinx development board. The course offers students hands-on experience from building the environment to booting the system using a basic, single-processor System on Chip (SoC) design with the latest stable Linux version from the AMD Xilinx kernel tree.

This course introduces embedded Linux components, use of open-source components, environment configurations, network components, and debugging/profiling options for embedded Linux platforms. The primary focus is on embedded Linux development in conjunction with the AMD Xilinx tool flow.


April 2017

Training Duration

3 days

Who Should Attend?

Embedded software developers interested in customizing an open-source Linux kernel for a AMD Xilinx embedded processor system.


  • Experience in C or C++ programming
  • Basic understanding of VHDL or Verilog design
  • Basic microprocessor design experience and understanding of MicroBlaze™ or PowerPC® processor architecture
  • Knowledge of operating system architecture
  • Experience using a Linux command-line shell for common file operations

Software Tools

  • ISE® Design Suite: Embedded or System Edition


Select which board you like to use!
  • Demo board: Zynq KL706
  • Demo board: Kintex-7 KL706
  • Demo board: Virtex-6 ML5605
  • Demo board: Spartan-6 SP605
  • Demo board: Virtex-5 FPGA ML507 board or ML501
  • Demo board: Virtex-4 FPGA ML403
other customizations.

Skills Gained

After completing this comprehensive training, you will be able to:

  • Build a Linux development environment from pretested tool components
  • Identify the basic concepts of an embedded Linux operating system
  • Configure a AMD Xilinx FPGA for a Linux operating system
  • Determine scheduling requirements for an embedded Linux operating system and apply them to the FPGA configuration
  • Analyze system requirements for interprocess communication and configure the FPGA
  • Determine system requirements for memory management
  • Develop and add Linux device drivers to the system

Course Outline

Day 1

  • Course Agenda and Introduction
  • Building the Environment
  • Lab 1: Building the Environment
  • Basic Linux System
  • Lab 2: Basic Linux System

Day 2

  • Booting and Debugging
  • Lab 3: Boot Loader
  • Peripherals and Drivers
  • Lab 4: Peripherals and Drivers
  • Embedded Linux Memory Manager
  • Processes, Scheduling, and Timing

Day 3

  • Lab 5: Running Linux on the Zynq All Programmable SoC
  • Memory Mangament
  • DMA Transfers
  • Real Time
  • Optimization
  • Debugging
  • Partial Reconfiguration

Lab Descriptions

  • Lab 1: Building the Environment – On a virtual machine environment, download and build a Linux development system that integrates AMD Xilinx tools and open-source components. Includes the use of build scripts
  • Lab 2: Basic Linux System – Configure the kernel; build the kernel without a root file system; download and start the kernel with xmd; try basic debugging techniques; build a minimal rootfs, rebuild Linux with a minimal rootfs; and boot Linux and login
  • Lab 3: Boot Loader – Analyze the starting point of the kernel; analyze the boot messages; add the first-stage boot loader; add U-Boot, boot Linux with U-Boot; and boot Linux with an NFS rootfs
  • Lab 4: Peripherals and Drivers – Program a Hello World kernel module; compile external kernel modules; and create a simple gpio driver
  • Lab 5: Running Linux on the Zynq All Programmable SoC

Event Schedule

No events found. Event request.


Updated at: 2023-03-16 15:37:02 +0100to the top