I VAR-SOM-AM33 Board verwenden und will Beispielcode wie hallo Welt läuft auf dem Gerät laufen und es gibt -sh: ./ Test: Fehler nicht gefundenLinkers Ausgabe während Kreuzkompilierung für Cortex-A8-Gerät
Toolchain verwendete für Kompiliercode ist gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.
-Code ist als unten
#include <stdio.h>
int main(){
printf("hello world");
return 0;
}
für crosscompile Datei
arm-linux-gnueabihf-gcc test.c -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 -o test
binären Ausgang zeigt als
test: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.31, BuildID[sha1]=2ce1c5b3d97dac2093fe2cd2d340cdaa9989923f, not stripped
Nach Kopie, die Hardware-Datei in folgt und führen Sie es zeigt folgende Fehler
[email protected]:~# ./test
-sh: ./test: not found
Dateiberechtigungen ändern auch durch
[email protected]:~# chmod +x test
aber Ergebnis zeigt gleiche Fehler nicht gefunden.
Demo-Datei, die auf Hardware ausgeführt wird, seine Architektur wie folgt
[email protected]:~# readelf -A /usr/bin/hello
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "7-A"
Tag_CPU_arch: v7
Tag_CPU_arch_profile: Application
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-2
Tag_VFP_arch: VFPv3
Tag_Advanced_SIMD_arch: NEONv1
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align8_needed: Yes
Tag_ABI_align8_preserved: Yes, except leaf SP
Tag_ABI_enum_size: int
Tag_ABI_HardFP_use: SP and DP
und Datei, die Quer kompiliert wird, seine Architektur wie folgt
[email protected]:~# readelf -A test
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "7-A"
Tag_CPU_arch: v7
Tag_CPU_arch_profile: Application
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-2
Tag_VFP_arch: VFPv3
Tag_Advanced_SIMD_arch: NEONv1
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align8_needed: Yes
Tag_ABI_align8_preserved: Yes, except leaf SP
Tag_ABI_enum_size: int
Tag_ABI_HardFP_use: SP and DP
Tag_ABI_VFP_args: VFP registers
Tag_CPU_unaligned_access: v6
Tag_unknown_44: 1 (0x1)
Auch Hardware cpuinfo ist als
folgt[email protected]:~# cat /proc/cpuinfo
Processor : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 718.02
Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2
Hardware : Variscite VAR-SOM-AM33
Revision : 0000
Serial : 0000000000000000
Ich habe versucht, den Befehl ldd auf dem Zielgerät auszuführen.
So vermute ich, dass das Problem mit dem Linker verwandt ist. Wenn ich die Datei einfach kompiliere, ohne sie zu verknüpfen.
arm-linux-gnueabihf-gcc -mtune=cortex-a8 -march=armv7 -O -c test.c -o test
Jetzt, wenn ich diese Datei ausführen, bekomme ich diesen Fehler.
[email protected]:~# chmod +x test
[email protected]:~# ./test
./test: line 1: syntax error: word unexpected (expecting ")")
schlagen Sie bitte vor, wie Sie das beheben können.
Eine weitere Sache wäre zu prüfen sein, um sicherzustellen, dass eine statisch gelinkte Build OK läuft - wenn ja, dass es defnitely bis zu einem Abhängigkeitsproblem verengt. – Notlikethat