picto Unix - Linux - Mac Os

Formation Linux Embarqué

Référence

ULEM

Durée

3 JOURS

Tarif

1690 € HT

NIVEAU

Débutant

Cours à distance

Non

Objectifs de la formation Linux Embarqué

L’utilisation de Linux dans les environnements embarqués sur des systèmes retreints 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 œuvre des services et applications utilisateurs.

Cette foramtion 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é.

Pré-Requis

L’utilisation de Linux dans les environnements embarqués sur des systèmes retreints 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 œuvre des services et applications utilisateurs.

Cette foramtion 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é.

Public

Contenu du cours Linux Embarqué

Linux en environnement industriel

Linux, logiciels libres, licencesPré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 CDTEnvironnement de développement intégré. Création de projet, compilation et débogage. Compilation croisée avec Éclipse.
Travaux pratiquesUtilisation 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.

Espace noyau

Compilation du noyau LinuxPrincipe. Versions du noyaux Linux. Sélection et application d’un patch. Configuration et compilation pour une cible embarquée.
Installation sur cibleTransfert de l’image du noyau. Configuration du bootloader ou de l’émulateur. Paramètres de démarrage du kernel.
Système de fichiersTypes de système de fichiers. Formatage et préparation d’une arborescence. Fichiers spéciaux des périphériques. Principe du processus init.
Travaux pratiquesApplication 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 init personnel.

Espace utilisateur

Utilitaires systèmeBusybox, outil incontournable de l’embarqué. Scripts de démarrage. Édition des liens, bibliothèques statiques ou dynamiques.
Services réseauConfiguration des interfaces réseau. Utilitaires réseau essentiels. Affectation d’adresse statique ou dynamique (DHCP). Routage.
Débogage et mise au pointCompilation 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 pratiquesParamé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.

Aspects avancés

Paramétrage spécifiqueConfiguration de l’ordonnanceur. Affectation des tâches et des interruptions sur les CPU. Paramétrage de la mémoire virtuelle.
Services réseau supplémentairesConnexion sécurisée avec SSH, transferts de fichiers par SCP. Serveur web HTTP avec script CGI.
Industrialisation et extensionsAjustement 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 pratiquesVé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.

Conclusion

Discussions libres sur l’ensemble des thèmes abordés.
Travaux pratiquesExpérimentations libres suivant les demandes des participants.