réf : SYT-LDP
Objectif de formation : Maîtrisez le développement de pilotes robustes adaptés à différentes distributions Linux. De l’accès au matériel à l’utilisation de l’interfaçage asynchrone, vous explorerez les défis de l’écriture d’un pilote et comment il diffère des autres langages de programmation. Ce cours est conçu pour les développeurs qui sont familiers avec le C et qui veulent en savoir plus sur la programmation du noyau.
Bases solides sur Linux/Unix, Compétences en programmation C
Développeurs Linux/Unix…
Travaux pratiques
Compilation et installation d’un noyau 3.x.
Travaux pratiques
Installation de l’ensemble des outils et des sources pour la conception d’un module. Paramétrage vers le chargement automatique de module au boot. Déploiement et test de modules simples
Travaux pratiques
Conception d’un module de création de thread noyau lors de l’insertion et déchargement lors du rmmod. Ecriture d’un module d’horodatage d’événements à haute précision. Ecriture d’un module d’information sur les structures internes des processus.
Travaux pratiques
Usage des timers et des estampilles & implémentation d’un accès au procfs. Mise en œuvre de l’allocation mémoire dans le noyau et optimisation à l’aide des slabs.
Travaux pratiques
Rédaction progressive d’un pilote périphérique en mode caractère. Implémentation des synchronisations d’entrée-sortie entre threads et avec la routine d’interruption. Implémentation de l’allocation mémoire.
Travaux pratiques
Implémentation d’un bus, d’un driver et d’un device driver. Adaptation du pilote de périphériques caractère. Exemple d’utilisation de l’interface.
Travaux pratiques
Exemple de pilote complet de périphérique virtuel. Exemple d’un système de fichiers personnalisé.
Travaux pratiques
Exemple de driver réseau pour périphérique virtuel & implémentation de protocole réseau
Travaux pratiques
Enregistrement d’un driver USB & écriture d’un driver en mode isochrone
Professionnel expert technique et pédagogique