+ +
- -
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-training >> Systèmes d'Exploitation >> Android >> Power Management, Hotplug et Drivers USB Télécharger le catalogue Télécharger la page Ecrivez nous Version imprimable

D7 Power Management, Hotplug et Drivers USB

Ecriture de drivers Linux pour le hotplug et la gestion de l'energie

Ecriture de drivers Linux pour le hotplug et la gestion de l'energie
formateur
Objectifs
  • Savoir paramétrer le noyau Linux à la compilation et en fonctionnement pour une gestion optimale du hotplug et du power-management.
  • Comprendre les spécificités du noyau Linux dans la gestion des devices et des drivers.
  • Comprendre comment sont générés les événements hotplug et savoir les utiliser dans l'écriture de ses drivers.
  • Comprendre comment Linux gère le power-management
    • pour écrire des drivers s'intégrant dans ce schéma
    • pour optimiser les modes basse consommation
  • Installer et utiliser les projets externes hotplug et PM : Udev, libusb, etc...
  • Explorer la richesse de Linux concernant les drivers USB hôte, gagdet et otg.
  • Connaître les évolutions de Linux jusqu'au noyau 2.6.30.
  • Maîtriser les techniques de debugging noyau avec les sondes jtag Lauterbach.
Les exercices se font sur des cartes cibles :
    Carte à base de processeur ARM9 d'Atmel, avec sonde JTAG Lauterbach.
Nous utilisons le dernier noyau disponible sur www.kernel.org

Les exercices se font en utilisant l'environnement de développement intégré System Workbench for Linux - Basic Edition.

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.
Power-management : APM et ACPI
  • Le standard APM.
  • Le standard ACPI.
Exercise :  Ecriture d'un programme simple illustrant les possibilités d'extinction de la machine.
Power-management, suspension et hibernation
  • Le PM dans les drivers.
  • Le gel des tâches.
  • Suspension en ram.
  • Suspension sur disque - Hibernation.
  • Debugging.
Exercise :  Ecriture d'un module noyau illustrant la suspension en ram et le réveil de la machine.
3ème jour
Les governors cpufreq
  • L'interface utilisateur.
  • Les governors cpufreq.
Les governors cpuidle
  • La tâche Idle.
  • Les devices cpuidle.
  • Les governors cpuidle.
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.
4è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.