+ +
- -
Systèmes d'Exploitation
Calendrier  Détails
Programmation
 
Calendrier  Détails
Processeurs ARM
 
Calendrier  Détails
Processeurs PowerPC
 
 
 
 
Calendrier  Détails
Communications
 
 
Calendrier  Détails
+ +
> >
- -

Dernières Nouvelles

Contrôle moteur par des gestes avec System Workbench for Linux sur un MCU STM32MP1 (présentation vidéo)

Workshop gratuit Linux Embarqué avec System Workbench for Linux le 24 Septembre 2019 à Lyon Saint-Priest, avec ARROW

 
ac6 >> ac6-training >> Systèmes d'Exploitation >> Linux >> Drivers USB Linux Télécharger le catalogue Télécharger la page Ecrivez nous Version imprimable

D8 Drivers USB Linux

Ecriture de drivers USB-2.0 et USB-3.0 sous Linux

Ecriture de drivers USB-2.0 et USB-3.0 sous Linux
formateur
Objectifs
  • Apprendre à créer des drivers device et gadgets pour USB-2.0 et USB-3.0
    • Explorer la richesse de Linux concernant les drivers USB hôte.
    • Comprendre le support Linux des gadgets USB.
    • Découvrir le support du standard OTG (2.0 et 3.0)
  • Comprendre les spécificités du noyau Linux dans la gestion des devices et des drivers.
  • Savoir paramétrer le noyau Linux à la compilation et en fonctionnement pour une gestion optimale du hotplug.
    • Comprendre comment sont générés les événements hotplug et savoir les utiliser dans l'écriture de ses drivers.
    • Installer et utiliser les projets externes hotplug : Udev, libusb, etc...
  • Connaître les évolutions de Linux jusqu'au noyaux 2.6.3ç et 3.x.
  • Maîtriser les techniques de debugging noyau.
Nous utilisons un noyau Linux récent, disponible sur www.kernel.org ou fourni avec la distribution Linux utilisée
Matériel
  • Un pc par binôme
  • Une carte cible par binôme
  • Support de cours
Pré-requis
  • Bonne pratique de la programmation en C sous Linux.
  • Connaissance de la programmation Linux kernel (niveau cours D3)

1er jour
Programmation noyau (rappels)
  • Le développement de module noyau.
  • Les objets du noyau.
  • Le système de fichier sysfs.
Exercise :  Ecriture d'un module noyau illustrant la création et l'utilisation des ksets et kobjs.
Hotplug
  • Hotplug Kernel : Les uevents
  • Hotplug Utilisateur : Udev
  • Hotplug Utilisateur : Hal et Dbus
Exercise :  Ecriture d'un module noyau émettant ses propres événements hotplug.
Exercise :  Compilation croisé, paramétrage et utilisation de l'outil Udev.
2ème jour
Devices et Drivers
  • Le modèle device/driver sous Linux.
  • Les classes et types de périphériques.
  • Les types de bus.
  • Devices & drivers génériques.
  • Devices & drivers système.
  • Devices & drivers plate-forme.
Exercise :  Ecriture d'un device et d'un driver plate-forme illustrant les mécanismes de matching interne.
Drivers USB
  • Le bus USB.
  • Les périphériques USB.
  • L'interface utilisateur USB.
  • Les descripteurs USB.
  • Les requêtes USB.
  • Les pilotes USB.
Exercise :  Ecriture d'un module noyau usb illustrant l'utilisation des urbs.
Exercise :  Ecriture d'un version du même module utilisant les requêtes usb synchrones.
3ème jour
La libUSB
  • Les bibliothèques libUSB.
  • La libUSB 0.1.12.
  • La libUSB 1.0
Exercise :  Compilation croisée de la libusb.
Exercise :  Ecriture d'un driver usb tournant dans l'espace utilisateur.
Drivers USB gadget
  • Les pilotes gadget USB.
  • Les pilotes gagdet USB composites.
  • Les pilotes gadget USB OTG.
Exercise :  Ecriture d'un driver gadget coté cible et du driver correspondant coté pc.