Linux embarqué : Développement de pilotes de périphériques - Module avancé
Participants
Durée
Formation pour
enseignement
Cible
Objectifs
L’objectif de cette formation de perfectionnement (module avancé) sur les « Systèmes Embarqués » est d’offrir aux participants un bagage de connaissances complet afin d’être en mesure de définir, de mettre en place et de gérer un système embarqué développé avec l’architecture Linux des Pilotes pour périphériques.
L'objectif est de créer des pilotes Linux pour des périphériques, des cartes ou de l'électronique embarquée qui peuvent ensuite être utilisés pour le développement d'applications embarquées tels que des capteurs ou de la communication entre machines.
Prérequis
Connaissance utilisateur Linux ou à défaut UNIX.
Notions de langage C.
Remarque : Les connaissances ou la participation à la formation Linux embarqué : Développement de pilotes de périphériques - Module de base est conseillée pour suivre cette formation.
Programme
Mise en œuvre de Linux sur cible ARM9
Les manipulations s'effectueront sur l'émulateur QEMU/ARM9 et sur des cartes à base de processeur ATMEL (AT91RM9200) ou SAMSUNG (S3C2410).
Les points abordés seront les suivants:
• Mise en place de l’environnement de développement GNU
• Compilation d'un noyau Linux pour carte Versatile-PB émulée par QEMU
• Création du root-filesystem à base de busybox.
• Utilisation de INITRAMFS
• Introduction au bootloader U-boot: principes, commandes
• Adaptation du noyau à l'architecture de la carte: patch AT91RM9200 + patch spécifique à la carte
• Utilisation de NFS-Root
• Pilote flash Linux (MTD), utilisation avec le système de fichiers JFFS2 sur flash NOR et NAND
• Utilisation de Buildroot
Introductions aux pilotes de périphériques sous Linux :
• L'API des modules Linux
• Utilisation des commandes insmod, rmmod, lsmod, modinfo
• Installation d'un module et dépendance des modules: utilisation de modprobe
• Utilisation de /proc et /sys
• Structure générale d'un pilote
• Les différents types de pilotes: caractère, bloc, réseau
• Le répertoire /dev
• Mode caractère: la structure file_operations
• Les méthodes open(), release(), read(), write(), ioctl()
• Echange de données: copy_from_user() et copy_to_user()
• Test de pilote en compilation croisée ARM9
• Périphériques PCI et Présentation de l'API
• Manipulation des zones mémoire PCI (BAR = Base Address Register, ...)
• Exemple de pilote générique de lecture de BAR
• Périphériques USB (Introduction au bus USB, pilote d'un bouton d'urgence USB)
• La bibliothèque libusb
Lieu
Date(s)
Contact
Contact entreprise

Olivier Matz
Chargé relations entreprises du Pôle Numérique
Tel: 04 382 44 62
formationentreprises@technifutur.be

Olivier Matz
Chargé relations entreprises du Pôle Numérique
Tel: 04 382 44 62
formationentreprises@technifutur.be
Contact enseignement

Ophélie Pardini
Coordinatrice
Tel: 04 382 45 93
ophelie.pardini@technifutur.be