|
- Découvrir les principes du développement de systèmes industriels embarqués et / ou temps réel basés sur le système d'exploitation Linux.
- Apprendre les bonnes pratiques en matière de développement industriel, en particulier dans le contexte aéronautique.
- Apprendre les mécanismes fondamentaux du système Linux, être capable de les configurer et de réaliser un système sur mesure en fonction de contraintes industrielles.
|
|
Développeurs systèmes et architectes de systèmes embarqués ou temps réel.
|
|
Bonne compétence de développement en langage C. Une première expérience du développement système est souhaitable.
|
Programme

|
| Développement sous Linux |
- Introduction
- Architecture du système Linux
- Les différents noyaux, les licences libres
- Les outils de développement, gcc/gmake,
cross compilation, eclipse CDT
- La compilation d'un noyau
- Principe de travail, précautions
essentielles
- Quelles sources utiliser, téléchargement
- Mise en place de la plateforme de travail
- Configuration des options
- Compilation, test et benchmarkage du
résultat
- Les modules dynamiques et statiques
- Le boot du système
- Principe du démarrage du système linux.
Lilo/grub, le process boot, le disque initrd, init
- Création et paramétrage d'un initrd sur
mesure
- Paramétrage des services démarrés par init
- Personalisation du démon init
- Les services
- Généralités sur les services linux
- Les librairies partagées
- Identifier les dépendances, ldd
- Configurer le fonctionnement des services
Linux
|
|
|
| Linux embarqué |
- Présentation des contraintes
- Les différents domaines d'application, les
différents périmètres de systèmes
- Embarqué restreint, embarqué sans
interface ou OS promable
- Les noyaux embarquables du marché
- Méthodologie de travail pour la
réalisation d'un OS embarqué
- Le système uCLinux
- Présentation générale, architecture
- Les différents portages de uCLinux, les
matériels supportés
- Les librairies, applications et chaînes de
développement disponibles
- Le système Android
- Présentation, architecture et
fonctionnalités
- La chaîne de développement ADT et le SDK
- L'API Android
- Développement d'une application
- Le débuggage de l'application
|
| |
| Linux temps réel |
- La problématique du temps réel
- Notion de temps réel, criticité du temps,
le temps réel strict et le temps réel mou
- Les différentes catégories de contraintes
- Pourquoi Linux n'est pas un OS temps réel,
fonctionnement du scheduler et des ISR
- Les différentes approches de noyau temps
réel basées sur Linux
- Le patch Linux RT
- Les différentes versions, les acteurs
- Principe du patch temps réel. La latence,
le scheduler TR
- L'API temps réel
- Développement d'un driver temps réel:
contraintes et précautions
- Le système RTAI
- Principe de fonctionnement
- Téléchargement, configuration patch et
construction du noyau
- L'API des schedulers, des tâches TR et des
timers
- La spécification ARINC 653
- L'architecture IMA, les raisons de la
révolution
- Le principe du partitionnement
- Le détail de la spécification
- La certification: DO-178B, DO-254
|
|