Formation - Écriture 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 fait l'objet d'une évaluation formative.

IB Cegos


Formations aux technologies et métiers du Numérique
Voir la fiche entreprise

Tarif

Contacter l'organisme

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

IB Cegos


Formations aux technologies et métiers du Numérique
Voir la fiche

Tarif

Contacter l'organisme

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

Programme

1 - 1ère partie : Programmer pour le noyau Linux

    2 - Noyau Linux et modules

    • Modèle
    • Versions
    • Licence GPL
    • Développement du noyau
    • Appels-systèmes
    • Modules
    • Travaux pratiques : observation des appels-système invoqués par des applications et commandes utilisateur et manipulation des modules précompilés

    3 - Outils de développement noyau

    • Sources
    • Compilation du noyau et des modules
    • Écriture et compilation de modules
    • Cross-compilation
    • Messages
    • Dépendances
    • Travaux pratiques : compilation et installation d'un noyau, écriture de modules simples, intégration dans le noyau, paramètres au boot, cross-compilation sur Raspberry Pi

    4 - 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 et mesure de durée d'un appel-système

    5 - Environnement du noyau

    • Tâches et processus courants
    • 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 et tests sur Raspberry Pi

    6 - 2ème partie : Écriture d'un driver

      7 - Écriture d'un pilote de périphérique

      • Principe
      • 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 et écriture d'un driver simple

      8 - Appels-système et I/O

      • Paramétrage par ioctl
      • Synchronisation d'appels-système par mutex
      • Accès matériel
      • Ports d'entrées-sorties
      • GPIO sur carte embarquée
      • Travaux pratiques : mise en évidence de la nécessité des mutex, écriture d'un driver d'entrées-sorties sur GPIO du Raspberry Pi

      9 - Gestion d'interruption

      • Contextes d'exécution
      • Installation d'un handler
      • Traitement différé (tasklet, workqueue et thread interrupt)
      • Travaux pratiques : écriture d'un gestionnaire sur interruption clavier PC et sur GPIO du Raspberry Pi, visualisation des threadeds interrupts

      10 - Interactions entre appels-système et interruptions

      • Protection des variables globales (spinlock)
      • Attentes d'événements (waitqueue)
      • Appels-système bloquants
      • Travaux pratiques : influence des priorités temps-réel sur les threads d'interruption et mesure de temps de latence des interruptions du Raspberry Pi

      11 - 3ème partie : Aspects avancés d'un driver de périphérique

        12 - 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

        13 - 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 et allocations mémoire maximales

        14 - 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

        15 - 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

        16 - 4ème partie : Autres types de périphériques

          17 - 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 : écriture progressive d'un driver pour périphérique virtuel permettant l'utilisation du protocole IPv4

          18 - 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

          19 - Utilisation du bus 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

          20 - Aspects avancés

          • Écritures successives rapides
          • Déconnexions intempestives
          • Accès concurrents
          • Exemples de drivers Bulk, Control et Isochrones

          21 - Conclusion : discussions libres sur l'ensemble des thèmes abordés

            22 - Travaux pratiques : expérimentations libres suivant les demandes des participants

              Prérequis

              • Connaissance de Linux (utilisateur) et du langage C

              Public

              • Toute personne intéressée par le développement systèmes temps réel sur Linux

              Ces formations pourraient vous intéresser

              Objectifs de la formation

              Découvrir les nouveautés de Office - Connaître les principales fonctionnalités d'Excel - Pouvoir réaliser des calculs et utiliser les fonctions - Savoir manipuler les graphiques et les tableaux croisés dynamiques - Introduction à  la programmation VBA
              Tarif

              A partir de 1 725,00 €

              Durée

              5j / 35h

              Modes
              • Centre
              • Entreprise
              • Distance

              Language C

              Proposé par CIT FORMATION INFORMATIQUE

              Objectifs de la formation

              Développeurs souhaitant maîtriser les principes de base de la programmation structurée et connaître la syntaxe et les principales fonctions du langage C.

              Tarif

              Contacter l'organisme

              Durée

              5 jour(s)

              Modes
              • Entreprise

              Objectifs de la formation

              Initier aux technologies Cluster disponibles sous Linux - Préparer à l'examen 306 de LPI, couvrant des compétences avancées en haute disponibilité et en gestion de clusters de stockage.
              Tarif

              A partir de 3 975,00 €

              Durée

              5j / 35h

              Modes
              • Centre
              • Entreprise
              • Distance

              Objectifs de la formation

              • Identifier des concepts de base de l'Analyse Transactionnelle (AT) et de la Programmation Neuro Linguistique (PNL)
              • Utiliser ces concepts dans sa vie professionnelle
              • Créer un rapport positif et un climat de confiance avec les interlocuteurs
              • Améliorer sa connaissance de soi et sa communication

              Tarif

              A partir de 1 400,00 €

              Durée

              Nous contacter

              Modes

              Objectifs de la formation

              Savoir installer FOG - Comprendre les enjeux des images systèmes - Savoir cloner et redéployer un système Windows 10, 11 et Linux - Savoir gérer FOG et son évolution dans le temps
              Tarif

              A partir de 1 875,00 €

              Durée

              2j / 14h

              Modes
              • Centre
              • Entreprise
              • Distance

              Objectifs de la formation

              A l’issue de la formation, le stagiaire sera capable de :

              • Maîtriser des notions de programmation de base
              • Maîtriser les fondamentaux du langage VBA
              • Gagner en autonomie et en confiance dans le développement de programmes simples
              • Automatiser des traitements entre différents fichiers Excel
              Tarif

              A partir de 525,00 €

              Durée

              2j / 14h

              Modes
              • Centre
              • Distance

              Objectifs de la formation

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

              • Expliquer les principes fondamentaux de l'informatique, tels que les concepts de base, les structures de données et les algorithmes
              • Identifier les langages de développement appropriés pour résoudre des problèmes informatiques spécifiques en utilisant des techniques de programmation adaptées
              • Identifier les meilleures solutions pour répondre aux besoins spécifiques d'un projet ou d'une organisation
              • Analyser les principes de base des réseaux informatiques
              • Situer les principales technologies émergentes entre elles
              • Questionner et challenger vos futurs candidats sur leur culture informatique
              • Acquérir un état de l'art et une première vision des évolutions.
              Tarif

              A partir de 710,00 €

              Durée

              1j / 7h

              Modes
              • Centre
              • Distance

              Objectifs de la formation

              Comprendre les enjeux de la conception par objets - Maîtriser les concepts généraux et pouvoir les appliquer aux principaux langages objets - Modéliser une application avec - Maîtriser les concepts de la programmation orientée objet - Acquérir les notions fondamentales pour la modélisation d'un projet en UML - Découvrir les bonnes pratiques d'architecture de code et choisir/implémenter des patrons de conception
              Tarif

              A partir de 2 225,00 €

              Durée

              4j / 28h

              Modes
              • Centre
              • Entreprise
              • Distance

              Objectifs de la formation

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

              • Décrire les principes de SAP S/4HANA et SAP Fiori
              • Définir et implémenter le modèle de programmation SAP Fiori
              • Implémenter et fournir des applications basiques à l'aide des éléments SAP Fiori.
              Tarif

              A partir de 2 460,00 €

              Durée

              3j / 21h

              Modes
              • Centre
              • Distance

              PYTHON Programmation - Niveau 1

              Proposé par GROUPE ARKESYS

              Objectifs de la formation

              • Ecrire, compiler, exécuter et déboguer des programmes Python.
              • Appliquer les concepts de programmation orientée objet au langage Python.
              • Utiliser les bibliothèques les plus communes.
              • Créer des classes et des méthodes pour leurs applications.
              Tarif

              A partir de 6 200,00 €

              Durée

              4j / 28h

              Modes
              • Centre
              • Entreprise
              • Distance

              Je cherche à faire...