Ce stage permet aux développeurs, confrontés aux problèmes de portage d’un noyau Linux et des applications temps réel sur plate-forme linux embarqué, de pouvoir concevoir une distribution optimisée et des drivers linux sur mesure.
Ce stage de formation
Linux embarqué aborde les concepts du portage d’un OS
Linux sur cible embarquée par l’étude :
des caractéristiques et architectures des systèmes Linux embarqué
de la mise en œuvre d’une chaîne de développement croisé
de la compilation d’un noyau et l'installation sur ROM/FLASH NAND et NOR
de la préparation d’un BSP et d’un boot-loader Linux pour l’embarqué
des packages et de la configuration de l’installation sur différents types d’architectures matérielles x86 et ARM9
de la mise au point et la validation de modules et de pilotes de périphériques linux
des API et des extensions temps réel sous Linux embarqué
Outils de configuration ptxdist
pour cible ARM et validation du File System Linux complet sur
cible PhyCARD i.MX27
Processus Utilisateurs sous Linux embarqué
Gestion de la mémoire virtuelle et
application embarquée : page stack, overcommit memory
…
Démons Unix, Socket et application
réseau TCP/IP Client Serveur…
3èmejournée
Mise au point du Boot Loader et du kernel Linux sur système embarqué
Préparation du boot loader U-BOOT, Setup de l’architecture et utilisation des commandes U-BOOT
en console
Paramétrage du chargeur de démarrage « bootloader »
BSP et Init de Linux sur système embarqué : configuration du mapping E/S physique et
mémoire RAM/FLASH de la cible
Travaux pratiques
Utilisation de BSP Linux embarqué :
application de patch au Kernel Linux officiel
Mise en œuvre d’une
configuration de boot loader U-BOOT sur plateforme ARM 9 PhyCARD-S i.MX27
Débogage du boot loader et du noyau
par sonde JTAG Amontec et GDB
3èmejournée (suite)
Portage d’une image système Linux
embarqué
Technologies MTD : Flash Chip NOR et NAND,
Disk Flash: CompactFlash, DiskOnChip,...
Systèmes de fichiers, outils de
génération d’image de file system Linux CRAMFS,
JFFS2 et initramfs en mémoire Flash
Portage d’un Shell et d’outils
d’administration (BusyBox …)
Travaux pratiques
Mise en œuvre d’une
configuration de boot loader U-BOOT sur plateforme ARM 9 Phytec i.MX27
Installation d’un système
bootable via réseau et montage nfs avec U-BOOT sur kit PhyCARD-S i.MX27
Introduction au développement Kernel Mode sous Linux
Introduction à la programmation en
mode noyau
Architecture d’un module linux
simple
Gestion de paramètres de modules,
communication avec les systèmes de fichiers sysfs et le
procfs
4èmejournée
Introduction au développement de pilotes
Pilotes de périphériques sous
Linux et système de fichiers devfs
Programmation de pilotes de
périphériques simples : Structure de la File
Operation
API du noyau Linux et gestion
mémoire en Kernel Mode
Programmation de pilotes de
périphériques Linux, Signaux et Timer en kernel
mode
Driver bloquant, gestion
d’interruption sous Linux
Cas particuliers des
périphériques USB, SPI et SDIO sur système
embarqué
Intégration de codes sources
personnels dans le système de configuration et de compilation
du kernel Linux
Création de patchs pour noyau
Linux
Travaux pratiques
Construction et compilation de pilotes de
périphériques pour carte E/S PC104 Linux
embarqué
Débogage de modules et pilotes de périphériques linux par sonde JTAG Amontec et GDB
5èmejournée
Introduction aux applications embarquées temps
réel en mode utilisateur
API POSIX temps réel souple:
ordonnancement des processus et signaux UNIX et POSIX sous
Linux
Programmation multi-thread et extension API
PThread , NPTL, …
Résolution des Timers Linux et choix
du Tick system pour l’embarqué
Extensions temps réel embarquées en mode noyau
sous Linux
Temps réel dur: Patches low-latency,
préemptifs, temps réel RTAI/RTLinux et Xenomai
Introduction à la programmation
temps réel : Module Xenomai, Tâche et ordonnanceur temps
réel
Le framework Xenomai : API temps
réel embarqué en mode noyau et utilisateur
Mécanisme de communication et
synchronisation entre tâches temps réel Xenomai
Timer temps réel Xenomai et gestion
d’IT
Interface temps réel dur et en mode Utilisateur
FIFO temps réel Xenomai entre module
Xenomai et processus Linux
LXRT : mécanisme de communication et
synchronisation entre tâches temps réel Xenomai et Thread
Linux
Xenomai et RTDM : modèle de driver
temps réel
Travaux pratiques
Programmation d’une tâche temps
réel de traitement périodique Xenomai à
10Khz
Mise en œuvre de drivers RTDM et analyse de
traces temps réel Xenomai sur kit PhyCARD-S i.MX27
Participants
Cette formation est
particulièrement adaptée aux techniciens et
ingénieurs, confrontés aux problèmes
de portage de solutions linux sur systèmes
embarqués, drivers et temps réel.
Matériel à disposition des participants
Les travaux pratiques de la formation Linux Embarqué, Drivers et Temps Réel sont réalisés sur :