Formation Ecriture de drivers et programmation noyau Linux

Public admis

  • Salarié en Poste
  • Demandeur d'emploi
  • Entreprise
  • Etudiant

Financements

Eligible CPF Votre OPCO Financement personnel

Objectifs de la formation

Cette formation Ecriture de drivers et programmation noyau Linux vous apprendra à :

  • Maîtriser le développement de pilotes de périphériques (drivers) robustes et adaptés
  • Connaitre les outils de développement noyau
  • Maitriser les  aspects avancés d'un driver de périphérique
  • Savoir gérer la mémoire
  • Connaitre les  Périphériques réseau et USB

PLB CONSULTANT


Informatique et Management
Voir la fiche entreprise

Tarif

A partir de 2 520,00 €

Durée 4 jours (28h)
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

PLB CONSULTANT


Informatique et Management
Voir la fiche

Tarif

A partir de 2 520,00 €

Durée 4 jours (28h)
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

Description

Le support pour les périphériques est assuré sous Linux par des pilotes (drivers) dont le code se déroule dans le noyau du système d'exploitation. Il est donc nécessaire pour le développeur amené à écrire ou à tester des pilotes de périphériques de maîtriser les concepts propres à la programmation noyau. Cette formation Linux Drivers propose une approche originale, s'appuyant sur l'écriture progressive de pilotes de différents types, pour appréhender les mécanismes parfois complexes (préemptibilité, multiprocesseur, support d'architectures différentes, etc.) inhérents au code exécuté en mode noyau. Cette formation Linux drivers vous permettra de maîtriser le développement de pilotes de périphériques (drivers) robustes et adaptés aux différentes déclinaisons de Linux. Outre les périphériques classiques (caractère, bloc, réseau), son étudié les sous-systèmes du noyau tels que les systèmes de fichiers ou l'ensemble USB.

Programme

Programmer pour le noyau Linux

Noyau Linux et modules modèle, version, licence GPL, développement du kernel, appels-système, modules. Travaux pratiques Observation des appels-système invoqués par des applications et commandes utilisateur. Manipulation des modules précompilés. Outils de développement noyau sources, compilation noyau et modules,écriture et compilation de modules, cross-compilation, messages, dépendances. Travaux pratiques Compilation et installation d'un noyau. Écriture de module simple. Intégration dans le noyau. Paramètres de boot. Cross-compilation sur Raspberry Pi. API du noyau chaînes, blocs mémoire, fonctions numériques et conversions, éléments temporels et actions différées, préemptibilité du noyau.Travaux pratiques Écriture d'un module d'horodatage. Chronométrage des phases de boot. Mesure de précision d'horloge. Mesure de durée d'appel-système. Environnement du noyau tâches et processus current, espaces d'adressage, dialogue avec /proc. Travaux pratiques Écriture d'un module d'information sur les structures internes des processus. Écriture d'un module d'horodatage via /proc. Test sur Raspberry Pi.

Écriture d'un driver Linux

Écriture d'un pilote de périphérique principes, numéros majeurs et mineurs, classes de périphériques, enregistrement du driver, fonctions de lecture et écriture. Travaux pratiques Manipulation des fichiers spéciaux. Réservation de numéro majeur. Enregistrement de périphérique. Écriture d'un driver simple. Appels-systèmes et I/O Paramétrage par ioctl. Synchronisation d'appels-système par mutex. Accès matériel. Ports d'entrée-sorties. GPIO sur carte embarquéTravaux pratiques Mise en évidence de la nécessité des mutex. Écriture d'un driver d'entrée-sorties sur GPIO du Raspberry Pi. Gestion d'interruptions contextes d'exécution, installation d'un handler, traitement différé (tasklet, workqueue et threaded interrupts).Travaux pratiques Écriture d'un gestionnaire d'interruption sur interruption clavier PC et sur GPIO du Raspberry Pi. Visualisation des threadeds interrupts. Interactions entre appels-système et interruptions protection des variables globales (spinlock), attentes d'événements (waitqueue), appels-système bloquants.Travaux pratiquesInfluence des priorités temps-réel sur les threads d'interruption. Mesure de temps de latence des interruptions du Raspberry Pi.

Aspects avancés d'un driver de périphérique

Entrées-sorties avancées multiplexage d'entrée-sorties (select et poll), principes des transferts de données par DMA.Travaux pratiques Création d'un périphérique "file de messages" virtuel implémentant plusieurs appels-système. Implémentation de select sur des entrées GPIO.  Gestion de la mémoire allocation et libération de mémoire (kmalloc, vmalloc, get_free_pages, kmem_cache), projections (mmap).Travaux pratiques Expériences sur la projection mémoire en espace utilisateur. Allocations mémoire maximales. Périphériques blocs et VFS principes, enregistrement, disque générique, file de requêtes,partitionnement, sous-système Block, i/o scheduler, Virtual File System. Travaux pratiques Écriture d'un driver de disque virtuel. Partitionnement, formatage et montage de disque virtuel. Observation des effets des caches-disques du VFS. Périphériques PCI Express principe, détection et enregistrement de driver, Base Address Registers, interruptions classiques et MSI.Travaux pratiques Étude d'un driver PCIe de pilotage d'une carte à FPGA.

Périphériques réseau et USB

Périphériques réseau interfaces bas-niveau et protocoles réseau, périphérique net_device, enregistrement, activation, émission et réception de paquets. Travaux pratiques Ecriture progressive d'un driver pour périphérique virtuel permettant l'utilisation du protocole IPv4. Communications réseau Statistiques d'utilisation d'interface, principes de la pile IP, communications entre protocoles et interface bas-niveau. Travaux pratiques Examen du trajet des données au sein de la pile IPv4 lors de réception et d'émission de données avec le protocole TCP/IP. Périphériques USB  Organisation du sous-système USB de Linux, implémentation d'un driver Interrupt, type de endpoints, Communication avec les URB. Travaux pratiques Écriture d'un driver pour carte d'entrée-sortie Velleman K8055. Aspects avancés  écritures successives rapides, déconnexions intempestives, accès concurrents, Exemples de drivers Bulk, Control et Isochrones.

Prérequis

Connaissance de Linux (utilisateur) et bonne familiarité avec le langage C.

Ces formations pourraient vous intéresser

Objectifs de la formation

Cette formation C++ Programmation Avancée Expert vous donne les connaissances et compétences nécessaires pour :

  • Maîtriser les meilleures pratiques concernant l’utilisation des classes
  • Comprendre le besoin et les pièges des conversions (cast)
  • Comprendre l’intérêt du Run-time type information (RTTI)
  • Maîtriser l’utilisation des pointeurs (sur membres, smart pointers, etc.)
  • Savoir mettre en œuvre les expressions lambdas
  • Programmer efficacement les exceptions
  • Savoir programmer et utiliser les templates et certains idiomes
  • Savoir mettre en œuvre le multi-threading
  • Gérer un objet qui se comporte comme une fonction (foncteur)
  • Utiliser la puissance de la bibliothèque STL (Standard Template Library)
  • Connaître les dernières nouveautés du C++20/23
Tarif

A partir de 2 360,00 €

Durée

4j / 28h

Modes
  • Centre
  • Entreprise
  • Distance

Formation F#

Proposé par Sparks

Objectifs de la formation

  • Connaître les concepts fondamentaux de F# et de la programmation fonctionnelle
  • Appliquer la syntaxe de base de F# pour écrire des programmes
  • Utiliser les concepts d'inférence de type, d'expressions, d'immutabilité et de composition de types en F#
  • Organiser et structurer son code
  • Utiliser les collections et les fonctions de haut niveau pour manipuler des données en F#
  • Comprendre le Pattern Matching et utiliser les jointures
  • Connaître les possibilités d'interopérabilité du langage F#
Tarif

A partir de 1 950,00 €

Durée

3 jours

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Parfaire ses connaissances en Linux embarqué et temps réel
  • Comprendre les principes du fonctionnement en mono tâche et en multitâche
  • Gérer l'exécution ordonnée des tâches
  • Comprendre les méthodes de partage des ressources
  • Comprendre l'architecture d'un OS Temps Réel
Tarif

A partir de 700,00 €

Durée

1 jour

Modes
  • Centre
  • Entreprise
  • Distance

Introduction à la programmation objet

Proposé par CIT FORMATION INFORMATIQUE

Objectifs de la formation

Développeurs souhaitant acquérir des connaissances de base sur la méthode de programmation objet avant l’étude d’un langage orienté Objet.

À l'issue de la formation, le stagiaire sera capable de :

  •     Comprendre et pratiquer la méthode de programmation objet
Tarif

Contacter l'organisme

Durée

2 jour(s)

Modes
  • Entreprise

Objectifs de la formation

À l'issue de cette formation Développement d'applications web front-end JavaScript vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Le fonctionnement de JavaScript et son utilité dans le navigateur
  • Créer des scripts permettant de rendre interactives vos pages et applications
  • Manipuler le contenu et le rendu de la page au travers de gestionnaires d’événements
  • Faire de la Programmation Objet en JavaScript
  • Coder avec les bonnes pratiques et les bons outils pour un code plus facile à maintenir
  • Connaître les principes généraux de VueJS et Angular
  • Connaitre l'architecture d'une application web basée sur ReactJS
  • Intégrer les nouveautés du langage dans vos programmes avec EcmaScript 6/7
Tarif

A partir de 2 695,00 €

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Pendant la formation, le formateur évalue la progression pédagogique des participants via des QCM, des mises en situation et des travaux pratiques. Les participants passent un test de positionnement avant et après la formation pour valider leurs compétences acquises.
Tarif

Contacter l'organisme

Durée

3 jours (21 heures)

Modes
  • Entreprise
  • Distance
  • Centre

Objectifs de la formation

Concrètement, à l'issue de cette formation Temps réel sous Linux vous serez en mesure de :

  • Ordonnancer sous Linux
  • Maitriser la notion de temps-réel souple (ordonnancements Fifo et Round-Robin sur un noyau standard Vanilla, fluctuations des timers, latence d'interruption, problèmes temps-réel classiques.)
  • Maitriser la notion de temps-réel amélioré (principes de PREEMPT_RT, application du patch et compilation du noyau, mesure des améliorations de fluctuation ou de latence.)
  • Mettre en oeuvre l'extensions temps-réel strict (Installation et examen de Xenomai, exemple d'applications avec l'API Xenomai, handlers d'interruption.)
Tarif

A partir de 1 480,00 €

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Pendant la formation, le formateur évalue la progression pédagogique des participants via des QCM, des mises en situation et des travaux pratiques. Les participants passent un test de positionnement avant et après la formation pour valider leurs compétences acquises.
Tarif

Contacter l'organisme

Durée

2 jours (14 heures)

Modes
  • Entreprise
  • Distance
  • Centre

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Gérer des hôtes et des applications Cloud hybrides dans des environnements de moyenne à grande échelle
  • Planifier et mettre en oeuvre des environnements réseaux Cloud hybrides
  • Provisionner les hôtes et les logiciels gérés
  • Gérer les cycles de vie des applications personnalisées dans des entreprises locales et distribuées.
Tarif

Contacter l'organisme

Durée

5j / 26h

Modes
  • Centre
  • Distance

Formation Programmation en C

Proposé par PLB CONSULTANT

Objectifs de la formation

Cette formation Langage C vous apporte les connaissances et compétences nécessaires pour :

  • Comprendre le fonctionnement de la programmation structurée à travers l’exemple du langage C
  • Maîtriser la syntaxe du Langage C et les principales fonctions du langage C
  • Savoir écrire un programme C modulaire, portable (ANSI) et facile à maintenir
  • Maîtriser les mécanismes de gestion de la mémoire lors de la compilation et de l’exécution (classes d’allocation, pile, pointeurs, sécurité)
Tarif

A partir de 2 720,00 €

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

Je cherche à faire...