LINUX - Programmation noyau, Device drivers, BSP
Transcription
LINUX - Programmation noyau, Device drivers, BSP
Descriptif de Formation - Ref:003154A - 21/02/2017 LINUX - Programmation noyau, Device drivers, BSP 4 jours Comprendre la gestion de la mémoire par Linux OBJECTIFS Comprendre comment les device drivers sont connectés au Comprendre les mécanismes utilisés dans le noyau Linux Comprendre comment ces mécanismes sont implémentés sur noyau Linux et programmer ces device drivers en utilisant les mécanismes vus précédemment les plateformes PowerPC Comprendre la séquence de boot de Linux et son FORMATIONS CONNEXES implémentation sur les PowerPC Programmer des drivers et les intégrer dans le noyau Linux. Le cours est divisé en présentations et travaux pratiques. Les LINUX - Concepts fondamentaux travaux pratiques permettent de mieux comprendre le contenu LINUX - Programmation utilisateur des présentations RTOS - Systèmes d'exploitation temps-réel et embarqués Configurer et construire une image noyau Linux Architectures Multicœurs Comprendre les différents types d'images noyau et de root Langage C pour les applications temps-réel et embarquées filesystems Comprendre la séquence de boot du noyau Linux et le code de bootstrap PARTENAIRES Démarrer une application après le boot du noyau Comprendre l'implémentation et l'initialisation Linux sur les processeurs PowerPC Créer et charger des modules dans le noyau PRÉREQUIS Utiliser les outils de debug pour debugger le noyau Comprendre les différents mécanismes de synchronisation et Expérience en programmation C d'exclusion mutuelle du noyau et leur implémentation sur les Connaissance de base des systèmes d'exploitation et des PowerPC techniques de debug Comprendre les exceptions et les interruptions et leur Connaissance des mécanismes des processeurs ou des micro- implémentation sur les PowerPC contrôleurs Connecter les gestionnaires d'interruption et d'exception et utiliser les mécanismes "bottom half " pour planifier les fonctions CONFIGURATIONS Utiliser les mécanismes "timer" pour attendre un délai, planifier les tâches périodiques, les événements datés Les travaux pratiques sont fait sous un environnement Linux Licences CHAPITRES Sources Noyau INSTALLATION, COMPILATION ET BOOT DU NOYAU LINUX INTRODUCTION Configuration noyau Espace Utilisateur, Espace Noyau Construction noyau BSP et Device Drivers Images noyau MVD Training - 106 avenue des guis - 31830 Plaisance du Touch - France Tel : +33 (0) 5 62 13 52 32 - Fax : +33 (0) 5 61 06 72 60 - www.mvd-training.com SIRET : 510 766 066 00029 - Identifiant TVA : FR 74510766066 - NAF : 8559A Déclaration d’activité enregistrée sous le n° 73 3105366 31 auprès du Préfet de région de Midi-Pyrénées 1 Descriptif de Formation - Ref:003154A - 21/02/2017 Gestion des exceptions La Bootline GESTION DES TIMINGS Le Root Filesystem Demarrage d'une application après le boot du noyau Linux Timers Linux Attente pendant un délai TRAVAUX PRATIQUES Configuration et compilation du noyau Linux Timestamping TRAVAUX PRATIQUES Boot du noyau sur la plateforme cible Lancement d'una application au boot Ecriture d'un gestionnaire d'interruption, connexion et activation Utilisation d'un root filesystem en RAM et d'un root filesystem du handler monté NFS Ecriture d'un BH et activation de celui-ci depuis un handler d'interruption GESTION DES MODULES Introduction Attente pendant un délai court et un délai long Ecriture de Modules Exécution de code périodique Timestamping haute résolution pour mesure de performances Construction des Modules Chargement et Déchargement de Modules DEBUG GESTION DE LA MEMOIRE Généralités Allocation mémoire de l'espace noyau printk Gestion des E/S /proc Gestion du cache gdb, remote gdb, kgdb Gestion du DMA Outils de traçage PROGRAMMATION DANS L'ESPACE NOYAU Généralités Sujets divers ECRITURE DE DEVICE DRIVERS Généralités Planification Enregistrement d'un driver Files d'attente Gestion des "device nodes" "Atomic Operations" en C Character Drivers Spinlocks Structures de données et architecture générale Sémaphores Méthodes d'implémentation des drivers TRAVAUX PRATIQUES Block Drivers Ecriture d'un module noyau Gestion "Request queue" Chargement manuel et chargement automatique d'un module Ecriture d'une procédure noyau réentrante Debug de code noyau Gestion du cache buffer TRAVAUX PRATIQUES Accès à l'espace utilisateur depuis un appel noyau GESTION DES INTERRUPTIONS ET DES EXCEPTIONS Récupération mémoire depuis le code d'initialisation Gestion Processeur des interruptions et des exceptions Ecriture d'un "character driver" Gestion des interruptions Ecriture d'un driver "block ramdisk" et installation d'un système de Mécanisme "Bottom-Half" : BH et Tasklet fichiers sur celui-ci NOTES Les supports de cours seront fournis sur papier ou en format électronique à chaque participant pendant la formation MVD Training - 106 avenue des guis - 31830 Plaisance du Touch - France Tel : +33 (0) 5 62 13 52 32 - Fax : +33 (0) 5 61 06 72 60 - www.mvd-training.com SIRET : 510 766 066 00029 - Identifiant TVA : FR 74510766066 - NAF : 8559A Déclaration d’activité enregistrée sous le n° 73 3105366 31 auprès du Préfet de région de Midi-Pyrénées 2 Descriptif de Formation - Ref:003154A - 21/02/2017 CONTACT Tel : 05 62 13 52 32 Fax : 05 61 06 72 60 [email protected] MVD Training - 106 avenue des guis - 31830 Plaisance du Touch - France Tel : +33 (0) 5 62 13 52 32 - Fax : +33 (0) 5 61 06 72 60 - www.mvd-training.com SIRET : 510 766 066 00029 - Identifiant TVA : FR 74510766066 - NAF : 8559A Déclaration d’activité enregistrée sous le n° 73 3105366 31 auprès du Préfet de région de Midi-Pyrénées 3