Je tente de construire une application pour ARMv6 mais, échouent.construire pour ARMv6 avec gnueabihf
Je suppose que le problème est la chaîne d'outils qui prend en charge Hard Float, mais pas ARMv6.
Eh bien, je commence par définir -march = armv6, où la compilation échoue.
/opt/gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux/arm-linux-gnueabihf/libc/usr/include/bits/byteswap.h: In function ‘__bswap_32’: /opt/gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux/arm-linux-gnueabihf/libc/usr/include/bits/byteswap.h:45:1: sorry, unimplemented: Thumb-1 hard-float VFP ABI
De plus, je mis -mfloat-abi = doux qui font l'Linker se plaindre:
/opt/gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: error: prog uses VFP register arguments, prog.o does not /opt/gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: failed to merge target specific data of file prog.o
Eh bien, comment puis-je construire réellement pour ARMv6? Ou y a-t-il un bug dans la chaîne d'outils?
Utilisez-vous Linux? Linaro est pour Linux OS/glibc et vous aurez des problèmes à moins que vous compiliez avec '-ffreestanding'. Je vous suggère d'utiliser [un compilateur newlib] (https://launchpad.net/gcc-arm-embedded) si vous êtes vraiment intégré. Le tableau de bord a plusieurs versions pour différents hôtes (y compris une boîte de développement d'hôte Linux). Sinon, vous pouvez utiliser la balise 'embedded-linux'. –