logo Amblot

 

Logo Doulos

Developing for Embedded Linux
5 days




Télécharger le descriptif au format pdf

This course is delivered in co-operation with Doulos' training partner Feabhas , who specialise in training courses for real-time embedded developers.

Course description

Linux is often used as an embedded operating system, and yet it is still regarded as something of a black art by many. This course aims to remove the mystique by showing exactly how to deploy Linux on a typical embedded target board through a combination of theory and practice.

Starting a board with no operating system, delegates will go through a simulated product cycle during which they will build and boot a Linux kernel, build a root file system, write a device driver and a multi-threaded application. Finally, they will review the performance of the resulting system and consider what changes could be made to improve it's real-time performance.

Overview

A 5-day course showing how to implement Linux on a typical development board (ARM core).

Course Objectives

After completing the course attendees will:

• Describe the four essential components of an embedded project: toolchain, kernel, bootloader and root file system
• Show how to control hardware from a device driver (in outline, see EL-504 for a more in-depth treatment)
• Give an overview of application development, profiling and debugging
• Show how to configure NOR and NAND flash memory for robust code and data storage
• Look at the issues of real-time and Linux

Delegates will learn

• How to configure and build a customised Linux 2.6 kernel
• How to construct a compact root file system from scratch
• How to develop and debug code for the target board, using the Eclipse IDE
• How to write single and multi-threaded programs using POSIX functions
• Which aspects of the system affect real-time performance and how to reduce scheduling latencies

Pre-requisites

• Good "C"™ programming skills
• General knowledge of an RTOS or embedded operating systems
• Experience of using Linux or a version of Unix will be useful, but not essential

Who should attend?

Software engineers who are developing applications for embedded or real-time Linux. Engineers wishing to assess the suitability of Linux for their next application.

Materials

• Student workbook

Related courses

• Developing Linux Device Drivers

Course workshop

The course presents embedded and real-time concepts applied to Linux using an ARM9 development board as the target (a Digi ConnectCore Wi-9C). The host development system is a standard PC running Linux. We use the target as an example of a simple embedded system which can control hardware via a simple digital I/O interface. Lab sessions follow a logical sequence, and result in oethe world™'s first Linux-powered web-controlled washing machine.

Course Outline

Introduction

• Linux in an embedded context
• The 4 basic elements: toolchain, bootloader, kernel, root file system

The Linux Kernel

• Virtual memory
• configuration and cross-compiling

Booting Linux

• The Linux boot sequence
• boot-loaders: U-boot
• loading images using TFTP

The root file-system

• Creating a minimal root file-system using Busybox
• The C library: glibc vs uClibc.
• Creating a RAM disk image

Network configuration

• Static and dynamic IP addresses
• mounting the root file system over NFS

Device drivers

• How to write a simple driver to access GPIO pins
• kernel modules

Debugging

• Logging using , syslogd
• remote debugging using Eclipse and gdbserver.

POSIX programming

• Processes: fork and exit, scheduling
• signals and signal handlers
• time and timers
• pipes, message queues, semaphores, shared memory

POSIX Threads

• Threads vs processes
• synchronising threads using mutexes and condition variables.

Flash memory

• the Linux Memory Technology Devices Layer

File systems

F• ile-system suitable for embedded applications
• Study of cramfs, tmpfs, jffs2 and yaffs

Real time Linux

• Typical Interrupt latency. kernel pre-emption modes
• the real-time patch
• practical considerations

Profiling

• Profiling using using gprof and Oprofile

Real time sub-kernels

• Introduction to writing hard real-time tasks using RTAI

Top of Page

Pour tout renseignement, contactez-nous :
Amblot SARL
166 boulevard du Montparnasse, 75014 Paris
Tél : +33(0)1 42 79 57 48 Fax :+33(0)1 42 79 57 47
email : info@amblot.com

Pour recevoir nos offres de formations,
ainsi que les nouveautés :

Email