Logo de la rubrique Linux Embarqué

Linux Embarqué

Pour connaitre les prochaines sessions de formation en Logiciel embarque et programmation cliquez ici.



L’utilisation de Linux dans les environnements embarqués sur des systèmes restreints nécessite une bonne connaissance des mécanismes sous-jacents, de la configuration du noyau, de l’organisation des bibliothèques et de la mise en oeuvre des services et applications utilisateurs. Ce cours vous propose de construire un système Linux complet en commençant sur émulateur puis en utilisant une carte à processeur ARM. De la configuration bas-niveau du système (drivers, ordonnanceur, système de fichiers...) aux applications utilisateur (serveurs, IHM, graphique...) en passant par les outils de mise au point et de débogage, vous découvrirez l’imbrication et le rôle de chaque composant de votre système Linux embarqué.

Programme :

Mercredi 21 novembre 2012

- 9h00-12h00 : Linux en environnement industriel

  • Linux, logiciels libres, licences
    Présentation des concepts, des principes et des pratiques. Projet Gnu.
    Noyaux et distributions Linux. Principes des GPL, LGPL, BSD... et implications pour
    l’embarqué.
  • Outils libres de développement embarqué
    Outils Gnu : compilation, débogage et mise au point. Plate-formes hôte et cible,
    processeurs et émulateur. Création d’une chaîne croisée avec Buildroot.
  • Éclipse et le CDT
    Environnement de développement intégré. Création de projet, compilation et débogage.
    Compilation croisée avec Éclipse.
  • Travaux pratiques
    Utilisation de GCC, effets des différentes options. Débogage dynamique et post-mortem avec GDB. Compilation et débogage de projet sous Eclipse. Création et utilisation d’une chaîne de compilation pour processeur Arm.

- 13h00-17h00 : Espace noyau

  • Compilation du noyau Linux
    Principe. Versions du noyaux Linux. Sélection et application d’un patch.
    Configuration et compilation pour une cible embarquée.
  • Installation sur cible
    Transfert de l’image du noyau. Configuration du bootloader ou de l’émulateur.
    Paramètres de démarrage du kernel.
  • Système de fichiers
    Types de système de fichiers. Formatage et préparation d’une arborescence.
    Fichiers spéciaux des périphériques. Principe du processus init.
  • Travaux pratiques
    Application d’un patch (Linux-rt) sur les sources du noyau.
    Configuration et compilation d’un noyau Linux pour cible Arm.
    Préparation d’un système de fichiers minimal et boot avec processus

Jeudi 22 Novembre

- 9h00-12h00 : Espace utilisateur

  • Utilitaires système
    Busybox, outil incontournable de l’embarqué. Scripts de démarrage. Édition des liens, bibliothèques statiques ou dynamiques.
  • Services réseau
    Configuration des interfaces réseau. Utilitaires réseau essentiels. Affectation d’adresse statique ou dynamique (DHCP). Routage.
  • Débogage et mise au point
    Compilation croisée d’applications personnalisées, de bibliothèques statiques et
    dynamiques. Débogage distant avec GDB et Eclipse. Tests en couverture et profiling.
  • Travaux pratiques
    Paramétrage et compilation de Busybox. Personnalisation des scripts de démarrage.
    Installation des serveurs Telnet et FTP. Débogage à distance et optimisation
    d’applications. Création de bibliothèques.

- 13h00-17h00 : Aspects avancés

  • Paramétrage spécifique
    Configuration de l’ordonnanceur. Affectation des tâches et des interruptions sur les CPU.
    Paramétrage de la mémoire virtuelle.
  • Services réseau supplémentaires
    Connexion sécurisée avec SSH, transferts de fichiers par SCP. Serveur web HTTP avec script CGI.
  • Industrialisation et extensions
    Ajustement d’horloge système avec NTP et PTP. Supervision distante par agent SNMP.
    Mise à jour, firmware. Développement sur la cible. Utilisation de la GlibC.
  • Travaux pratiques
    Vérification des paramètres temps-réel. Saturation mémoire et désactivation
    d’overcommit. Compilation et test de Dropbear, Boa, PTP. Comparaison de Crosstool-NG et Buildroot. Intégration d’un compilateur sur la cible.
    Discussions libres sur l’ensemble des thèmes abordés.
  • Travaux pratiques
    Expérimentations libres suivant les demandes des participants.

Les inscriptions sont closes. Pour connaitre les prochaines sessions de formation en Logiciel embarque et programmation cliquez ici.