Aller au contenu
Systèmes & réseaux

Linux industriel, temps réel et embarqué

Maîtrisez le développement Linux pour systèmes embarqués critiques : architecture, temps réel, boot, sécurité et déploiement en environnement contraint.

Intermédiaire
Blended

Description de la formation

Module 1 : Architecture des systèmes embarqués

  • Différences entre système standard et embarqué
  • Étapes de boot d’un système Linux
  • Organisation mémoire, types de stockage
  • Architecture du noyau, sources et compilation

Module 2 : Développement industriel sous Linux

  • Modes utilisateur vs superviseur
  • Licence open source et implications industrielles
  • Environnement de développement : GCC, GDB, Valgrind, etc.
  • IDE recommandés : Eclipse, VSCode, etc.
  • Compilation croisée et chaînes toolchain

Module 3 : Ordonnancement temps réel souple

  • Précision temporelle et gestion des timers
  • Ordonnancement POSIX.1b : règles, configuration
  • Noyaux Linux 3.x à 6.x : évolutions RT
  • Threads, priorités, synchronisation, mutex
  • Gestion CPU, multitâche, préemption

Module 4 : Temps réel strict avec Xenomai ou LinuxRT

  • Micro-noyaux : Adeos, Xenomai, RTAI
  • Vue d’ensemble et architecture de Xenomai
  • Installation, configuration et compilation avec Xenomai
  • API Xenomai, tâches réelles, timers, interruptions
  • Interruptions et synchronisation critique
  • Comparatif LinuxRT vs Xenomai (cas d’usage)

Module 5 : Développement pour systèmes embarqués

  • Choix du noyau embarqué (Yocto, Buildroot, kernel light)
  • Bibliothèques minimalistes (Newlib, uClibc, DietLibC)
  • Interface utilisateur (CLI, directFB, miniGUI)
  • Configuration du chargeur (Grub, U-Boot)
  • Génération d’un système de fichiers allégé

Module 6 : Personnalisation du boot

  • Étapes du boot : BIOS → bootloader → kernel → init
  • Init classique vs Systemd vs alternatives (BusyBox, OpenRC)
  • Scripts d’initialisation embarqués
  • Optimisation du temps de démarrage
  • Démarrage à partir de mémoire flash ou SD

Objectifs pédagogiques

  • Comprendre l’architecture d’un système Linux embarqué et industriel
  • Comprendre l’architecture d’un système Linux embarqué et industriel
  • Maîtriser les concepts d’ordonnancement temps réel souple et strict
  • Maîtriser les concepts d’ordonnancement temps réel souple et strict
  • Implémenter un système basé sur Xenomai ou LinuxRT dans des environnements critiques
  • Implémenter un système basé sur Xenomai ou LinuxRT dans des environnements critiques
  • Personnaliser le boot, l’init système et optimiser le noyau pour des déploiements embarqués
  • Personnaliser le boot, l’init système et optimiser le noyau pour des déploiements embarqués

Programme détaillé

Module 1 Module 1 : Architecture des systèmes embarqués
  • Différences entre système standard et embarqué
  • Étapes de boot d’un système Linux
  • Organisation mémoire, types de stockage
  • Architecture du noyau, sources et compilation
Module 2 Module 2 : Développement industriel sous Linux
  • Modes utilisateur vs superviseur
  • Licence open source et implications industrielles
  • Environnement de développement : GCC, GDB, Valgrind, etc.
  • IDE recommandés : Eclipse, VSCode, etc.
  • Compilation croisée et chaînes toolchain
Module 3 Module 3 : Ordonnancement temps réel souple
  • Précision temporelle et gestion des timers
  • Ordonnancement POSIX.1b : règles, configuration
  • Noyaux Linux 3.x à 6.x : évolutions RT
  • Threads, priorités, synchronisation, mutex
  • Gestion CPU, multitâche, préemption
Module 4 Module 4 : Temps réel strict avec Xenomai ou LinuxRT
  • Micro-noyaux : Adeos, Xenomai, RTAI
  • Vue d’ensemble et architecture de Xenomai
  • Installation, configuration et compilation avec Xenomai
  • API Xenomai, tâches réelles, timers, interruptions
  • Interruptions et synchronisation critique
  • Comparatif LinuxRT vs Xenomai (cas d’usage)
Module 5 Module 5 : Développement pour systèmes embarqués
  • Choix du noyau embarqué (Yocto, Buildroot, kernel light)
  • Bibliothèques minimalistes (Newlib, uClibc, DietLibC)
  • Interface utilisateur (CLI, directFB, miniGUI)
  • Configuration du chargeur (Grub, U-Boot)
  • Génération d’un système de fichiers allégé
Module 6 Module 6 : Personnalisation du boot
  • Étapes du boot : BIOS → bootloader → kernel → init
  • Init classique vs Systemd vs alternatives (BusyBox, OpenRC)
  • Scripts d’initialisation embarqués
  • Optimisation du temps de démarrage
  • Démarrage à partir de mémoire flash ou SD

Prérequis

  • Bonnes connaissances d’un système Linux/Unix
  • Expérience de la programmation en langage C

Public visé

  • Développeurs Linux/Unix intervenant en embarqué ou en automatisme
  • Ingénieurs système ou logiciel en environnement industriel
  • Techniciens d’étude ou développeurs en électronique embarquée

Modalités de la formation

  • 📍 Format : Mixte (présentiel + distanciel)
  • 📊 Niveau d'entrée : Intermédiaire
  • 👥 Effectif : 4 à 12 stagiaires (groupe restreint)
  • 🎯 Pédagogie : Apports théoriques, exercices pratiques, études de cas, projet fil rouge
  • ♿ Accessibilité : Formations accessibles aux personnes en situation de handicap. Contactez notre référent handicap.