Comment faire pour résoudre crt0.o liaison problème à la compilation croisée?
Comment ajouter ctr0.o
?
J'obtiens cette erreur:
yagarto-4.7.2/bin/arm-none-eabi-ld: cannot find crt0.o: No such file or directory
collect2: error: ld returned 1 exit status`
lors de la compilation programme très simple de ici:
/* -- first.s */
/* This is a comment */
.global main /* 'main' is our entry point and must be global */
.func main /* 'main' is a function */
main: /* This is main */
mov r0, #2 /* Put a 2 inside the register r0 */
bx lr /* Return from main */
J'ai vu ces 2 threads et ne pas obtenir tout plein et droite, avant de répondre:
- http://www.raspberrypi.org/phpBB3/viewtopic.php?t=50046
- Quelle est la justification de la suppression crt0.o gcc4.7.x?
J'ai ces fichiers, quelle est la différence entre crt0 et crtn je ne peux pas l'utiliser?
./yagarto-4.7.2/lib/gcc/arm-none-eabi/4.7.2/crtbegin.o
./yagarto-4.7.2/lib/gcc/arm-none-eabi/4.7.2/crtend.o
./yagarto-4.7.2/lib/gcc/arm-none-eabi/4.7.2/crti.o
./yagarto-4.7.2/lib/gcc/arm-none-eabi/4.7.2/crtn.o
./yagarto-4.7.2/lib/gcc/arm-none-eabi/4.7.2/thumb/crtbegin.o
./yagarto-4.7.2/lib/gcc/arm-none-eabi/4.7.2/thumb/crtend.o
./yagarto-4.7.2/lib/gcc/arm-none-eabi/4.7.2/thumb/crti.o
./yagarto-4.7.2/lib/gcc/arm-none-eabi/4.7.2/thumb/crtn.o
./yagarto-4.7.2/lib/gcc/arm-none-eabi/4.7.2/thumb/v6m/crtbegin.o
./yagarto-4.7.2/lib/gcc/arm-none-eabi/4.7.2/thumb/v6m/crtend.o
./yagarto-4.7.2/lib/gcc/arm-none-eabi/4.7.2/thumb/v6m/crti.o
./yagarto-4.7.2/lib/gcc/arm-none-eabi/4.7.2/thumb/v6m/crtn.o
./yagarto-4.7.2/lib/gcc/arm-none-eabi/4.7.2/thumb/v7m/crtbegin.o
./yagarto-4.7.2/lib/gcc/arm-none-eabi/4.7.2/thumb/v7m/crtend.o
./yagarto-4.7.2/lib/gcc/arm-none-eabi/4.7.2/thumb/v7m/crti.o
./yagarto-4.7.2/lib/gcc/arm-none-eabi/4.7.2/thumb/v7m/crtn.o
DONC la solution donne une solution qui ne fonctionne pas non plus:
arm-none-eabi-gcc -o first assembler_tutorial/chapter01/first.o -nostartfiles
./yagarto-4.7.2/bin/arm-none-eabi-ld: warning: cannot find entry symbol _start; defaulting to 0000000000008000
OriginalL'auteur 0x90 | 2013-08-24
Vous devez vous connecter pour publier un commentaire.
vecteurs.s
principal.s
memmap (linker script)
commandes
résultat
Si vous souhaitez utiliser le C à la place de l'asm pour principal puis
principal.c
commandes
résultat
Je préfère utiliser un nom de fonction autre que la principale cause de certains compilateurs ajout d'un supplément de bagages quand ils verront que le nom de la fonction.
vecteurs.s
principal.c
résultat
Extrêmement utile de répondre. Je vous remercie beaucoup.
OriginalL'auteur old_timer
J'ai eu le même problème en essayant de compiler pour STM32F4xx (Cortex M4).
J'ai abandonné Yagarto et tournés vers l'utilisation d'Outils GNU ARM Intégré -
toolchain (4.8_2014q2):
https://launchpad.net/gcc-arm-embedded
Semble fonctionner pour moi.
OriginalL'auteur Divergence