Hands-on Embedded Linux


Linux Training Overview

Linux, the free, Open Source operating system, is rapidly emerging as the leading platform for embedded devices using high-performance, 32-bit processors. And as the cost of computing continues to plummet, these processors are showing up just about everywhere. The ARM architecture, featuring a relatively high performance-to-power ratio, has become popular in a wide range of consumer and industrial electronic products including cell phones, set-top boxes and robots to name just a few.

This 3-day seminar focuses on how Linux has been adapted for use in embedded environments, with specific emphasis on the ARM architecture. Through extensive hands-on lab work, you learn how to install a cross-development environment, build a compact version of Linux for an embedded device, install the build on the target system, and test its operation. You’ll create and test programs that exercise I/O as well as networking applications and also explore real-time extensions.

Each participant receives a CD with a complete Linux kernel distribution, including source code, and ARM cross-development toolkit, which provides an ideal platform for embedding Linux into a wide range of consumer and industrial devices.

Participants will have available for use during the class an ARM-based target single-board computer (SBC) kit. This is the same SBC supplied with the Embedded Linux Learning Kit and is offered at a substantial discount to class participants.

Linux Training Course duration

3 Days

Linux Training Course outline

1. Introduction

What is Open Source and why do you care?

Linux features and characteristics

  • Protected memory
  • Processes
    • Foreground vs. background
  • Users and Groups
  • Root user
  • Graphical desktop environment—KDE
Filesystems
  • Root filesystem
  • Privileges
  • Links
  • “Mounting” filesystems
  • Filesystem Hierarchy Standard (FHS)
    • Special places
Development Environment
  • Install software
  • Configure the host
  • Configure the target
    • Flash filesystems
  • Network Filesystem (NFS)
  • Our first program
Eclipse
  • Creating and building C projects
  • Debugging with Eclipse
2. Embedded Application Programming

Accessing hardware from User Space
  • Data acquisition example
A simple simulation environment
  • Thermostat example
Multi-processing vs. multi-threading—Pthreads
  • Threads
  • Mutexes
  • Adding settable parameters to thermostat
Network programming
  • Sockets
  • Client/server paradigm
  • Networked thermostat
  • Multiple monitor threads
  • Embedded web server
Configuring and building the kernel
  • Booting via TFTP
  • Root filesystem over NFS
Busybox

Bootloader

3. Linux and Real-time

Why isn’t Linux real-time?
  • How bad is it?
Possible solutions
  • Pre-emption improvement
  • Interrupt abstraction
Introducing RTLinux

Kernel modules

Inter-task communication
  • FIFOs
  • Shared memory
RTLinux in Kernel Space

Wintrac Inc.
16523 SW McGwire Ct.
Beaverton OR 97007
© Wintrac, Inc. All rights reserved.                                                                               Site Map   |   Terms of Use   |   Privacy Policy