Différence entre arm-eabi bras-gnueabi et gnueabi-hf compilateurs
Quelle est la différence entre arm-eabi, gnueabi et gnueabi-hf compilateurs croisés.
Je suis un peu de mal à choisir les compilateurs.
Est-il un compilateur natif pour les bras?
la eabi stands pour la compilation de code qui sera exécuté sur un bras de métal de base.
la gnueabi stands pour la compilation de code pour linux
Pour la gnueabi/gnueabi-hf part, j'ai trouvé une réponse ici.
gcc-arm-linux-gnueabi est le cross-toolchain package pour l'architecture armel. Cette chaîne de traitement implique l'EABI généré par gcc-mfloat-abi=doux ou -mfloat-abi=softfp options.
gcc-arm-linux-gnueabihf est le cross-toolchain package pour l'architecture armhf. Cette chaîne de traitement implique l'EABI généré par gcc-mfloat-abi=dur en option.
Voir aussi: wiki.linaro.org/WorkingGroups/ToolChain/...Le nu-métal ABI (eabi) assume une autre bibliothèque C (newlib par exemple, ou même pas de la bibliothèque C) de l'ABI Linux (gnueabi, ce qui suppose que la glibc). Par conséquent, le compilateur peut prendre différents appels de fonction selon ce qu'il croit est disponible ci-dessus et au-delà de la bibliothèque Standard C. Même si je vois que vous avez tirés à partir d'une source externe, l'utilisation de architecture ici est trompeuse. La différence entre armel et armhf est fondamentalement la différence entre le logiciel de point flottant et le matériel en virgule flottante EABI généré par les compilateurs. Ok @sherrellbc recommanderiez-vous à une reformulation? La formulation est très bien, hormis l'utilisation de architecture dans votre devis. Je le mentionne, c'est trompeuse seulement parce qu'il n'y a pas de armel architecture -- il est toujours va être un compilateur pour l'architecture ARM. Le compilateur va utiliser un spécifique EABI pour une utilisation sur une telle architecture selon les paramètres fournis lors de la compilation. Comme votre commentaire unis, gcc est invité à utiliser des soft à virgule flottante mécanismes, plutôt que de prendre en charge le matériel flottant point de mécanismes (ce qui est nécessaire si il n'y a pas de FPU). Il est également à noter armeb option, qui est armel à l'aide de big endian commande.
Je ne suis pas complètement sûr:
Pour la gnueabi/gnueabi-hf part, j'ai trouvé une réponse ici.
Même si je vois que vous avez tirés à partir d'une source externe, l'utilisation de
architecture
ici est trompeuse. La différence entrearmel
etarmhf
est fondamentalement la différence entre le logiciel de point flottant et le matériel en virgule flottante EABI généré par les compilateurs.Ok @sherrellbc recommanderiez-vous à une reformulation?
La formulation est très bien, hormis l'utilisation de
architecture
dans votre devis. Je le mentionne, c'est trompeuse seulement parce qu'il n'y a pas dearmel architecture
-- il est toujours va être un compilateur pour l'architecture ARM. Le compilateur va utiliser un spécifique EABI pour une utilisation sur une telle architecture selon les paramètres fournis lors de la compilation. Comme votre commentaire unis, gcc est invité à utiliser des soft à virgule flottante mécanismes, plutôt que de prendre en charge le matériel flottant point de mécanismes (ce qui est nécessaire si il n'y a pas de FPU). Il est également à noterarmeb
option, qui estarmel
à l'aide de big endian commande.OriginalL'auteur Akhneyzar