Formation Linux Embarqué Drivers et Temps Réel

Formation linux embarqué

Durée : 5 jours
Sessions : intra-entreprise
Support : module i.MX 6

Référence produit : PHYTEC-5158

Tarif et adaptation de contenu sur demande

demande de prix

intra-entreprise
Formation PHYTEC-5158
Quote




Objectifs

Cette formation Linux Embarqué, Drivers et Temps Réel 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 oeuvre 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 Cortex A9
• 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é.

Pré-requis

Cette formation Linux Embarqué est adaptée aux développeurs en informatique et techniciens dans le domaine de Linux embarqué confrontés aux problèmes de portage d’applications sur système embarqués. Une connaissance des commandes utilisateur usuelles UNIX est souhaitable ainsi qu'une bonne connaissance du langage C.

1ère journée

Distributions Linux Embarqué
• Définition des systèmes embarqués
• Projets existants: MontaVista, Bluecat linux, uCLinux, eldk, PeeWee Linux…
• Méthodes, outils et chaîne de développement croisé

Noyau Linux - Présentation
• Vue d’ensemble du système et rôle du noyau
• Historique, numérotation des versions
• Architectures matérielles supportées - Support processeurs et File system
• Spécifi cités des noyaux 2.6 et 3.0

Noyau Linux – Confi guration et Compilation pour l’Embarqué
• Structure des sources et modules du noyau
• Fichiers utilisés par les outils de configuration
• Configuration, optimisation et Compilation d’un noyau sous ptxdist pour cible
   Cortex A9 Phytec i.MX 6 DualCore
• Compilation croisée - Méthodes, outils et chaîne de développement croisés

Méthodes et outils de validation
• Outils GNU de mise au point et portage d’une chaîne de débogueur à distance : serveur gdb
• Mise au point par port série, par réseau, par sonde JTAG BDI3000
• IDE Eclipse pour développeur linux embarqué : Eclipse C/C++
• Debuggeur Eclipse et pluggin Target Debuger pour JTAG BDI3000

Travaux pratiques
• Préparation d’une chaîne de développement croisé (compilateur et débuggeur embarqué)
   pour cible Cortex A9 i.MX 6
• Configuration et compilation d’un noyau 3.2 « patché » pour cible Cortex A9 i.MX 6

2ème journée

Services et configurations Linux embarqué
• Personnalisation du système : Script de démarrage et de configuration du système
   Linux embarqué
• Chargement des pilotes de périphériques
• Installation des services réseaux : Console série Inetd, Rsh, telnet, Nfs

Environnement utilisateur sous Linux Embarqué
• Choix de librairies : LibC : glibC, uClibC, NewLibC
• Shell et utilitaire en console pour l’embarqué : Busybox
• Console série, gestion de sessions utilisateurs
• Connection réseau : remote shell rsh, telnet, …
• Portage et configuration d’environnements graphiques X: nanoX, XFree,
  QT 4 Embedded, MicroWindows, ...

Travaux pratiques
• Outils de configuration ptxdist pour cible ARM et validation du File System Linux complet sur
   cible PhyFLEX i.MX 6 DualCore

Processus Utilisateurs sous Linux embarqué
• Gestion de la mémoire virtuelle et application embarquée

3ème journée

Mise au point du Boot Loader et du kernel Linux sur système embarqué
• Préparation du boot loader U-BOOT/Barebox, Setup de l’architecture et utilisation des commandes 
  U-BOOT/Barebox 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 oeuvre d’une configuration de boot loader U-BOOT/Barebox sur plateforme Cortex A9
   PhyFLEX i.MX 6
• Débogage du boot loader et du noyau par sonde JTAG BDI3000 et GDB

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 oeuvre d’une configuration de boot loader U-BOOT/Bootloader sur
   plateforme Cortex A9 Phytec i.MX 6 DualCore
• Installation d’un système bootable via réseau et montage nfs avec U-BOOT/Bootloader sur
   kit PhyFLEX i.MX 6

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ème journé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 Linux pour
   plateforme phyFLEX i.MX 6 DualCore.
• Débogage de modules et pilotes de périphériques linux par sonde JTAG BDI3000 et GDB

5ème journé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 oeuvre de drivers RTDM et analyse de traces temps réel Xenomai
   sur kit PhyFLEX i.MX 6

Télécharger programme pdf

Télécharger programme en format pdf