+ +
- -
Systèmes d'Exploitation
Calendrier  Détails
Programmation
 
Calendrier  Détails
Processors
 
Calendrier  Détails
Communications
 
 
 
Calendrier  Détails
+ +
> >
- -

Dernières Nouvelles

Workshop gratuit Linux Embarqué avec System Workbench for Linux le 26 Mars 2020 à Rennes, avec ARROW

 
ac6 >> ac6-training >> Systèmes d'Exploitation >> Linux >> Linux embarqué NXP avec LTIB Télécharger le catalogue Télécharger la page Ecrivez nous Version imprimable

D1L Linux embarqué NXP avec LTIB

Linux pour les systèmes embarqués Freescale à base ARM et PowerPC

Linux pour les systèmes embarqués Freescale à base ARM et PowerPC
formateur
Objectifs
  • Concevoir son propre système Linux avec LTIB
  • Utiliser les outils de développement natifs ou croisés
  • Personnaliser, réduire et configurer le noyau Linux
  • Embarquer Linux sur Flash EPROM
  • Détailler la procédure de boot Linux
  • Monter un système de fichier distant
  • Booter un noyau Linux distant
Matériel
  • Un PC Linux par binôme
  • Une carte embarquée par binôme :
    • 1 carte NXP i.MX31
    • 1 carte simulée (Qemu) à base d'ARM 926 (carte de référence "Versatile" de chez ARM)
  • Support de cours
  • CDROM avec documentation et outils utilisés
Pré-requis
  • Connaissance de Linux utilisateur

1er jour
Architecture de Linux
  • Présentation de Linux
  • Licences GPL et open source
  • Distributions Linux
  • Architecture et modularité de Linux
Les outils Linux pour l'embarqué
  • Les firmware/bootloader (Uboot, Redboot,...)
  • Les librairies adaptée à l'embarqué (uClibc, dietlibc,...)
  • Les IHM adaptées à l'embarqué (miniGUI,Qtopia, Nano-X,...)
  • Busybox, le "couteau suisse" de Linux embarqué
  • Les distributions spécialisées
    • Commerciales (MontaVista, Sysgo, Timesys, Windriver,...)
    • Open Source (ELDK, Koan, RTAI,...)
Les chaînes de compilation croisée
  • Chaînes complètes (ELDK, CodeSourcery, ...)
  • Outils de compilation de chaînes (Crosstool-ng, Buildroot, ...)
  • Compilation manuelle
Exercise :  Construction d'une chaîne avec Crosstool-ng, avec Buildroot. Etude des différences.
2ème jour
Création du noyau Linux pour l'embarqué
  • Téléchargement des sources
  • Etude du Makefile du noyau
  • Patch du noyau
  • Configuration du noyau
  • Compilation native et croisée du noyau Linux et des modules
  • Installation des modules et du noyau
Etude du support des MTD dans Linux (Memory Technology Devices)
  • Les mémoires de type NOR
  • Les mémoires de type NAND
Exercise :  Patch d'un noyau "vanilla" afin de l'adapter à la carte i.MX31
Exercise :  Configuration et compilation du noyau pour la carte i.MX31
Création/modification du Board Support Package (BSP)
  • Etude des BSP ARM
    • Les numéros de machine ARM
    • Organisation des fichiers sources
    • Les Makefiles
    • Les fichiers de configuration
    • La struct machine_desc
Exercise :  Modification du BSP pour le support et le partitionnement d'une mémoire NAND
Création du système de fichier racine
  • Périphériques, programmes, bibliothèques...
  • Installation des modules
  • Recherche et installation des bibliothèques dynamiques nécessaires
  • Vérification de la cohérence du système de fichier
  • Utilisation de l'outil LTIB pour générer un système de fichiers racine embarqué pour cartes NXP.
    • Paramétrage et configuration
    • Sélection des packages constituant le système.
    • Modification de package
    • Ajout de package
Exercise :  Création d'un système fonctionnel avec LTIB
Exercise :  Ajout de packages dans LTIB
3ème jour
Choix du type de système de fichier
  • Ramdisk/initrd
  • Systèmes de fichier adapté aux mémoires flashs (JFFS2, UBIFS, ...)
  • Systèmes de fichier adaptés à l'embarqué (ROMFS, CRAMFS, ...)
  • Systèmes de fichiers compatibles "desktop" (EXT2, FAT)
Boot de Linux
  • Partionnement d'un disque Linux
  • Bootloaders (lilo, grub, syslinux, RedBoot...)
  • Paramètres du noyau au boot
  • Etapes de chargement et de démarrage du noyau
  • Choix des programmes lançés au démarrage (runlevels, services, suppression de l'IHM...)
Exercise :  Partitionenemt dynamique de la NAND
Exercise :  Flashage du noyau et du système de fichier
Exercise :  Boot depuis la mémoire flash
4ème jour
Développement croisé
  • Préparation de la machine hôte
    • Services réseau (DHCP, TFTP)
    • Partage du système de fichier (NFS)
    • Utilisation de la chaîne de développement croisé LTIB
    • Etude des outils de développement (gss, gdb, Les Makefiles, ...)
    • Utilisation de l'IDE Eclipse pour la programmation et le debug croisé
  • Préparation de la cible
    • Téléchargement d'un noyau par TFTP
    • Démarrage sur un système de fichier distant (diskless)
    • Utilisation de gdbserver pour le debug distant
  • Utilisation de Qemu pour simuler une carte complète
Exercise :  Démarrage de la carte I.MX31 avec un système Linux LTIB distant.
Exercise :  Démarrage du système Linux LTIB à partir d'un émulateur ARM (Qemu).
Exercise :  Compilation, test et debug distant d'une application embarquée.
Exercise :  Compilation et installation de modules noyau indépendants
Exercise :  Compilation croisé de paquetage