This 5-day training is intended for developers who want to develop for or build an Embedded Linux system from scratch or from commercial Embedded Linux solutions. The training covers the various components of an embedded Linux target, the development choices and the different debugging possibilities. A more detailed look is also taken at the Linux kernel architecture and important issues such as cross compilation and building of the main components. The training finishes with some more specific subjects to the choice of the participants (such as Real Time Linux, Qt development, etc…). 
During this training all participants get the opportunity to build and experiment with a multifunctional small-footprint embedded target with an LCD touchscreen interface, which can be kept after the training.

Please note: limited capacity due to a maximum group size of 10 participants. This encourages interaction and contributes to extra personal attention for each participant.

This training is available for open enrollment as well as for in-company sessions. For in-company sessions, the Embedded Linux training can be adapted to your situation and special needs.

Objective

After successful completion of the course, the participant will be able to configure a Linux kernel for use in embedded, real-time systems and develop optimized real-time software for such a system.

Target audience

This course is intended for software engineers and designers developing software for embedded systems with a need for optimized performance, footprint and cost.

Knowledge prerequisites:

  • Good working experience with Linux;
  • Good IT Background;
  • C/C++ Programming experience on Linux or Unix.
Location (1)
Start date (1)
Duration 5 consecutive days
Frequency Once per year
Involved
Score
8.5
Price per participant € 3,900 excl. VAT *
Keep me posted

Program

Day 1 & 2: Welcome and Walkthrough

In-depth look at the system architecture

  • Kernel
  • File systems
  • Processes
  • Networking
  • More on Bash
  • Text Editor and Linux command line utilities

Development

Development tools

  • GNU make, gas, gcc, ld, gdb
  • Linux bootup process
  • Compiler options
  • Remote debugging
  • Options, built-ins and defaults
  • Build hierarchy - structure, scripts and makefiles
  • Setting up the cross compiler environment toolchain
  • Busybox, buildroot, openembedded/angstrom, ltib

Day 3: Advanced Development

Kernel architecture

  • Processes and the scheduler
  • Interrupts
  • Memory management
  • Modules, kernel
  • Char, block, network
  • How to optimize the kernel for latency
  • How to optimize boot time
  • Realtime Linux

Day 4 & 5: Embedded Development

Host / Target relationship

  • Cross compilation
  • Compiler preparation (exercise)
  • Linker preparation - ldscript, crt0
  • Building an embedded kernel
  • Building the root file system
  • Most important components
  • Booting – u-boot, redboot, grub, lilo, others
  • A running system
  • Upgrading your target

Additional subjects

Additional subjects chosen by participants, such as:

  • Networked targets updating techniques
  • Linux kernel development overview
  • Real Time Linux and Xenomai, Performance analysis
  • Deeper look into Embedded QTK, Qt Embedded, Webkit and Enlightenment, building from a distribution of choice, etc…
  • Further study

Methods

Course/Workshop, classical educations with practical exercises.

Course materials provided, complemented with a book and one HW development board (currently:

BeagleBone Black 1Ghz ARM Cortex-A8 based board with a microSD card and TTL cable. You are allowed to keep both the book & the HW development board.

Maximum group size of 10 participants which encourages interaction and contributes to extra personal attention for each participant.

 

Certification

Course participants will receive a High Tech Institute certificate based on exercises.

Remarks from participants

"Well structured, covers the major embedded Linux topics and the course is given by an expert with lots of practical experience."

Robert Beekmans - Sioux Embedded Systems B.V.

"Most important items I’ve learned: Basic Linux commands and functioning. Interfacing with Linux-Embedded board."

Chagay Hamelzky – Sioux Technologies B.V.

"Most important items I’ve learned: Improved Linux basic and better understanding of cross-compilation."

Gerard Heshusius – Sioux Technologies B.V.