Outils pour utilisateurs

Outils du site


dev:raspberry:cross-toolchain:start

Ceci est une ancienne révision du document !


Principe

On utilise des outils (on parle de chaine de compilation croisée ou cross toolchain) pour générer des fichiers exécutables par une autre machine (la cible) basée sur une architecture différente.
Application courante: J'utilise mon PC pour générer des programmes qui s'éxecuteront sur une machine ayant de plus faibles ressources: ma raspeberry Pi.

Cela peut sembler plus compliqué, pourquoi ne pas les générer les programmes directement sur la cible? Souvent ces cibles sont des plateformes légères, dédiée à de l'embarqué par exemple. Leurs ressources sont limitées: espace de stockage, cadence du processeur, quantité de mémoire. La génération des binaires peut être bien plus longue.

La cross toolchain

La chaine de compilation croisée désigne un esemble d'outils dédiés à la génération de fichiers exécutables sur la plateforme cible:

  • Des compilateurs tels que gcc, g++ ou gnat.
  • Des outils de manipulation de fichiers binaires ld, as ou ar.
  • Des bibliothèques pour la plateforme cible libC.
  • débogeurs gdb et gdbserver

Installer une cross toolchain

cross toolchain précompilée

La plupart des distributions proposent des cross toolchain précompilée. Elles ont pour avantage d'être simple à mettre en place. Par contre elle sont génériques.

compilation de la cross toolchain

La compilation d'une chaine peut s'averrer fastidieux. Regrouper les packages, tenter la compilation, résoudres incompatibilités, appliquer les patchs recompiler… Certains outils permettent de sélectionner les bonnes versions de packages et de compiler la chaine:

  • Crosstool
  • Crosstool-NG
  • Scratchbox
  • OpenEmbedded
  • Buildroot
dev/raspberry/cross-toolchain/start.1355263148.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)