Outils pour utilisateurs

Outils du site


dev:raspberry:cross-toolchain:start

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
dev:raspberry:cross-toolchain:start [2012/12/11 21:59] rootdev:raspberry:cross-toolchain:start [2021/02/01 21:51] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== Principe ======+====== La compilation croisée ===== 
 + 
 +===== 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.\\ 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. 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.+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 voire impossible.
  
-===== La cross toolchain =====+===== L'outil 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:+Le terme cross toolchain (chaine de compilation croiséedésigne un esemble d'outils dédiés à la génération de fichiers qui seront exécutables sur la plateforme cible:
   * Des compilateurs tels que gcc, g++ ou gnat.   * Des compilateurs tels que gcc, g++ ou gnat.
   * Des outils de manipulation de fichiers binaires ld, as ou ar.   * Des outils de manipulation de fichiers binaires ld, as ou ar.
Ligne 17: Ligne 19:
  
 ==== cross toolchain précompilée ==== ==== 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. + 
 +La plupart des distributions proposent des cross toolchain précompilée. Certains produit tels que ELDK(Embedded Linux Development Kit) sont également disponibles. Ils ont pour avantage d'être simple à mettre en place,d' être utilisés par un grand nombre de developpeursOn peut ainsi bénéficier d'un support plus facilement soit via l'entreprise d'édition soit via la communauté. En contrepartie elle sont génériques, il n'est pas possible de modifier les versions des composants
  
  
 ==== compilation de la cross toolchain ==== ==== 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:+La compilation d'une chaine peut s'averrer fastidieuse. Il y a de fortes dépendances entre la croos toolchain et la Glibc et de fortes dépendances entre la Glic et le noyau. Regrouper les versions des paquets compatibles, tenter la compilation, résoudres les incompatibilités, appliquer les patchs recompiler... Certains outils permettent de sélectionner les bonnes versions de packages et de compiler la chaine:
   * Crosstool   * Crosstool
   * Crosstool-NG   * Crosstool-NG
   * Scratchbox   * Scratchbox
   * OpenEmbedded   * OpenEmbedded
-  * Buildroot+  * [[:dev:raspberry:cross-toolchain:buildroot|Buildroot]] 
  
  
  
  
dev/raspberry/cross-toolchain/start.1355263148.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)