Plan du cours

Introduction

  • Histoire d'Unix/Linux
  • Logiciel libre
  • Philosophie d'Unix

TERRAIN DE JEU DE L'HÔTE

  • Jouer avec GNU/Linux
    • architecture
    • shell
    • permissions
    • FHS (standard de hiérarchie de fichiers)
    • liens durs/liens souples
    • uid/gid réel/effectif
    • planificateur
    • processus/tâche/fil
    • IPC simple/avancé
      • tuyaux
      • signaux
      • files d'attente de messages
      • sémaphores
      • mémoire partagée
      • sockets
      • select/poll
    • Techniques IPC à éviter
  • Configuration de l'hôte Linux
    • Yocto/ELDK (outils, bibliothèques et paquets croisés/ciblés)
    • Emulation de terminal
    • Serveurs (DHCP, tftp, NFS)

TERRAIN DE JEU DE LA CIBLE

  • fichiers nécessaires pour faire fonctionner quelque chose à bord
    • Configuration JTAG/BDI
    • u-boot (checkout, config, build)
    • kernel (checkout, config, build)
    • rootfs
    • arborescence plate des périphériques
  • construire/exécuter ce qui est applicable depuis le haut sur la carte cible
  • divers rootfs
    • CRAMFS
    • disque dur
    • MTD
    • JFFS2
    • roEXT2
    • ubi
  • construire/exécuter ce qui est applicable depuis le haut sur la carte cible
  • comparaison des systèmes de fichiers racine
  • débogage
    • outils simples
    • local/à distance
    • utilisateur/noyau
    • gdb
    • gdbserver
    • JTAG/BDI (optionnel)
  • profilage
    • gprof
    • gcov
    • oprofile

REAL-TIME

  • conditions préalables
    • interruptions
    • code réentrant
  • temps réel Linux
    • points de préemption explicites/implicites
    • patch de préemption en temps réel
    • noyau entièrement préemptif
    • extensions temps réel dur
  • Adeos/Xenomai
    • correctif adeos
    • xenomai
    • patch/config/construction du noyau
    • l'exécuter à bord

LIBÉRATION DU LOGICIEL

  • administration
  • développement
  • comment reproduire une version du logiciel ?

DIVERS

  • getopt
  • endianess
  • antisèches

Sauf indication contraire, le contenu de ce plan de cours est placé sous licence Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

Pré requis

  • Familiarité de base avec l'utilisation d'un système GNU/Linux (par exemple Ubuntu) en tant qu'utilisateur final dans l'espace utilisateur 
  • Familiarité de base avec un shell en ligne de commande 
  • Connaissance de base de l'espace utilisateur/du développement d'applications avec GNU/Linux 
  • Connaissance de base des processeurs embarqués et des cartes de développement 
  • Connaissances de base en programmation C 
  • …et/ou ou peur d'apprendre ce qui précède… 
 35 Heures

Nombre de participants


Prix ​​par Participant

Nos clients témoignent (3)

Cours à venir

Catégories Similaires