Systèmes et Applications Embarqués (IAM 03)
Responsable du Cours
Stéphane Lavirotte
Intervenants (2011-2012)
- Julien DeAntoni (Université de Nice - Sophia Antipolis)
- Stéphane Lavirotte (Université de Nice - Sophia Antipolis)
- Jean-Yves Tigli (Université de Nice - Sophia Antipolis)
Résumé
Le but de ce cours est de présenter le fonctionnement interne des systèmes d'exploitation en vue de le déployer et de l'optimiser pour des cibles particulières (téléphones portables, kit de développement, etc.). Pour rendre les choses plus concrètes et afin de faire la part belle à l'expérimentation pratique, nous utiliserons principalement le système GNU/Linux.
Après une présentation rapide de l'architecture d'un système d'exploitation, nous étudierons et mettrons en pratique la virtualisation de systèmes, le développement de modules et de pilotes, les systèmes de fichiers classiques et incrémentaux, l'adaptation d'un système à une cible contrainte et spécifique. Une expérimentation réelle sur cible embarquée viendra compléter l'apprentissage. Ces éléments fondamentaux d'un système d'exploitation seront complétés par une introduction aux systèmes sans OS et avec OS temps réel et au développement sur une cible .NET Micro Framework.
Objectifs
L'objectif est de permettre aux étudiants de maitriser les concepts avancés des systèmes d'exploitation pour l'informatique embarquée. Ils découvriront les arcanes d'un système d'exploitation et apprendront à l'adapter à leurs besoins spécifiques pour le maquettage de nouveaux dispositifs de l'informatique ambiante.
Contenu
Le cours se déroule sur 16 semaines (16 x 4h = 64h) et est divisé de la manière suivante:
- Introduction et architecture, S. Lavirotte (Cours 4h)
- Prise en main du noyau Linux, S. Lavirotte (TD 4h)
- Ajout de fonctionnalités au noyau: les modules, S. Lavirotte (Cours 1h30, TD 2h30)
- Processus, S. Lavirotte (Cours 1h, TD 3h)
- Pilote de périphériques, S. Lavirotte (Cours 2h, TD 2h)
- Développement de pilotes de périphériques logiciels, S. Lavirotte (TD 4h suite semaine précédente)
- Développement de pilotes de périphériques matériels, S. Lavirotte (TD évalué: TD 4h)
- Mémoires et Systèmes de fichiers, S. Lavirotte (Cours 2h, TD 2h)
- Noyau Linux sur système embarqué (NSLU2), S. Lavirotte (Cours 1h, TD 3h)
- Applications libres pour systèmes embarqués, S. Lavirotte (Cours 2h, TD 2h)
- Construire son propre système embarqué, S. Lavirotte
- Optimiser un système, S. Lavirotte (Cours 1h, TD 3h)
- Microcontrôleurs sans OS, J. DeAntoni
- Microcontrôleurs avec OS: RTOS, J. DeAntoni
- Système embarqué .NET Micro Framework, J.-Y. Tigli
- Examen Final
Ressources
L'ensemble des ressources nécessaires pour les TD et les corrections peuvent être trouvées à l'adresse suivante:
Pré-requis pour ce cours
- Maîtrise du langage C (pas de programmation en assembleur).
- Connaissance Système Unix
