Embedded Linux

Learn the development of Linux embedded systems

Linux has been adapted for use in embedded environments, with prime focus on the ARM architecture. We provide the course to shed light upon installation of cross-development environment, how to build compact version of Linux for embedded device, how to install this build on the target system and test its operation.

Course code: EmbdLinux

Course duration: 4 weeks

Course objectives:

The course starts with a simple project and takes the students through the entire process of creating a special version of Linux kernel. Following are the objectives of this course:

  • Provide an understanding of essentials of embedded Linux
  • Explain the essential components- tool chain, kernel, bootloader and root file system
  • Describe the concept of ARM9
  • Introduce the concept of embedded Linux
  • Explain porting of Linux kernel and root file system to ARM9 board
  • Describe the implementation of application program on ARM9 board

Delegates will learn:

At the end of this course, students will be able to:

  • Understand the development of environment setup
  • Learn about drivers and kernel development
  • Learn to configure and build a customized Linux kernel
  • How to build a compact root file system
  • Grasp the concept of modern Linux for embedded systems
  • Create and test programs that perform I/O and networking applications

Embedded Linux is like adapting the Linux kernel and customizing user-space libraries to a diverse range of applications like military, medical, industrial, consumer households and others. We provide this training program to help students gain experience in the development of applications and system programs.

LINUX Basics

Introduction to Linux Operating System

  • Operating System Services
  • Why Linux

Different types Operating Systems

  • Monolithic
  • Micro etc

Basic Linux user commands

Linux root file system structure.
Introduction to GNU Tool chain

  • GCC compiler
  • Make file
  • GDB

Study of ARM9

  • Difference between Microcontroller and Processor, Difference between Native-Compiler and Cross-Compiler
  • RISC vs CISC,Harvard and Von Neumann arch
  • ARM archetecture .
  • Requirements for Building and using the kernel, Retrieving the Kernel Source
  • Configuring and Building, Installing and Booting from a Kernel
  • Upgrading a kernel, Customizing a Kernel, Boot loader – Grub Loader, U-Boot .

Introduction to Embedded Linux

  • Generic Architecture of a Embedded Linux, System Start up, Types of Boot Configuration
  • Root File System Structure, Root file system setup
  • Setting up the boot loader
  • Emedded Storage (Memory Technology Devices)
  • Embedded File Systems

Porting Linux kernel and Root file system to ARM9 board

  • Embedded Storage – Sample MTD Driver
  • Operating Systems Porting Layer (Boot Loader, Kernel Image, Root File System)
  • Angstrom Operating system porting on ARM 9

Implementing application program on ARM9 board related to the project

  • Interaction between the User and Kernel Level With System calls
  • Explain Device driver application flowchart
  • Explain kernel Device Driver and User Device Driver Program