Subscribe to Newsletter

Print

Embedded Linux Training Course


(This course is offered only on-demand to a private batch and can be customized as per the business requirements)

Embedded Linux is designed to give experienced programmers a solid understanding of adapting the Linux kernel and customized user-space libraries and utilities to embedded applications such as those in use in consumer electronics, military, medical, industrial, and auto industries.

Objectives

At the end of Embedded Linux training course, participants will understand:

  • The Linux kernel architecture, with emphasis on the essential points needed to adapt the kernel to a custom embedded application
  • The techniques for right sizing the system to meet project constraints, the multitude of resources available for constructing a cross development environment for embedded projects
  • The options available for populating libraries and application user-spaces to meet the goals and constraints of embedded systems.

Suggested Audience - The course is primarily intended for experienced programmers and engineers who are interested in learning the fundamentals of adapting Linux to an embedded system, especially those who have been assigned to a team tasked with designing an embedded system.

Duration - 4 Days

Prerequisites

  • Be proficient in the C programming language.
  • Be familiar with basic Linux (Unix) utilities, such as ls, rm, grep, tar, and have a familiarity with command shells and scripts.
  • Be comfortable using any of the available text editors (e.g., vi, emacs.)
  • Know the basics of compiling and linking programs, constructing Makefiles etc.; i.e., be comfortable doing application developing in a Linux or Unix environment.
  • Have a good understanding of systems programming in a Unix or Linux environment, at least from the standpoint of writing applications.
  • Experience with any major Linux distribution is helpful but is not strictly required

Syllabus

  • Introduction
  • Embedded and Real-Time Systems Concepts
  • Cross-Development Environments: Goals and Needs
  • Cross-Development: Auto-Build Tools
  • Kernel Architecture Preview
  • Kernel Programming Preview
  • Kernel Source Tree Overview
  • Setting Up a Target Development Board
  • Kernel Configuration, Compilation, Booting
  • Target Filesystem Packaging
  • Build Target Root Filesystem
  • Root Filesystem Choices
  • Configuring uClibc
  • Build BusyBox Utility Suite
  • Bootloaders U-Boot
  • KBuild System
  • Linker Scripts
  • Kernel Monitoring and Debugging
  • Right-Sizing
  • Flash Memory Filesystems
  • Compressed Filesystems
  • Modules
  • Device Drivers
  • Real-Time Extensions