Course : Embedded and real-time Linux

Embedded and real-time Linux






INTER
IN-HOUSE
CUSTOM

Practical course in person or remote class

Ref. LXT
  4d - 28h00
Price : Contact us







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.

Course schedule

1
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.

2
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.

3
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.

4
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.

5
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.


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