+ +
- -
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
+ +
> >
- -

 
ac6 >> ac6-formation >> Systèmes d'Exploitation >> Android >> 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
  • Une sonde jtag Lauterbach par binôme
  • Support de cours
  • CDROM avec documentation et exercices corrigés
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.