Organisme de Formation aux technologies et métiers de L'informatique
linux

Formation Linux industriel, temps réel et embarqué

Informations générales

LXT
4 jours (28h)
2 890 €HT
repas inclus

Objectifs

Après ce cours, vous serez capable de :

  • Découvrir les outils de développement industriel sous Linux
  • Maîtriser les mécanismes d'ordonnancement temps partagé et réel souple
  • Accéder au développement temps réel strict avec l'extension LinuxRT ou Xenomai
  • Personnaliser le boot d'un système Linux

Public

Ce cours s'adresse avant tout aux personnes suivantes :

  • Développeurs Linux/Unix.

Prérequis

Pour suivre ce cours, vous devez déjà posséder les connaissances suivantes :

  • Bonnes connaissances d'un système Linux/Unix et de la programmation en C.

Programme de la formation

Vous découvrirez dans cette formation l'architecture générale d'un système embarqué et mettrez en œuvre les outils de développement industriel disponibles librement sous Linux. Vous implémenterez les mécanismes d'ordonnancement temps partagé et réel souple, vous accéderez au développement temps réel strict avec l'extension LinuxRT ou Xenomai. Vous verrez enfin comment personnaliser le boot d'un système Linux.

Architecture

  • Système informatique ordinaire et système embarqué.
  • Contraintes d'un système embarqué.
  • Architecture générale d'un système embarqué.
  • Démarrage du système, étape de boot.
  • Architecture du noyau Linux. Emplacement des sources.
  • Démarrage du système, phases de boot (code dépendant, commun).
  • Travaux pratiques   Détection d'erreur à la compilation, à l'édition des liens, utilisation d'Eclipse/CDT, utilisation d'une chaîne de compilation croisée. Débogage. Détection des fuites mémoire et des débordements de buffers. Test de couverture sur l'exécution d'une application.

Développement industriel sous Linux

  • Environnement Linux.
  • Mode de fonctionnement : utilisateur, superviseur.
  • Licences et implications pour le développement industriel.
  • Outils de développement libres (compilateur, debugger, outils d'analyse, de trace et de tests).
  • Les différents IDE (Integrated Development Environment) : Eclipse...
  • Méthodes de compilation avancées.
  • La chaîne de compilation croisée.
  • La gestion de mémoire.
  • La détection des fuites mémoire.
  • Le débordement de buffers.

Ordonnancement temps partagé et réel souple

  • Précision des mesures horaires et des attentes.
  • Ordonnancement temps partagé. Les règles de la préemptibilité.
  • Le fonctionnement général de l'ordonnanceur, priorités et partage du CPU.
  • Quand le noyau devient-il préemptible ?
  • Gestion du temps et précision des timers.
  • Temps réel souple Posix.1b : principes.
  • Configuration de l'ordonnancement des processus et des threads.
  • Problèmes algorithmiques liés au temps réel.
  • L'ordonnanceur Linux : noyaux 3.x
  • Travaux pratiques   Création et gestion de processus. Priorités et partage du CPU. Examen du fonctionnement de l'ordonnanceur. Basculement de processus en temps réel. Vérification de la précision des timers et des sommeils.

Temps réel strict - Extension Xenomai

  • Principe du temps réel strict.
  • Vue d'ensemble de l'extension Xenomai.
  • Concepts de temps réel strict : principe des micro-noyaux Adeos, Xenomai, LinuxRT.
  • Installation et API de Xenomai.
  • Utilisation de l'extension LinuxRT.
  • Ordonnancement temps réel strict en mode utilisateur.
  • Interruptions (activation, désactivation...).
  • Protection contre les interruptions.
  • Gestion des communications.
  • Présentation de l'API de Xenomai, installation de Xenomai.
  • La gestion des tâches temps réel strict.
  • Travaux pratiques Installation de Xenomai. Création de tâches temps réel strict. Gestion des communications. Ecriture d'un gestionnaire d'interruption, de processus ordonnancé en temps réel strict. Installation et utilisation de Xenomai.

Environnements restreints, systèmes embarqués

  • Problématique des systèmes embarqués.
  • Système LinuxRT, Xenomai : API, développement.
  • Linux embarqué : choix d'une version du noyau.
  • Bibliothèques système (Newlib, DietLibc).
  • Applications et utilitaires à embarquer.
  • Interface utilisateur.
  • Interfaces graphiques optimisées (directfb, etc).
  • Présentation et configuration d'un chargeur de démarrage.
  • Générer un noyau réduit. Généralité sur le système de fichiers.
  • Installation de la chaîne de compilation.
  • Travaux pratiques   Installation, compilation d'une application personnalisée LinuxRT, Xenomai et d'un noyau de taille réduite. Création d'un système de fichiers. Incorporation d'applications minimales. Ecriture d'application utilisant une interface par Leds ou afficheur LCD. Installation d'un serveur HTTP embarqué.

Personnalisation du boot du système

  • Les différentes phases de boot (mise sous tension, Bios, chargeur (Grub, UBoot...) du noyau.
  • Le rôle du processus Init. Le niveau d'exécution.
  • Le contenu du processus Init.
  • Le remplacement du processus Init par une version personnalisée.
  • Initialisation depuis l'espace utilisateur.
  • Travaux pratiques   Création et personnalisation d'un disque initrd. Remplacement du processus Init par une version personnalisée et remplacement par un script Shell.
plus d'infos

Méthode pédagogique

Les nombreux exercices et études de cas progressifs sont réalisés sur un réseau de serveurs Linux. Tous les programmes réalisés en TP existent sous forme de squelettes que les participants complètent eux-mêmes.

Méthode d'évaluation

Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.

Suivre cette formation à distance

  • Un ordinateur avec webcam, micro, haut-parleur et un navigateur (de préférence Chrome ou Firefox). Un casque n'est pas nécessaire suivant l'environnement.
  • Une connexion Internet de type ADSL ou supérieure. Attention, une connexion Internet ne permettant pas, par exemple, de recevoir la télévision par Internet, ne sera pas suffisante, cela engendrera des déconnexions intempestives du stagiaire et dérangera toute la classe.
  • Privilégier une connexion filaire plutôt que le Wifi.
  • Avoir accès au poste depuis lequel vous suivrez le cours à distance au moins 2 jours avant la formation pour effectuer les tests de connexion préalables.
  • Votre numéro de téléphone portable (pour l'envoi du mot de passe d'accès aux supports de cours et pour une messagerie instantanée autre que celle intégrée à la classe virtuelle).
  • Selon la formation, une configuration spécifique de votre machine peut être attendue, merci de nous contacter.
  • Pour les formations incluant le passage d'une certification la dernière journée, un voucher vous est fourni pour passer l'examen en ligne.
  • Pour les formations logiciel (Adobe, Microsoft Office...), il est nécessaire d'avoir le logiciel installé sur votre machine, nous ne fournissons pas de licence ou de version test.
  • Horaires identiques au présentiel.

Mis à jour le 08/11/2023