Formation Linux Real-Time

Ref :

Embarqué & IOT Durée :
2 jours - 14 heures
Lieu :
Multi-sites

Tarif

Intra :
Inter :
1 400€ HT / pers
Inscrivez-vous

Demande d'informations

Les prochaines dates par ville

[+]Formation à distance

Pré-requis

Basic UNIX/Linux knowledge (using the shell !) - C language knowledge - Some skills about Embedded Linux (if possible)

Matériel

Practical work on Raspberry Pi 3 and Ubuntu 18 (x86_64)
The Linux environment is Ubuntu 18.04 (VirtualBox)

The training materials are provided as an .ova (Open Virtual Archive) file. It is therefore necessary to install VirtualBox on the target machine used by the trainee. In order to save time it is advisable to pre-install VirtualBox before the date of the training. Full installation (in order to have an optimized screen resolution) requires installing the extension pack, see: https://www.virtualbox.org/wiki/Downloads

Supported operating systems are:

  • Windows (XP or higher)
  • Linux
  • Mac OS X 10.5 or higher

The PC requirements (type of CPU, RAM, free space on the hard disk) : 
CPU : i5 or better
RAM : 4Gb or more
Disk : 30 Gb or more

Public concerné

RTOS (Real-Time Operating System) developers, Embedded Linux developers, Embedded Linux projects managers

Objectifs

Introducing real-time principles
Using Linux for RT (PREEMPT_RT and co-kernel approach)
Developing RT applications with PREEMPT_RT and Xenomai (POSIX API)

Programme détaillé

A practical work is available for each item with a “star” (*).

Introducing real-time 

  • What is real-time?
  • Real-time preemption
  • The RMS (Rate Monotonic Scheduler) algorithm
  • Priority inversion (and inheritance) *
  • Some RTOS  examples
  • POSIX standard introduction

Using Linux for RT

  • Linux and real-time
  • Legacy patches (“low-latency” and “preempt-kernel”)
  • PREEMPT_RT
  • THe co-kernel approach (RTLinux, RTAI, Xenomai)

RT programming with POSIX

  • RT programming principles
  • Processes
  • Threads *
  • Signals *
  • Timers and Clocks *
  • Semaphores and Mutex *
  • Conditions *
  • POSIX extensions
  • Profiling a real-time program with Ftrace *

RT programming with Xenomai

  • Xenomai programming principles
  • Application architecture and design
  • Skins (API)
  • Alchemy native API
  • The /proc/xenomai directory
  • Designing an application
    • “Hello World” POSIX based Xenomai thread *
    • Controlling the Pi 3 GPIO *
    • Xenomai vs Linux scheduling *
    • Xenomai/Linux domain migration *
  • RT IPC (XDDP) *
  • Kernel programming (RTDM)
    • Linux kernel driver example (reminder) *
    • RTDM task in kernel space *
    • GPIO RTDM driver for the Pi 3 *
    • Sample RTDM driver with “double scheduling” (RT / NRT) *
    • Handling IRQ
  • UDD (User Device Driver) example *

Modalités pédagogiques

Guidelines and exercises about using Linux for RT - Practical work on Raspberry Pi 3 B/B+ board (provided by Smile) - Yocto training is prerequisite (most of time) but Buildroot can be used “standalone” - Linux environment is Ubuntu 16.04 (VirtualBox)

Tous nos stages reposent sur une alternance entre transfert de savoir-faire et d’attitudes, avec des exercices concrets, des tests avec les participants et des analyses de situations. Cette méthode permet une appropriation rapide des sujets par les stagiaires.
Notre formateur s’appuie sur les connaissances préexistantes du stagiaire. Il combine diverses modalités pédagogiques : des exposés théoriques, des temps d’échanges, des études de cas, permettant à l’apprenant d’être acteur de la séance de formation.
Lors des formations en groupe, l’accent est mis sur l’interactivité, intégrant ainsi la possibilité de progresser en équipe et de réussir ensemble.
Le scénario de nos cours est adapté afin de faire directement référence aux attentes des stagiaires. Les exemples et exercices sont, dans la mesure du possible, au plus près des missions réalisées par vos collaborateurs.
En effet, notre processus de personnalisation d’accès à la formation nous conduit à choisir et combiner différentes méthodes classiques qui ont fait preuve de leur efficacité, en fonction des objectifs à atteindre et du public reçu en formation.

Nos Actualités