Descriptif
L'objectif de ce module est de vous familiariser avec l'utilisation de Linux sur un système embarqué. Dans un premier temps, nous étudierons la place de Linux dans le monde de l'embarqué ainsi que ses avantages et inconvénients. Puis, nous aborderons pas-à-pas les différents éléments nécessaires pour démarrer un système Linux (bootloader, noyau, arbre des périphériques, système de fichier racine, processus init...) et comment les générer manuellement ou automatiquement. Enfin, nous aborderons le développement pour le noyau Linux en écrivant un pilote pour un périphérique simple.
Objectifs pédagogiques
- Être capable de mettre en œuvre un système Linux sur un système embarqué
- Comprendre le mécanisme de démarrage (depuis le bootloader jusqu’aux applications)
- Comprendre les différents éléments nécessaires et comment les générer (noyau, arbre des périphériques, système de fichiers initial, système de fichiers racine...)
- Savoir écrire un pilote de périphérique simple
Diplôme(s) concerné(s)
Pour les étudiants du diplôme M2 SETI - Systèmes embarqués et traitement de l'information
- Maîtrise du langage C
- Maîtrise des systèmes Linux (aisance avec l'utilisation de la ligne de commande, des outils de développement classiques...)
Format des notes
Numérique sur 20Littérale/grade européenPour les étudiants du diplôme M2 SETI - Systèmes embarqués et traitement de l'information
Vos modalités d'acquisition :
La note finale est basée sur les rendus de TP et sur un examen écrit
L'UE est acquise si Note finale >= 10- Crédits ECTS acquis : 3 ECTS
Pour les étudiants du diplôme Diplôme d'ingénieur
L'UE est acquise si Note finale >= 10- Crédits ECTS acquis : 3 ECTS
- Crédit d'Option 3A acquis : 3
Pour les étudiants du diplôme Echange international non diplomant
Pour les étudiants du diplôme Programme de mobilité des établissements français partenaires
Programme détaillé
- Séance 1 : Linux et le monde de l’embarqué
- Séance 2 : Démarrage d’un système Linux + TP
- Séance 3 : Système de fichiers racine + TP
- Séance 4 : Introduction au développement d’un pilote de périphérique, Votre premier module noyau, Mécanismes de débogage, Allocation mémoire + TP
- Séance 5 : Modèle de périphérique + TP
- Séance 6 : Interface avec l’espace utilisateur, Ordonnancement et attente + TP
- Séance 7 : Interruptions + TP
- Séance 8 : Concurrence + Accès aux périphériques MMIO + TP