Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Cross-compiler pour architecture ARM.


Sujet :

Linux

  1. #1
    Membre averti
    Cross-compiler pour architecture ARM.
    Bonjour à tous! Voilà ayant pu mettre la main sur ma première console portable Linux (nommée GP2X Wiz ), je voudrais développer quelques jeux sur cette magnifique console. Mais le problème, c'est que je n'ai jamais fait de cross-compilation, et je voudrait savoir comment mettre en place un système pour l'architecture ARM et de compiler les librairies SDL, OpenGL, etc.. Si quelqu'un pourrait m'aider, merci d'avance.


  2. #2
    Membre averti
    en cherchant sur google j'ai trouvé ca:
    http://wiki.gp2x.org/wiki/Setting_up...ronment_(Linux)
    __________
    "Any sufficiently advanced technology is indistinguishable from magic" Arthur C. Clarke

  3. #3
    Membre averti
    Citation Envoyé par kamouminator Voir le message
    Oui je connaissais déjà le site, mais le problème c'est que pour la gp2x et non pour la gp2x wiz! J'ai aussi trouvé un SDK de base pour la GP2X Wiz, mais c'est la compilation de la SDL que je ne sais pas faire.


  4. #4
    Membre averti
    la compilation de lib peut effectivement poser quelques problemes en cross compilation, il faut passer les bonne option à ./configure...
    mais bon...je suppose que, ta board etant une console, le site officiel doit fournir dans le sdk au minimum la sdl compilé pour cette architecture (à verifier)
    sinon, il va falloir passer par le ./configure en precisant toute les variables d'environnement necessaire: ARCH, CROSS_COMPILE etc...
    mais je perciste a penser que tu n'est pas le seul à vouloir utiliser la SDL sur cete console, et que donc le site officiel doit proposer la SDL.
    __________
    "Any sufficiently advanced technology is indistinguishable from magic" Arthur C. Clarke

  5. #5
    Membre averti
    Citation Envoyé par kamouminator Voir le message
    la compilation de lib peut effectivement poser quelques problemes en cross compilation, il faut passer les bonne option à ./configure...
    mais bon...je suppose que, ta board etant une console, le site officiel doit fournir dans le sdk au minimum la sdl compilé pour cette architecture (à verifier)
    sinon, il va falloir passer par le ./configure en precisant toute les variables d'environnement necessaire: ARCH, CROSS_COMPILE etc...
    mais je perciste a penser que tu n'est pas le seul à vouloir utiliser la SDL sur cete console, et que donc le site officiel doit proposer la SDL.
    Pour l'ancienne console, oui! Mais celui là ne fournit que les compilateurs!, il faudra que je voit pour SDL dans les ./configure.


  6. #6
    Membre averti
    Citation Envoyé par terminator59140 Voir le message
    il faudra que je voit pour SDL dans les ./configure.
    tu n'a normalement pas besoin de modifier le configure juste a lui passer des variables d'environement
    regarde l'aide
    __________
    "Any sufficiently advanced technology is indistinguishable from magic" Arthur C. Clarke

  7. #7
    Membre averti
    Citation Envoyé par kamouminator Voir le message
    tu n'a normalement pas besoin de modifier le configure juste a lui passer des variables d'environement
    regarde l'aide
    Non mais je m'avais compris. Du style,

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    ./configure --host=...
    Mais je vais comme tu l'as dis, allez dans l'aide, car j'ai jamais rien passer en argument dans le fichier configure. Ca va être une première expérience...


  8. #8
    Nouveau membre du Club
    J'ai moi même commandé une GP2X wiz, et j'ai trouvé un compilateur pour cette console, il s'agit en fait de Dev-cpp mais j'ai trouvé une version "préréglé" et donc t'as juste a taper ton code normalement, comme si tu faisais de la SDL sauf qu'a la fin, il faut simplement le compiler pour la wiz.

    http://www.pockett.net/n2102_GP2X_Le...telechargement

    si ca peut t'aider

  9. #9
    Membre régulier
    La création d'une chaîne de compilation n'est pas quelque chose d'aisé et demande souvent d'y aller à tâtons.

    Heureusement pour des architectures répandues comme l'ARM, il existe des scripts permettant de créer automatiquement cette chaîne de compilation croisée.

    Il y a le script crosstool qui date un peu mais qui permet de bien comprendre comment se passe la construction en se plongeant dans les scripts.

    Il y a la chaîne ELDK de Denx (à vérifier si elle est ok pour les ARM, je ne l'ai utilisé que pour PPC).

    Il y a buildroot qui offre de nombreuses options de configuration que ce soit pour la chaîne jusqu'au noyau Linux avec la possibilité d'utiliser diverses libC dédiées à l'embarqué.

    Sinon en gros (je dis bien en gros, mes souvenirs s'effacent progressivement), la théorie sur la création d'une chaîne de compilation croisée est à mettre en parallèle avec le problème de l'oeuf et de la poule (dans le cas de l'utilisation de la libC pour un portage du noyau Linux par exemple).
    Il faut un compilateur croisé comme GCC mais pour le compiler, il faut la libC...

    Il faut commencer par les Binutils, ensuite avec les headers de la GLibC, on peut créer un GCC minimal qui permet de compiler les parties nécessaires de la GLibC pour compiler entièrement GCC et enfin compiler entièrement la lib C.

    Ensuite pour les options, il faut se renseigner via l'aide ou directement en allant faire un tour dans les fichiers de configuration ou makefile. On voit souvent les mêmes options revenir :
    host, target, with-sysroot, with-headers, LD, CC, RANLIB

    Tu devrais pouvoir trouver pas mal de choses sur le net même si souvent les articles datent un peu.

###raw>template_hook.ano_emploi###