Description de la formation Linux Embarqué
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 œuvre des services et applications utilisateurs.
Il existe aujourd’hui deux approches pour construire un système embarqué : l’utilisation de Buildroot ou celle de Yocto Project.
Cette formation est orientée autour de Buildroot, plus simple à maîtriser que Yocto.
La progression pédagogique est organisée autour d’une construction progressive d’une solution Linux embarqué pour carte à processeur ARM.
Objectifs
Objectif opérationnel:
Construire progressivement une solution Linux embarqué pour carte à processeur ARM
Objectifs pédagogiques:
Concrètement à l’issue de cette formation Linux embarqué vous serez en mesure de :
- Créer un système Linux embarqué
- Personnaliser un système embarqué (ajustement du système, des services, du réseau, paramétrage du noyau)
- Savoir développer du code métier
À qui s’adresse cette formation ?
Public :
Cette formation cible principalement les développeurs.
Prérequis :
Pour suivre ce cours dans de bonnes conditions il vous faut avoir certaines connaissances de Linux (utilisateur) et du langage C.
Contenu du cours Linux Embarqué
Créer un système Linux embarqué
Linux embarqué
Spécificités du développement embarqué, architectures, cross-compilation, build systems, utilisation de Buildroot
Composition d’un système Linux embarqué
Aspects matériels, composants logiciels, noyau, drivers, espace utilisateur
Boot du système
Firmware, bootloader, kernel, processus init, partitionnement, démarrage des services du système
Travaux pratiques
Utilisation de Buildroot pour créer une première image et test sur la plateforme cible
Personnalisation d’un système embarqué
Configuration du système avec Buildroot
Utilisateurs et mots de passe, messages, arborescence, ajouts de scripts personnalisés, configuration de Busybox, ajout de commandes
Paramétrage du réseau
Configuration statique ou utilisation de DHCP, Services SSH, HTTP, NTP
Noyau Linux
Configuration du noyau Linux, choix des drivers, licences libres
Travaux pratiques
Paramétrage de Buildroot pour mettre en évidence chacun des éléments de configuration abordés
Développement du code métier
Outils de développement
Chaîne de compilation croisée, extraction et installation. Utilisation des makefiles, Débogage distant
Utilisation de GDB et GDBserver, débogage à distance, utilisation des fichiers core
Optimisation et mise au point
Outils gcov, gprof, strace, ltrace, valgrind…
Travaux pratiques
Utilisation de la chaîne de cross-compilation extraite de Buildroot. Débogage d’une application embarquée sur la plateforme cible. Utilisation des outils libres présentés.