Embedded Linux on MicroBlaze using ISE

Course Description This course provides university academics with the resources, high-level skills, and confidence to introduce Embedded Linux on MicroBlaze™ Processor to their teaching and research programs.
Level Intermediate
Duration 2 Days
Who should attend? Professors who want to introduce and extend Xilinx FPGA and Embedded Linux in their teaching and research programs.
  • Conceptual understanding of Xilinx FPGA and hardware design
  • Experience with Xilinx Embedded Development Kit (EDK) tool
  • Basic Linux and embedded concepts

Skills Gained

After completing this workshop, you will be able to:

  • Understand the basics of the Linux operating system and Embedded Linux concepts including:
    • Linux kernel architecture
    • Device driver concepts and loadable modules
  • Use the Xilinx EDK and PetaLinux to achieve a working MicroBlaze Linux kernel bring up
  • Build, modify and debug Embedded Linux applications on the MicroBlaze platform
  • Develop a simple custom hardware peripheral for MicroBlaze
  • Develop a simple Linux device driver for a custom hardware peripheral

Course Overview

Day 1:

  • Introduction
  • Embedded Linux Demystified
  • Lab 1: A First Look
    • Compare and contrast embedded Linux on Xilinx FPGA and Linux on desktop.
  • Introduction to PetaLinux
  • Lab 2: Build and Boot Linux
    • Build your own kernel image and boot new image via the network.
  • Application Development
  • Lab 3: Application Development and Debug
    • Create an application using a script file and debug using cross-debugger.
  • Networking and TCP/IP
  • Lab 4: Networking
    • File transfer, Network File System (NFS) mount, and embedded web-server and web-based applications.
  • Device Drivers and Modules
  • Lab 5: Drivers and Modules
    • Create a simple run-time loadable kernel module.

Day 2:

  • Introduction to EDK and MicroBlaze
  • Lab 1: Base System Builder and Board Bringup
    • Create a Linux capable FPGA platform from scratch including hardware and kernel.
  • Custom Hardware Development and Interfacing
  • Lab 2: Custom Hardware Development
    • Use custom AC97 and Filter cores with AXI interface.
  • Custom Device Drivers
  • Lab 3: A Driver for the New Hardware
    • Develop UIO drivers for the AC97 and Filter (AXI interface based)IP cores and an application to test them.