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
   46   47   48   49   50   51   52   53   54   55   56