Linux embarqué

Linux industriel, temps réel et embarqué

Objectifs pédagogiques

  • 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

Programme de la formation

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.

MOYENS PÉDAGOGIQUES ET TECHNIQUES D’ENCADREMENT DES FORMATIONS

Modalités pédagogiques :

  • Évaluation des besoins et du profil des participants.
  • Apport théorique et méthodologique : séquences pédagogiques regroupées en différents modules.
  • Contenus des programmes adaptés en fonction des besoins identifiés pendant la formation.
  • Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de travaux pratiques, étude de cas et mise en situation.
  • Méthodes expositive, active et participative.
  • Réflexion et échanges sur cas pratiques.
  • Retours d'expériences.
  • Corrections appropriées et contrôles des connaissances à chaque étape, fonction du rythme de l’apprenant mais également des exigences requises au titre de la formation souscrite.

Éléments matériels :

  • Mise à disposition des outils nécessaires au bon déroulement des travaux pratiques.
  • Support de cours au format numérique projeté sur écran et transmis au participant en fin de la formation.

Référent pédagogique et formateur :

  • Chaque formation est sous la responsabilité du directeur pédagogique de l’organisme de formation.
  • Le bon déroulement est assuré par le formateur désigné par l’organisme de formation.
MOYENS PERMETTANT LE SUIVI ET L’APPRÉCIATION DES RÉSULTATS
  • Feuilles de présences signées des participants et du formateur par demi-journée.
  • Attestation de fin de formation mentionnant les objectifs, la nature et la durée de l’action et les résultats de l’évaluation des acquis de la formation.
Please login to get access to the quiz
Systèmes embarqués, programmation assembleur ARM (Prev Lesson)
(Next Lesson) Hyperviseurs et Linux temps réel
Back to Linux embarqué
Public

Développeurs Linux/Unix.

Pré-requis

Bonnes connaissances du langage C et du système Linux.

Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en effectuant le test disponible en bas de cette page.

Lieu de formation

Intra-entreprise/à distance

Dates ou période

À définir. Nous consulter

Tarif

Sur devis. Merci de nous contacter

Modalités

Pour s’inscrire à notre formation, veuillez nous contacter par mail ou téléphone.

Démarrage de la formation sous deux semaines (délai indicatif).

Nous contacer
Informations complémentaires

Pour toute réclamation, aléas ou difficultés rencontrés pendant la formation, veuillez prendre contact avec notre organisme par téléphone ou par e-mail. Nous mettrons tout en œuvre pour trouver une solution adapter.

Formation synchrone, réalisée à distance en visioconférence via l’application Microsoft Teams ou en présentiel dans les locaux du client.