1. Qu'est-ce compilateur croisé
développeurs de systèmes embarqués sont généralement dans la plate-forme x86, et la traduction du logiciel pour fonctionner sur la plate-forme de bras, vous devez compilateur croisé, croix signifie que sur une architecture à une autre architecture compilez le code. Plate-forme de bras limitée des ressources générales, ne convient pas pour le développement
Installation du compilateur Cross
Avec gcc Linaro comme exemple:
1.sudo apt-get install gcc-ARM-Linux-gnueabihf
2. Télécharger le site officiel: https: //releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf /
Règles de nommage
Dans le bras-linux-gnueabihf-gcc exemple signification de chaque champ
1.arm représente certaine architecture de la puce, si elle est en mode grand endian le armeb ou armbe
2.Linux représenté environnement du système d'exploitation Linux, peut utiliser la bibliothèque standard sous Linux c ou noyau linux API fournit. armeabi-gcc exprimé ou bras-none-eabi-gcc leurs cibles sans courir l'environnement du système d'exploitation. Le développement réel utilisent essentiellement bras-linux-gnueabihf-gcc, y compris le métal nu et uboot, le code du noyau lui - même, si Linux ne sert pas lié pas vous tromper, mais cela ne suffit pas précise, il est donc préférable d'utiliser le bras-pas-eabi-gcc
3. Se déclare à gnu c types de bibliothèques bibliothèques glibc
4.eabi représentent architecture embarquée
5.hf: mode matériel à virgule flottante, pas hf représente le logiciel en mode virgule flottante
6. numéro de version du compilateur, généralement rétrocompatible, Cependant, certains programmes nécessitent une version spécifique du compilateur
L'impact du type de compilateur de programme
Compilateurs et bibliothèques devraient être coordonnées, si vous utilisez le compilateur à virgule flottante du logiciel, les bibliothèques offrent une erreur se produit est difficile mode virgule flottante