ac6-formation, un département d'Ac6 SAS
FR
FrançaisEnglish
 
go-up

ac6 ac6-formation Systèmes d'Exploitation Linux Programmation en mode utilisateur Linux
D0

Programmation en mode utilisateur Linux

Programmation d'applications Linux embarquées pour Linux

Objectifs

  • Découvrir Linux et ses outils de développement
  • Connecter un système Linux embarqué dans un réseau
  • Passer en revue la séquence de démarrage de Linux
  • Monter un système de fichiers distant
  • Amorcer un noyau Linux à distance
  • Programmer et déboguer des applications Linux
    • Programmation réseau
    • Entrée-sortie synchrone et asynchrone
    • Programmation multithread
    • Communications inter-processus
Les travaux pratiques sont menés sur des cartes cibles, qui peuvent être :
    Cartes "STM32MP15-DISCO" à base de double Cortex/A7 de STMicroelectronics
    Cartes "SabreLite" à base de Quad Cortex/A9 de NXP
    Cartes "imx8q-evk" à base de Quad Cortex/A53 de NXP
  • Les ingénieurs qui doivent créer des applications Linux embarquées
  • Connaissance de base des utilisateurs de Linux
  • Bonnes connaissances en programmation C
  • Cours théorique
    • Support de cours imprimé et au format PDF (en anglais)
    • Le formateur répond aux questions des stagiaires en direct pendant la formation et fournit une assistance technique et pédagogique
  • Activités pratiques
    • Les activités pratiques représentent de 40% à 50% de la durée du cours
    • Elles permettent de valider ou compléter les connaissances acquises pendant le cours théorique.
    • Un PC pour deux stagiaires pour les activités pratiques
    • Une plateforme cible pour deux stagiaires (sauf en cas d'utilisation de qemu)
    • Exemples de code, exercices et solutions
    • Le formateur assiste les stagiaires pendant les exercices
  • Une machine virtuelle préconfigurée téléchargeable pour les activités pratiques après le cours
  • Au début de chaque demi-journée une période est réservée à une interaction avec les stagiaires pour s'assurer que le cours répond à leurs attentes et l'adapter si nécessaire
  • Tout ingénieur ou technicien en systèmes embarqués possédant les prérequis ci-dessus
  • Les prérequis sont vérifiés avant l'entrée en formation, sur la base des prérequis publiés sur cette fiche.
  • Pendant la formation, les acquis sont évalués en continu : quiz de fin de séquence et observation directe du formateur.
  • À l'issue de la formation, chaque participant reçoit une attestation de fin de formation.

Plan du cours

  • Linux
  • Les différentes licences utilisées par Linux (GPL, LGPL, etc.)
  • Les distributions Linux
  • Le système de fichiers Linux
  • Le shell Linux et les scripts
  • L'éditeur vi
  • Administration de base d'un système Linux
  • Structure des applications Linux
    • Le format de fichier ELF
  • Outils de développement Linux
    • Compilation
    • Documentation
    • Makefiles
    • Environnements de développement intégrés
  • Création de bibliothèques Linux
    • Bibliothèques statiques
    • Bibliothèques dynamiques
  • Outils de débogage logiciel
    • Gdb
    • Débogage de la gestion mémoire avec dmalloc et efence
    • Vérifications à l'exécution avec valgrind
  • Entrées-sorties standard
    • fichiers disque
    • périphériques
  • Programmation réseau
    • sockets
    • protocoles UDP et TCP
  • Entrées-sorties asynchrones
    • E/S non bloquantes
    • Multiplexées (les API select et poll)
    • E/S par notification
    • E/S chaînées (l'API POSIX aio)
  • Outils de traçage des appels système
    • Strace
    • Ltrace
  • Gestion des signaux
    • Types de signaux
    • Traiter un signal
    • Fonctions utilisables dans un gestionnaire de signal
    • Masquage des signaux et traitement synchrone
  • Timers utilisateur
  • Processus
    • La notion de processus
    • Processus et sécurité
    • États d'un processus
    • Cycle de vie d'un processus : les appels "fork" et '"exec"
  • Threads POSIX
    • Threads utilisateur et threads kernel
    • Programmation des threads
    • Mutexes et variables de condition
    • Barrières
    • Données propres à un thread
  • Gestion mémoire sous Linux
    • Mémoire virtuelle et mémoire physique
    • Pagination et protection
    • Swapping
    • Allocation mémoire
    • Caches
  • Ordonnancement dans le kernel Linux
    • Changements de contexte
    • Le Completely Fair Scheduler
    • Groupes d'ordonnancement
    • Le scheduler temps réel
    • Ordonnancement et SMP (Symmetrical Multi Processors)
  • Communications entre processus
    • Projection en mémoire de fichiers et de périphériques
    • Mémoire partagée
    • Files de messages
    • Tubes
  • Synchronisation des tâches
    • Sémaphore
    • Mutex
    • Signaux
  • Les IPC System V (en option, décrites en annexe)
Plus d'information

Pour vous enregistrer ou pour toute information supplémentaire, contactez nous par email à l'adresse info@ac6-formation.com.

Les inscriptions aux sessions de formation sont acceptées jusqu'à une semaine avant le début de la formation. Pour une inscription plus tardive nous consulter

Vous pouvez aussi remplir et nous envoyer le bulletin d'inscription

Ce cours peut être dispensé dans notre centre de formation près de Paris ou dans vos locaux, en France ou dans le monde entier.

Les sessions inter-entreprises programmées sont ouvertes dès deux inscrits. Sous condition d'un dossier complet, les inscriptions sont acceptées jusqu'à une semaine avant le début de la formation.

Dernière mise à jour du plan de cours : 2 juillet 2026

L'inscription à nos formations est soumise à nos Conditions Générales de Vente

Sur le même sujet :

Yocto ou Buildroot : comment choisir pour votre projet Linux embarqué