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.

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

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