Logo de la rubrique Noyau Linux et développement de drivers

Noyau Linux et développement de drivers

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 vous permettra de concevoir, développer et déployer un pilote de périphérique pour le noyau Linux.

OBJECTIFS

Permettre à des ingénieurs de développement maîtrisant la programmation en C de concevoir, développer et déployer un pilote de périphérique pour le noyau Linux

PUBLIC VISE

Concepteurs, techniciens et ingénieurs de développement et chefs de projets techniques qui souhaitent concevoir de futurs produits basés sur des cartes ARM sous Linux.

PREREQUIS

La maîtrise du langage C. et les commandes de base GNU/Linux.
Les commandes de base sont indispensables et une première expérience sur Linux est recommandée.
Un PC avec webcam, haut-parleur et micro et une liaison Internet sont requis.
Un deuxième écran est recommandé

INTERVENANT

Expert spécialisée dans l’intégration de solutions Open Source. Il est également l’auteur d’ouvrages sur "Linux embarqué"
Le Programme CAP’TRONIC aide, chaque année, 400 entreprises à monter en compétences sur les technologies liées aux systèmes électroniques et logiciel embarqué.

PRIX

Non-adhérent : 1750€ HT
Adhérent CAP’TRONIC : 1350€ HT

Remarque : Notre certification QUALIOPI vous garantit un process certifié sur nos actions de formation et permet un financement des formations CAP’TRONIC par votre Opérateur de Compétences (OPCO) hors CPF.

PROGRAMME

JOUR1

Tour de table

Introduction à Linux
Présentation du projet Linux
Licences
Architecture Linux (espace utilisateur/noyau)
Sysylnit vs »systemd »
Utilisation des sources du noyau Linux
- Obtention du code source
- Configuration
- Compilation native (x86) et croisée (ARM)*

Les modules du noyau
Ecriture d’un module « Hello World” *
- Les fonctions “init” et “exit »
- Le fichier Makefile *
- Compilation
- Chargement et déchargement du module (insmod et rmmod)
Dépendances entre les modules*
Passage de paramètres à un module*

Pilotes en mode caractère
Module vs pilote
Les catégories de pilotes (caractère, réseau et bloc)
Appels système d’un pilote en mode caractère (open, close, read write, ioct !)
Enregistrement d’un pilote en mode caractère *
Utilisation des « classes » du noyau *
Utilisation de l’interface CDEV*
Fonctions de verrouillage (spinlock et mutex) *
Gestion du matériel
- Allocation de la mémoire *
- Gestion des interruptions *
- Ports d’E/S et accès et mémoire *
- Mappage mémoire (l’appel système mmap) *
- Introduction au DMA *

JOUR 2

Pilotes en mode caractère
Ecriture d’un pilote PCI générique *
Ecriture d’un pilote USB simple (HID) *
Utilisation de l’API “platform” pour les systèmes embarqués
- Présentation du « device tree » (DT) avec la cible QEMU/ARM
- Syntaxe et exemples de DT *
- Utilisation de « configfs » pour charger un « device tree overlay » *

JOUR 3

Pilotes en mode réseau
Utilisation du réseau Linux
Présentation des pilotes réseau
Les structures « net device » et « net device ops »
Le stocket buffer (SKB)
Ecriture et test du pilote réseau « faketh » *

Pilotes en mode bloc
Pilote en mode bloc vs caractère
Le nouveau framwork « blk-mg » (noyau Linux 5.x)
Ecriture d’un pilote simple (en utilisant un ramdisk) *

Mise au point et profilage du noyau et des pilotes
Utilisation de GBD pour l’espace noyau (exemple avec QEMU/ARM)
Déblogage du noyau statique et d’un module (ko)
Profilage du noyau et des pilotes avec Ftrace (en utilisant debugfs et trace-cmd)

Tour de table

Un travail pratique est disponible pour chaque item avec une « étoile » (*).

Le découpage de la formation est proposé à titre indicatif et pourra être adapté

ORGANISATION

MOYENS PEDAGOGIQUES
Outil de visioconférence. Support de cours en anglais. La formation alternera des exposés théoriques et un ou des cas pratiques fil rouge et se clôtura par une action de synthèse des concepts et méthodologies clefs. Une assistance pédagogique sur le cours sera assurée par le formateur pendant 1 mois à l’issue de la formation.

MOYENS PERMETTANT D’APPRECIER LES RESULTATS DE L’ACTION
Evaluation de l’action de formation par l’envoi d’un questionnaire de satisfaction à chaud à l’issue de la formation, puis d’un questionnaire à froid quelques semaines après la formation.

MOYEN PERMETTANT DE SUIVRE L’EXECUTION DE L’ACTION
Evaluation des connaissances via un questionnaire avant et après la formation.

SANCTION DE LA FORMATION
Attestation d’assiduité.

RENSEIGNEMENTS ET INSCRIPTION

Florence CAGNARD, cagnard@captronic.fr - 06 70 73 23 43
Pour toute question y compris les conditions d’accès pour les publics en situation de handicap.

Noyau linux et développement de drivers du 22 au 24 avril 2024



Les informations recueillies sur ce formulaire sont enregistrées dans un fichier informatisé par JESSICA France à des fins de communication via emailing. Elles sont conservées jusqu’à votre demande de désinscription et sont destinées aux équipes de JESSICA France localisées en France. Conformément à la loi « informatique et libertés », vous pouvez exercer votre droit d’accès aux données vous concernant et les faire rectifier en contactantPNG

Informations mises à jour le 07/11/2023