v2.11.0 (5491)

Enseignement scientifique & technique - SE758 : Développement de Pilotes de Périphériques pour Noyau Linux

Domaine > Informatique.

Descriptif

De nombreux systèmes embarqués se basent sur le noyau Linux. Dans certains cas, il est nécessaire de développer un nouveau pilote de périphérique (par exemple lors du développement d’une nouvelle IP) ou d’être capable de maintenir un pilote existant et de le faire évoluer en fonction des besoins. Cette UE vise à apprendre aux étudiants à développer un tel pilote de périphérique, à l’interfacer avec le matériel et les applications et à l’intégrer dans les sources du noyau.
Tout au long de l’UE, les étudiants sont amenés à développer des petits pilotes pour différents types de périphérique (accéléromètre I2C, IP dédiée, etc.) afin de mettre en pratique les connaissances théoriques abordées.
L’UE est centrée sur le noyau Linux mais de nombreux concepts abordés sont applicables à d’autres systèmes d’exploitation.

Objectifs pédagogiques

  • Être capable d’écrire un pilote de périphérique pour le noyau Linux
  • Être capable d’intégrer ce pilote dans les sources du noyau
  • Connaître les spécificités du développement pour le noyau (espace noyau vs. espace utilisateur, outils disponibles, débogage…)
  • Connaître les abstractions utilisées dans le noyau pour les pilotes (modèle de périphérique, frameworks pour la communication avec les applications…)
  • Connaître les différents mécanismes d’interaction avec le matériel (utilisation des bus de communication, interruptions, DMA…) et savoir les utiliser
  • Connaître comment un pilote interagit avec le noyau (gestion mémoire, ordonnancement, attente…)
  • Connaître les mécanismes de communication avec les applications (appels systèmes, transfert de données…)
  • Connaître le processus de développement du noyau et la communauté

28 heures en présentiel
réparties en:
  • TP ou TD de Formation Continue : 18
  • Cours de Formation Continue : 10

effectifs minimal / maximal:

5/25

Diplôme(s) concerné(s)

Pour les étudiants du diplôme Systèmes embarqués

  • Maîtrise du langage C
  • Usage d'un système Linux (aisance avec l'usage de la ligne de commande, des outils de développement classiques...)

Format des notes

Numérique sur 20

Littérale/grade européen

Pour les étudiants du diplôme Systèmes embarqués

Vos modalités d'acquisition :

L’évaluation se base sur le rendu des pilotes de périphériques que les étudiants ont à développer durant l’UE pour mettre en pratique les concepts théoriques.

Le rattrapage est autorisé (Max entre les deux notes)
  • le rattrapage est obligatoire si :
    Note initiale < 6
  • le rattrapage peut être demandé par l'étudiant si :
    6 ≤ note initiale < 10
L'UE est acquise si Note finale >= 10
  • Crédits ECTS acquis : 2.5 ECTS

Programme détaillé

  • Découverte du noyau (Introduction, Installation et promenade dans le noyau, écriture et compilation d’un premier module, particularités du développement noyau, mise en place de l’environnement de développement et test du premier module)
  • Communiquer avec le matériel (modèle générique de périphérique, gestion de la mémoire, pratique : écrire un pilote pour un périphérique I2C)
  • Communiquer avec les applications (interface avec les applications : bas-niveau et frameworks, ordonnancement des tâches et attente, pratique : interfacer le pilote avec une application)
  • Passage à l’échelle (interruption, concurrence, pratique : amélioration du pilote)

Mots clés

Linux, Device driver, Pilote de périphérique, Noyau, Interruptions
Veuillez patienter