Embedded Open-Source Linux Design

Course Description

This intermediate-level, two-day course provides embedded systems developers with experience in creating an embedded open-source Linux operating system on a 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 Linux 2.6 from the 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 Xilinx tool flow.

Release Date

June 2009

Level

Embedded Hardware 4

Training Duration

2 days

Who Should Attend?

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

Prerequisites
  • 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 11.1
Hardware
  • Architecture: Virtex®-5 FPGA*
  • Demo board: Virtex-4 FPGA ML403 or Virtex-5 FPGA ML507 board*

* This course focuses on the Spartan-6 and Virtex-6 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 know how to:

  • Set up a Linux development environment
  • Configure a Xilinx FPGA for a Linux operating system
  • Describe the toolchain for developing an embedded Linux operating system
  • Determine the scheduling requirements for an embedded Linux operating system and apply them to the FPGA configuration
  • Analyze the system requirements for Inter-Process Communication and configure the FPGA
  • Analyze the system requirements for memory management and apply them to the system
  • Develop and add Linux 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
Lab Descriptions
  • Lab 1: Building the Environment – On a virtual machine environment, download and build a Linux development system that integrates 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.
Customer Reviews 
  • The hands-on labss in this course were very helpful.
    rating

  • Excellent class if you're interested. I would highly recommend it.
    rating

To Register

For class schedules as well as tuition and registration information, please contact one of our Authorized Training Providers:

 
/csi/footer.htm