J'ai mis en place un compilateur croisé en utilisant buildroot.
Le périphérique cible exécute Linux et dispose d'un processeur MIPS (il s'agit d'un Dreambox dm500hd).
configuration Buildroot (seulement les choses que j'ai changé):Le compilateur croisé pour MIPS ne semble pas créer de programmes valides
- Configuration cible
- Architecture: MIPS (little endian)
- variante Architecture: MIPS32 Générique
- Toolchain configuration
- [*] Activer C++ Su PPort
- [*] Activer le support lien temps optimisation compilateur
J'ai suivi la procédure d'installation et buildroot rend le compilateur avec succès (mips-linux-gcc et g ++).
Bonjour fichier du monde (test mips.cpp)
#include <iostream>
using namespace std;
int main() {
cout << "hello world";
return 0;
}
Je peux compiler Bonjour tout le monde, mais quand je le lance sur le dispositif cible une erreur est renvoyée:
dm500hd:~$ ./test-mips
./test-mips: line 1: [email protected]▒�P4: not found
./test-mips: line 1: syntax error: unexpected word (expecting ")")
Les caractères étranges apparaissent seulement si je construis le compilateur pour little-endian: l'erreur pour les programmes compilés avec big-endian est la même, mais avec des espaces au lieu de ▒�
.
J'ai essayé à la fois le petit boutiste et le gros boutiste mais le problème est le même. Ai-je fait quelque chose de mal en configurant buildroot alors?
Note: cat /proc/cpuinfo
jeu moi ce résultat. Dois-je changer la variante d'architecture?
system type : BCM7413B1 STB platform
processor : 0
cpu model : Brcm4380 V4.4 FPU V0.1
BogoMIPS : 403.45
cpu MHz : 405.010
wait instruction : yes
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : no
ASEs implemented : mips16
shadow register sets : 1
kscratch registers : 0
core : 0
VCED exceptions : not available
VCEI exceptions : not available
processor : 1
cpu model : Brcm4380 V4.4 FPU V0.1
BogoMIPS : 403.45
cpu MHz : 405.010
wait instruction : yes
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : no
ASEs implemented : mips16
shadow register sets : 1
kscratch registers : 0
core : 0
VCED exceptions : not available
VCEI exceptions : not available
Je ne sais vraiment pas si c'est compatible, je vais essayer d'installer le fs généré et voir si cela fonctionne de cette façon –
Merci, l'installation du système de fichiers généré a résolu le problème. Apparemment, le logiciel préinstallé n'est pas compatible ABI avec les programmes compilés à l'aide de gcc/g ++ de buildroot. –