|
Formation aux drivers sous Linux 2.6
drivers sous Linux 2.6
Objectifs
Cette formation permet de vous permettre de devenir rapidement autonome
dans l'écriture de drivers sous Linux et d'apprendre
à connaître les différents outils utiles pour la mise en oeuvre et le
deboggage du noyau et des pilotes de périphériques.
Sont abordées les themes suivants:
- caractéristiques et architectures du systèmes Linux.
le chargement, le BSP, l'initialisation du noyau
- l'interface systèème / drivers: le VFS
- l'écriture de drivers sous forme de modules
- la gestion mémoire spécifique pour les périfériques, DMA
- la gestion des threads noyau et les mécanismes de synchronisation, barrières, spinlocks, sémaphores (mutex).
- les files systèmes, le VFS
- Linux 2.6 driver framework et la gestion du hotplug et de l'énergie
Pré-requis
Bonnes connaissance des systèmes d'exploitation et de la programmation en C.
De préférence, bonnes connaissance de Linux.
la gestion mémoire spécifique pour les périfériques, DMA
les files systèmes, le VFS
Linux 2.6 driver framework et la gestion du hotplug et de l'énergie
Présentation du noyau
- Récupération du noyau et architecture des sources
- L'architecture générale du noyau Linux
- Le BSP, présentation des différentes architectures matérielles
- L'initialisation du noyau, du boot-loader au process 1: init.
- Les modules noyau
- Ajouter un module au noyau
- Travaux Pratiques:
Téléchargement du noyau, configurer un noyau Linux,
ajouter un module au noyau.
L'interface systèème / drivers: le VFS
- Les "file operations": l'interface VFS / drivers
- Enregistrement d'un driver auprès du système d'exploitation
- Enregistremenyt d'une routine d'interruption
- Travaux Pratiques:
Ecriture d'un module noyau avec interface VFS et routine d'interruption.
Drivers, threads et synchronisations
- synchronisation thread et routine d'IT, spinlocks, masquage d'interruptions
- threads utilisateurs et threads noyau, le scheduleur, les wait queues
- synchronisation de threads, mutex, SMP, barrières.
- effectuer des tâches différées: softirqs, workqueues, tasklets
- Travaux Pratiques:
Ecriture d'un thread noyau, deporter un travail dans une workqueue.
Utiliser une softirq dans une routine d'interruption.
L'adressage mémoire, les processus, les interruptions
- Mesure du temps, temporisations, timers, date et heure
- Le DMA sous Linux, allocation mémoire
- Travaux Pratiques:
Ecrire un driver utilisant les timers, les softirqs et les waitqueues.
Le driver frameworks
- Architecture des drivers sous Linux 2.6
- Le hotplug, la gestion de firmware
- Gestion de l'énergie dans le noyau.
- Les architectures specifiques, PCI, réseau, USB, SPI, video, audio, Caractère et bloc.
- Travaux Pratiques:
Utiliser l'interface hotplug et le chargement de firmaware depuis l'espace utilisateur.
Modifier un driver linux pour ajouter la gestion d'énergie, intégrer la gestion d'énergie avec APM
Participants
Cette formation est adaptée aux techniciens et ingénieurs,
désirant développer des pilotes de périphérique
pour Linux 2.6 .
Matériel mis à disposition des participants
Les travaux pratiques du stage Linux embarqué sont réalisés sur:
- Ordinateur portable ou station de travail sous Slackware ou Debian (RedHat ou Fedora sur demande(*)).
(*) Attention ces modifications peuvent entrainer une modification des
themes abordés.
Mis en place des sessions
- Nombre de participants: Le nombre de participant
est limité à 8 par session
- Formateurs:
Nos formateurs sont tous des ingénieurs expérimentés,
ayant plus de 10 ans de pratique du noyau Linux et de l'écriture de périphériques.
- Sessions spéciales:
Organisation de sessions en intra-entreprise sur demande. Dans ce cas nous
pouvons adapter la formation à vos besoins précis.
Inscrivez-vous pour une session
MNIS est agréé pour les formations d'entreprise,
la déclaration d'activité est enregistrée sous le numéro
11 75 43153 75 auprès du préfet de région d'Ile de France.
Envoyez-nous un email, indiquant la formation et les dates
que vous avez retenues et nous contacterons pour finaliser
avec vous votre inscription.
Cliquez pour cela sur l'icône à droite...
|
|
Consultez nos
références -
contactez-nous à
mnis@mnis.fr.
|