Page 51 - Catalogue Formations 2024
P. 51
NOUVEAU AVANCÉ
DÉVELOPPER DES DRIVERS LINUX
EN
RÉALISABLE
ATELIER
EN ANGLAIS
FC9IO27 PRIX : 2 470 € DURÉE : 3 JOURS
DATES & LIEUX
P
Pauses et déjeuners offertsauses et déjeuners offerts
Du 19/06/2024 au 21/06/2024 à Paris INTERNET DES OBJETS, SYSTÈMES CONNECTÉS ET LEURS APPLICATIONS
Du 11/12/2024 au 13/12/2024 à Paris
PRÉSENTATION PUBLIC/PRÉREQUIS
La maîtrise du noyau Linux est nécessaire pour des projets Développeurs Linux, chefs de projets
industriels avancés qui doivent intégrer du matériel spécifique et Linux.
donc développer des drivers. La formation aborde : architecture,
Les participants doivent avoir une base
configuration et procédure de compilation du noyau Linux, puis
technique assez solide en utilisation
comment : développer des drivers pour les principaux cas d’usage,
de Linux comme plateforme de
maîtriser les ressources matérielles en utilisant les bus PCI ou développement, utilisation du « shell »
l’USB, ainsi que les “platform devices” dédiés à l’architecture ARM, Linux (bash) et avoir un bon niveau
notamment le concept du “device tree” et comment réaliser la mise en langage C afin de tirer pleinement
au point et le profiling du noyau et d’un driver à l’aide de GDB et profit de cette formation.
Ftrace.
RESPONSABLE(S)
OBJECTIFS Guillaume DUC
Enseignant-chercheur à Télécom Paris,
- Expliquer les principes du noyau Linux (architecture, compilation) spécialiste de la sécurité des systèmes
- Présenter l’API de développement du noyau : API de développement embarqués. Il est responsable de
module ; drivers en mode caractère, réseau et bloc ; prise en charge la filière d’enseignement Systèmes
des bus PCI, USB et “platform device” Embarqués et titulaire de la chaire
de recherche Connected Cars and
- Présenter les principes du “device tree”
CyberSecurity. Il intervient dans
- Déboguer et profiler le noyau et des drivers
de nombreux cours autour des
thématiques Linux embarqué (création
de distributions embarquées, pilotes de
PROGRAMME périphériques, etc.).
Présentation de Linux Drivers en mode réseau (net drivers) Pierre FICHEUX
- Architecture Linux (Unix) - Utilisation du réseau Linux
CTO de la division Smile ECS (Embedded
- Présentation de «systemd» - Présentation des pilotes réseau
- Utilisation des sources du noyau Linux : - Structures « net_device » et & Connected Systems). Auteur de 5
obtention du code source, configuration, « net device_ops » livres sur Linux embarqué (éditions
compilation native (x86) et croisée (ARM) - Structure « socket buffer » (SKB)
Eyrolles, de 2002 à 2017) et de livres
- Écriture/test pilote réseau factice « faketh »
blancs édités par Smile, consacrés aux
L’API du module du noyau
logiciels open source pour l’embarqué
- Rédaction d’un simple module « Hello Drivers en mode bloc (block drivers)
World » : fonctions « init » et « exit », - Driver en mode bloc vs. caractère et l’IoT (Linux embarqué, Android,
écrire un Makefile, chargement et - Nouveau framework « blk-mq » Linux RT). Il enseigne également le
déchargement du module à l’aide de (noyau Linux 5.x)
développement des drivers Linux, Linux
« kmod » - Écriture d’un simple pilote de bloc
embarqué et temps réel dans plusieurs
- Dépendances des modules (en utilisant un disque virtuel)
écoles d’ingénieurs.
- Utilisation des paramètres de module
Interagir avec l’espace utilisateur
Drivers en mode caractère (char drivers) - Limitation de l’approche du « device node »
- Module vs. pilote - Utilisation de « sysfs » MODALITÉS
- Catégories de pilotes (char, bloc, réseau) - Utilisation de « udev » PÉDAGOGIQUES
- Appels système d’un pilote char (open, - Écriture de règle udev
release, read, write, ioctl) - Utilisation de « udevadm »
Exposés théoriques et nombreux
- Enregistrement d’un pilote char
travaux pratiques, avec retours
- Utilisation des «classes» du noyau Débogage des pilotes
- Utilisation de l’interface CDEV - Utilisation de GDB dans l’espace noyau d’expérience d’experts dans l’industrie.
- Fonctions de verrouillage (« spinlock » et (QEMU/ARM) La formation a le gros avantage
« mutex ») - Débogage du noyau statique et d’un driver d’associer un TP à chaque concept
- Profilage noyau et pilotes avec Ftrace
présenté.
Gestion du matériel
La formation est basée sur une
- Allocation de mémoire
- Gestion des interruptions : ports d’E/S ACCÉDER À L’ENSEMBLE machine virtuelle (VirtualBox) ce qui
et accès mappé en mémoire, mappage garantit l’installation sur des PC Linux
mémoire (l’appel système «mmap»), DMA DU PROGRAMME EN LIGNE ou Windows. Elle peut être réalisée
- Écriture d’un pilote PCI générique FORMATIONS INTER-ENTREPRISES SYSTÈMES EMBARQUÉS
sur place, à distance ou de manière
- Écriture d’un pilote USB simple (HID)
hybride.
- Utilisation de l’API de périphérique
pilote de la plate-forme pour les La plupart des TP sont réalisés sur
systèmes embarqués : présentation du architecture x86. Les TP liés à l’architecture
« device tree » - DT (avec la plateforme ARM sont réalisés sur QEMU.
QEMU/ARM), syntaxe et exemples DT,
utilisation de «configfs» pour charger une
superposition DT
contact.exed@telecom-paris.fr | executive-education.telecom-paris.fr | Appelez le 01 75 31 95 90 51