Contenu
Cette formation aborde les concepts du développement sous Linux par l’étude :
-des chaînes de développement GNU/Linux,
-des spécificités du système linux et de son noyau,
-du développement de pilotes de périphériques.
Objectifs
Ce stage permet aux développeurs en informatique de maîtriser les concepts et les outils de développement croisé d’applications et de modules (drivers) GNU/Linux sur système industriel et cible embarquée.
Programme
1ière Journée :
Linux – Chaîne de développement croisé
- Méthodes, outils et chaîne de développement croisé, binutils, glibc, etc…
- Makefile, Compilateur et débuggeur GNU
- Mise au point par port série et TCP/IP
Linux – Programmation système
- Processus Linux et signaux POSIX
- Inter Processus Communication system V et pipe
- Threads et Ordonnanceur Linux
- Organisation et gestion de la mémoire virtuelle sous linux
Travaux pratiques
- Installation et configuration d’une chaîne de développement croisé pour cible ARM 9
- Optimisation de compilation et mise en œuvre du débuggeur distant
- Exercice de programmation des processus/threads synchrones et asynchrones
2ième Journée :
Noyau Linux - Présentation
- Vue d'ensemble du système et rôle du noyau
- Historique, numérotation des versions
- Architectures matérielles supportées - Support processeurs et File system
- Noyau 2.6 et systèmes embarqués
Noyau Linux – Configuration et Compilation
- Structure des sources et modules du noyau
- Optimisation - Patches low-latency, préemptifs
- Fichiers utilisés par les outils de configuration
- Configuration et Compilation
Services et configurations pour le débuggeur Kernel Mode
- Console série
- LTT : Linux Trace Toolkit - KGDB
Développement de pilotes
- Pilotes de périphériques sous Linux
- Contraintes de programmation
- Chargement, déchargement de modules
- Un module simple
Travaux pratiques
- Exercice et débuggage des allocations mémoire
- Compilation de noyau optimisé pour le cross développement sur cible ARM 9
- Mise en oeuvre de LTT
3ième Journée :
Développement de pilotes (suite)
- Paramètres de modules
- Dépendances entre modules
- Ajout de sources à l'arborescence du noyau
- Mise au point du noyau
- Gestion de la mémoire en kernel mode
- Accès aux registres et à la mémoire d'E/S
- Pilotes de type caractère
Développement avancé de pilotes
- Mise en sommeil, interruptions, mmap, DMA
- Nouvelle représentation des périphériques (Kernel 2.6), sysfs
- Fichiers de périphériques dynamiques avec udev
Hardware et pilotes de périphérique
- E/S Série, //…
- Frame Buffer, Touchpad
- Ethernet, Wifi, Bluetooth…
- Extensions PCMCIA, PC104…
- Réseau de terrain, I²C, CAN, …
- Support Audio et Vidéo
Travaux pratiques
- Création et installation d’un pilote de périphérique PC104 de type caractère sur cible GEODE x86
- Traitement d’interruption matérielle en Kernel mode sur port E/S
Participants
La formation est adaptée aux développeurs en informatique et techniciens débutants dans le domaine de l’informatique Open Source, confrontés aux problèmes de portage d’applications de contrôles industriels et del’embarqué sous OS GNU/Linux. Une maîtrise du langage C est nécessaire.
Modalités
- Durée : 3 jours
- Formateurs : Universitaires et Professionnels
Supports de formation
- Classeur de cours
- CD-ROM sources des exercices
Sessions spéciales
Organisation de session en inter-entreprises sur demande à partir de 4 personnes.
Possibilité de session en intra-entreprise (sur mesure).
Calendrier et tarifs, nous consulter