Welche Toolchain fuer linuxprogramme auf AT91ARM9263

Gast #1016501
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
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
@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

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.