Forum: Compiler & IDEs ARM Eclipse YAGARTO für Webserver


von KRitter (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

in der letzten Ausgabe des Embedded projekt journals war ein für mich 
interessanter Beitrag zum einfachen Aufbau eines „embedded web servers“ 
enthalten. Basis ist ein ARM von Atmel.

http://www.embedded-it.de/bsp/demos/webserver_relais.php

Ich habe die entsprechende HW aufgebaut bekomme aber die Toolchain unter 
XP nicht ans Laufen…und hoffe daher auf einen Tip von Euch!

Ich möchte nicht auf Kommandozeilenebene arbeiten und setze daher auf 
ECLIPSE.

http://www.yagarto.de/howto/yagarto2/index.html

Folgende Komponenten habe ich installiert:

YAGARTO TOOLS      C:\Programme\yagarto-tools-20100703

YAGARTO       C:\PROGRAMME\YAGARTO

ECLIPSE        C:\PROGRAMME\ECLIPSE

C/C++ Development Tooling  in ECLIPSE integriert

Workspace von ECLIPSE       D:\EclipseWorkspace

NUTOS         C:\ethernut-4.8.9

Anschließend habe ich die Projektdateien in ECLIPSE importiert (Anhang).

Bei „clean“ oder „build“ kommt jedoch immer die Fehlermeldung das er 
verschiedene Verzeichnisse nicht finden kann…

„which make.exe“ liefert:  C:\programme\winavr\utils\bin\make.exe

Grüße K.Ritter

: Verschoben durch Moderator
von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

(Thread aus dem englischsprachigen Forum hierher verschoben)

Bei den relativen Pfandangaben im makefile muss der Aufruf von make 
durch Eclipse sehr wahrscheinlich aus einem bestimmten Verzeichnis 
heraus erfolgen. W.r.e. kann man irgendwo in Eclipse das build directory 
des Projekts einstellen. Evtl. auch relativ zum Workspace-Directory.

von 900ss (900ss)


Lesenswert?

KRitter schrieb:
> Bei „clean“ oder „build“ kommt jedoch immer die Fehlermeldung das er
> verschiedene Verzeichnisse nicht finden kann…
>

Poste doch mal die Fehlermeldungen.

> „which make.exe“ liefert:  C:\programme\winavr\utils\bin\make.exe

Das deutet darauf hin, dass er das "AVR-Make" zuerst findet im Pfad. 
Sollte ja eigentlich das der ARM-Toolchain (YAGARTO) sein.

Hast du die YAGARTO-Toolchain auch im Pfad? Sonst findet Eclipse die 
Toolchain nicht (nur mit Trick).

von Konrad R. (kritter)


Lesenswert?

Es sind WINAVR für Atmel 8 bit und Eclipse + YAGARTO für 32bit Atmel 
installiert.

In der Path Environnmentvariablen sind beide Verzeichnisse vorhanden, 
WINAVR kommt aber als Erstes.

Wie kann ich Eclipse sagen, dass es in YAGARTO auf die Suche gehen 
soll...?

Grüße Kritter

von Oliver (Gast)


Lesenswert?

Mit dem Eclipse Gnu-Arm-plugin geht manches einfacher.

Oliver

von 900ss (900ss)


Lesenswert?

Konrad Ritter schrieb:
> In der Path Environnmentvariablen sind beide Verzeichnisse vorhanden

Das ist dann so in Ordnung. Falls das Make aus der AVR Toolchain nicht 
funktionieren sollte, dann kannst du im Pfad die ARM-Toolchain als 
erstes eintragen, dann wird das asl erstes benutzt.

Nochmal: Poste deine Fehlermeldungen. So ist das rumraten.

Oliver schrieb:
> Mit dem Eclipse Gnu-Arm-plugin geht manches einfacher.

Wenn die Pfade zu den Toolchains nicht stimmen, dann auch nicht.

von Herne (Gast)


Lesenswert?

Die Fehlermeldungen sieht man(n) doch oben im Screenshoot (ganz unten)

Grüße

von 900ss (900ss)


Lesenswert?

Herne schrieb:
> Die Fehlermeldungen sieht man(n) doch oben im Screenshoot (ganz unten)

Upps, hatte ich verdrängt ;-)

Die Fehlermeldungen deuten nicht auf eine fehlerhafte 
Toolchaininstallation hin.

Das sieht eher so aus als Make nicht das findet was im Makefile steht. 
Das ist scheinbar dein Sourcetree nicht dort, wo der Makefile es 
erwartet.

Mach eine Konsole auf und navigiere in das Sourcedirectory, wo der 
Makefile steht. Dort gibst du "Make" ein. Evtl. geht es dann?!
Das nur zum testen, ob es überhaupt geht.

Weiter gibt es doch sicher ein Readme, wie man das Zeug baut.

von Konrad R. (kritter)


Angehängte Dateien:

Lesenswert?

Da gibt es nun doch einige recht gute Tutorials und trotzdem geht es 
nicht...sicher nur eine kleine Stolperstelle, aber ich kann diese eben 
nicht finden...:-(

Wie gesagt laufen soll Eclipse mit YAGARTO + Ethernut als OS auf dem 
ARM.

Um die Fehlerquelle einzuschränken habe ich das wohl einfachste Beispiel 
was Ethernut mitliefert "simple" in Eclipse importiert.

Make clean und make all verweigern aber den Dienst...und behauptet: "no 
rule to make target..."

Ich habe das makefile mal angehangen, mit denen kenne ich mich leider 
bis auf die Basics noch nicht wirklich aus.

Grüße Kritter

von 900ss (900ss)


Lesenswert?

Nochmal: Hast du es in der Windows-Console probiert? Geht es dann?

Der Console-Output (Reiter Console) von Eclipse wäre auch interessant.
Aber er findet wohl die Dateien ../Makedefs und ../Makerules nicht.
Sind die vorhanden? Groß-Kleinschreibung der Dateien ist bei Make 
manchmal wichtig (auch unter Windows).

von Konrad R. (kritter)


Lesenswert?

In der Windows-Console funzt es auch nicht, aber noch mal einen Schritt 
zurück..

Ja Du hast Recht es liegt an dem makedefs sie er nicht findet. Das kommt 
daher, das das ETHERNUT nicht richtig installiert war. Habe dieses jetz 
noch mal neu aufgesetzt.

Bei "Build NUT/OS" aus dem NUT/OS Configurator heraus wird make clean 
richtig ausgeführt. Bei make all kommt folgendes:

0:54:13: Located C:\Programme\WinAVR\utils\bin\make.exe
../../nut/arch/arm/debug/common_xxx_handler.c:49:34: fatal error: 
arch/arm/exception_c.h: No such file or directory
compilation terminated.
make[1]: *** [arm/debug/common_xxx_handler.o] Error 1
make: *** [all] Error 2
20:54:38: ----- 'make all' failed with error 2 -----

Was mich auch wundert, wieso schafft ETHERNUT mit WinAVR, will doch 
einen ARM proggen, oder ist das bei make egal...?

any idea?

von 900ss (900ss)


Lesenswert?

Konrad Ritter schrieb:
> oder ist das bei make egal

Da beides GNU Make ist, erstmal ja. Ich habe bisher nur mal Unterschiede 
gehabt, wo die eine Variante bei Dateinamen case-sensitive war, die 
andere nicht (auf Windows).

Und er findet die AVR-Variante zuerst, weil der Pfad zu AVR zuerst in 
deinen Pfadangaben steht.

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.