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
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
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.
@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?
Dann kopier ein Binary von der Box auf deinen Rechner und lass da mal ldd drauf laufen ? Wie sind überhaupt deine Compiler-Switches ?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.