Partage
  • Partager sur Facebook
  • Partager sur Twitter

Debut sur la cross-compilation

    21 février 2017 à 18:31:31

    Bonjour,

    J'ai une petite question sur la cross-compilation d'un fichier sur une cible arm.

    Je débute et me heurte à quelques petits soucis :

    J'ai un fichier très basique  (test.c) :

    #include <stdlib.h>
    
    
    int main(void)
    {
            int i = 0;
    
            while(1)
            {
                    i +=1;
            }
            return 0;
    }
    
    

    Lorsque je veux compiler ce source je tappe :

    arm-none-eabi-gcc -Wall test.c -o test

    Mais il m'arrive cette erreur :

    /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function `exit':
    /build/newlib-5zwpxE/newlib-2.2.0+git20150830.5a3d536/build/arm-none-eabi/newlib/libc/stdlib/../../../../../newlib/libc/stdlib/exit.c:70: undefined reference to `_exit'
    collect2: error: ld returned 1 exit status

    Je suis aller voir sur internet et j'ai vu des réponses comme quoi c'est dû à un problème avec la libc du arm-none-eabi, le truc c'est que j'ai beau le mettre à jour (via apt-get), j'ai rien de plus à installer.

    Ensuite j'ai un deuxième soucis qui arrive. Pour le moment je veux tester le compilateur avec un programme très simple. Mais plus tard je souhaite compiler sur une carte STM32F1, possèdant un cortex m3, du coup si j'ajoute "mcpu=cortex-m3" :

    arm-none-eabi-gcc -Wall -mcpu=cortex-m3 test.c -o test.bin

    il me met cette erreur lors de la compilation :

    "test.c:1:0: error: target CPU does not support ARM mode"

    Je pense que ce sont des problèmes bidons, mais j'ai un niveau débutant sur Linux.

    Je vous remercie d'avance :)

    • Partager sur Facebook
    • Partager sur Twitter

    Debut sur la cross-compilation

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown