Forum: Mikrocontroller und Digitale Elektronik ARM Linux, Cross Compile Problem


von Thomas B. (thomasb)


Lesenswert?

Hallo !

Hab hier ein kleines (Verständnis?)Problem beim Cross-Compiling für 
Linux.

Benutze ein Stamp9261-Modul (AT91SAM9261) von Taskit. Verwende dazu die 
von Taskit zur Verfügung gestellte Toolchain. Kompilierung des Kernels 
und auch eines eigenen Kernel-Treibers funktioniert problemlos.

Jetzt wollte ich aber mal ein kleines Testrogramm im User-Space laufen 
lassen und erhalte dabei im Terminal nur die Meldung "-sh: ./hellow: not 
found". Bei 'hellow' hat dabei natürlich vorher die Rechte zum Ausführen 
gesetzt.

Kompiliert habe ich das c-File mit dem gcc von der Toolchain 
(arm-linux-gnueabi-gcc, Version 4.1.2).

Habe ich hier etwas übersehen ?? Wie kann ich herausfinden was da schief 
läuft ??

Besten Dank und schöne Grüße,
Thomas

von Unbekannter (Gast)


Lesenswert?

Also der mitgelieferte Kernel ist eine Katastrophe, völlig veraltet und 
üble hacks, genauso wie in ihrem u-boot.

Zu Deinem Problem:

Das ist ein typisches Dynamik-Linker-Problem: Dir fehlen die 
runtime-libs vom verwendeten gcc auf der Stamp.

von Thomas B. (thomasb)


Lesenswert?

Danke für deine Antwort!

Kannst du mir einen Tipp geben wie ich das Problem löse ? Muss ich beim 
Compilieren auf etwas achten bzw. noch irgendwelche zu Pfade zu diesen 
runtime-libs angeben ?
Oder muss ich vielleicht die runtime-libs selber noch erstellen ? 
(Dachte eigentlich, dass die Toolchain so weit komplett und 
funktionsfähig ist)

von volltroll.de (Gast)


Lesenswert?

Wie es aussieht haste die falsche toolchain benutzt.
Das oabi rootfs aber die eabi toolchain.
wenn Du das rootfs nicht wechseln will, muß Du die toolchain von der cd 
nehmen, nicht die, die man im internet runterladen kann.

von volltroll.de (Gast)


Lesenswert?

PS: Warum wendest Du dich nicht direkt an Taskit?

von Thomas B. (thomasb)


Lesenswert?

@volltroll
Das würde es natürlich erklären, an das rootfs habe ich gar nicht 
gedacht.
Hab leider nur die Files die man von der Taskit-Seite laden kann.
Haben hier also nur das Modul ohne Starterkit oder dieser optionalen CD. 
Das Board auf dem es zum Testen läuft entspricht prinzipiell der 
"PanelCard EVB" aus dem Manual.

Naja, wieso ich mich nicht an Taskit wende: Da ich mich noch nicht so 
lange mit Embedded Linux beschäftige, denke ich, dass der Fehler eher 
bei mir liegt und wohl leicht zu lösen ist wenn man weiß woran es liegt 
und irgendwo passende Tipps bekommt.
Das Forum bei Taskit scheint auch nicht soo gut besucht sein.
Und bevor ich hier gepostet habe, hab ich auch schon etwas im AT91.com 
recherchiert aber nichts gefunden.

von Thomas B. (thomasb)


Lesenswert?

P.S: Wenn mein anderes "Problem" 
(Beitrag "AT91SAM9261, Stamp9261 Modul, Linux Problem") bei der nächsten 
Hardwareversion immer noch besteht, muss ich mich eh an Taskit direkt 
wenden - vielleicht hat ja auch das Modul selber etwas.
Jetzt muss ich aber erst mal schaun, dass ich da wirklich alles verstehe 
was man hierbei zur Entwicklung braucht, bin da im Moment aufgrund der 
unzähligen Varianten/Möglichkeiten noch etwas "verwirrt" (OpenEmbedded, 
Angstrom, EABI, ...) - aber schön langsam setzt sich das Bild zusammen 
:)

von Unbekannt U. (Gast)


Lesenswert?

Ich hab Dir mal eine Email geschrieben, bin aber nicht sicher ob Du mir 
antworten kannst...

von Krugman (Gast)


Lesenswert?

Wo haben die denn ein Forum?

Ich hab mir den Portux920T von denen geholt.
Habe aber schon Probleme das Teil zu konfigurieren.

Ich hab vsftp so konfiguriert wie in der Anleitung beschrieben bzw. von 
deren Vorlage abgeschrieben. Dennoch kann ich mit dem fpt nicht 
zugreifen. Das bedeutet, zugreifen geht schon und auch das einloggen, 
doch wenn er in das root wechseln soll, dann meldet das ftp-Programm, 
dass er das nicht kann.

Keine Ahnung wieso. Hab denen auch schon eine Mail geschrieben, bis 
jetzt (1 Tag) noch keine Rueckmeldung.

Weiterhin soll ich laut Anleitung im Ordner /mnt des Boards den Ordner 
/develop erstellen. Das geht auch nicht, da der Ordner nur read-only 
ist.
Richtig, versuchen wir es mal mit chmod 777. Geht aber auch nicht.

Bin noch nicht so erfahren mit Linux.

Gruss
Krugman

von Krugman (Gast)


Lesenswert?

Man muss in Linux (vsftp-config) anstatt (ro), (rw) setzten.
Weiterhin muss auf dem Controller der Ornder /root erstellt werden.

Dies kann man in der rc.local einstellen, sodass bei jedem start der 
Ornder erstellt wird.

Dann kann man sich auch einloggen per FTP. (Nicht vergessen, dass muss 
auch in der vsftp-datei (uC) aktualisiert werden).


Gruss
Krugman

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
Noch kein Account? Hier anmelden.