mikrocontroller.net

Forum: Compiler & IDEs Welche Toolchain fuer linuxprogramme auf AT91ARM9263


Autor: Kasei (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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-rele... 
)
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

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

SyntaxError kommt mir komisch vor. Wenn es an fehlerhaften Bibliotheken 
liegt kommen da andere Fehlermeldungen. Ich vermute da eher ein Problem 
mit der Shell auf deinem System.

Matthias

Autor: OHGOTT (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Kasei (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: OHGOOT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann kopier ein Binary von der Box auf deinen Rechner und lass da mal 
ldd drauf laufen ? Wie sind überhaupt deine Compiler-Switches ?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.