Course : Embedded and real-time Linux

Embedded and real-time Linux

Download in PDF format Share this course by email 2


This training targets engineers who wish to use Linux in embedded systems with industrial realtime issues. During the session you will learn to build your own embedded system from boot-loader and Linux kernel up to application cross-development using free open-source software.


Inter
In-house
Custom

Practical course in person or remote class

Ref. LXT
Price : 2890 € E.T.
  4d - 28h00




This training targets engineers who wish to use Linux in embedded systems with industrial realtime issues. During the session you will learn to build your own embedded system from boot-loader and Linux kernel up to application cross-development using free open-source software.

Intended audience
Every step of the training session is immediately applied as a case study on an embedded ARM board with a touch screen to test graphical developments.

Prerequisites
Participants should be familiar with UNIX/Linux command line. The knowledge of the C language is optional.

Course schedule

Open-source cross development tools

  • Architecture overview. Overview of an embedded system and of the Linux kernel architecture.
  • Cross development tool chain, gcc cross compiler, C libraries, glibc and uClibc, GNU debugger, GNU ELF tools.
  • Embedded development tools, QEMU, BUILDROOT, BUSYBOX.
Hands-on work
Installation and practice of Buildroot to build a cross compilation toolchain.

The universal Boot loader: uBoot

  • uBoot project overview. A walk through the source code. Supported architectures.
  • Basic functionalities. The uImage format for booting uBoot Images.
  • Practice on a ARM-9 device with uBoot. Configuration, compilation and installation in a qemu sandbox for testing.
  • The uBoot configuration options. uBoot commands and environment.
  • Integration of new uBoot commands. Development of a standalone program using uBoot as BIOS.
Hands-on work
You will add a new command to uBoot and test uBoot inside QEMU.

Linux kernel

  • Licenses implications on kernel and kernel modules development.
  • Kernel development tools, quilt, GDB, GIT, LTT. Kernel configuration tool Kbuild.
  • Kernel configuration and compilation. Module development and compilation.
  • The Linux boot process. The schedulers, preemption and scheduling.
  • The Linux driver framework and standard drivers.
  • VFS Essentials callbacks, implementing a quick and dirty driver with open, read and write callbacks.
Hands-on work
How to modify the kernel tree to add a new driver to the kernel tree. Generate a patch formatted for the LKML. Develop a character driver outside of the kernel tree.

Root File system

  • Bottom-up approach for the root file system creation.
  • Adding users management with busybox.
  • Application integration.
  • Copying the root file system on a memory technology device.
Hands-on work
Create rootfs from scratch using busybox and test it on a real ARM target. Use buildroot to build new generic applications. Add your own application.

Linux and Real-Time

  • History and kernel evolution.
  • Linux-RT a realtime evolution.
  • Nano kernels and interrupt virtualisation.
  • Xenomai applications development.
  • Real-time Hypervisors.
Hands-on work
Installation of Xenomai, development of a realtime application with Posix and Native Interface. Benchmark comparing Linux standard applications and Xenomai applications under heavy load.


Practical details
Hands-on work
Every step of the training session is immediately applied as a case study on an embedded ARM board with a touch screen to test graphical developments.

Customer reviews
4,4 / 5
Customer reviews are based on end-of-course evaluations. The score is calculated from all evaluations within the past year. Only reviews with a textual comment are displayed.


Dates and locations
Select your location or opt for the remote class then choose your date.
Remote class