Welche Toolchain fuer linuxprogramme auf AT91ARM9263

Gast #1016501
Lesenswert?

Hi

Ich sitze vo einem AT91ARM9263-EK board, auf ihm laeuft das 
vorkompilierte Armstrong Linux von http://linux4sam.org
Netzwerk geht, dh. ich kann mit ssh/scp Daten uebertragen.
Habe schon unter Linux einen eigenen Kernel (2.6.24) mit einem 
selbstkompilierten Crosscompilier (gnuarm 4.1 gcc Version) erstellt und 
verwende diesen anstatt des Kernels von linux4sam.org .

Leider bekomme ich es nicht hin, ein einfaches helloworld.c so zu 
compilieren das es, nachdem ich es auf das Board geladen habe, 
funktioniert.

Ich habe es mit dem selbstcompilierten Crosscompilier versucht, der mir 
anstandslos den kernel erstellt hat. Beim Ausfuehren auf dem Board 
bekomm ich ne Fehlermeldung (Syntaxerror)
Dann habe ich gelesen, das man dafuer wohl einen Crosscompiler mit glibc 
oder uClibc braucht. also habe ich mir von http://nihilisme.ca/arm/ den 
letzten Crosscompiler( ) gezogen, entpackt, compiliert, hochgeladen, und 
beim ausfuehren mit "sh ./hello " wieder die Fehlermeldung:' 1: Syntax 
error: word unexpected (expecting ")") '.
Habe auch schon www.scratchbox.org versucht. ( mit der Toolchain: 
http://www.scratchbox.org/download/files/sbox-releases/apophis/deb/scratchbox-toolchain-arm-gcc4.1-uclibc20061004_1.0.4_i386.deb 
)
Auch das damit compilierte helloworld.c geht nicht :(, der selbe Fehler 
wie oben.

Die Frage ist, womit kann ich ein helloworld.c (und so weiter) 
kompilieren so das es auf dem board laeuft. Fehlen auf dem Board/in der 
Armstrongversion die noetigen Bibliotheken? oder verwende ich einfach 
nur den falschen Compiler?
Oder muss ich mich von dem Armstrong Linux verabschieden und ein anderes 
verwenden(welches? selbsterstelltes?)

Hoffe ihr koennt mir helfen. Beantworte auch gerne weitere Fragen wenn 
das hilft.

Grus Kasei
Gast #1016827
Lesenswert?

Schau dir mal die Parameter von der Shell an ! Da stimmt was nicht 
!!!!elfelf1111!!!

Am besten mal "man sh" oder "man bash" !

Das war mein erstes Post, sorry:

Was bist du denn fuer ein Noob ? Quatscht hier was von Kernel 
durchleiern und stellst solche Fragen. Wie wäre es mal, dein rein 
verbales Wissen in die Praxis umzusetzen ?

Schau dir deine Befehlszeile an und du weisst was du falsch machst.
Gast #1017481
Lesenswert?

@OHGOTT: Ja in manchen belangen bin ich ein noob schulterzuck dennoch 
ist dein tonfall nicht sehr freundlich.

das sh ./hello nicht geht ist mir inzwischen auch klar.

aber auch ein ./hello geht ebenfalls nicht, sonst haette ich das mit sh 
garnicht versucht.

jenachdem welchen crosscompiler ich verwende bekomme ich 
unterschiedliche fehlermeldungen.

am weitesten kam ich mit der scratchbox compilierten variante:
nachdem ich uclibc.so.0 und libc.so.0 aufs board kopiert habe kommt nun 
der fehler:

./sb-arm-hello: can't handle reloc type 0x13

ldd unter scratchbox lieferte:
> ldd sb-arm-hello
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00000000)
libc.so.0 => /lib/libc.so.0 (0x00000000)
/lib/ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x00000000)

> file sb-arm-hello
sb-arm-hello: ELF 32-bit LSB executable, ARM, version 1 (ARM), 
dynamically linked (used shared libs), not stripped

liegt das daran das scratchbox die uclib benutzt?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren