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
(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.
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).
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
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.
Die Fehlermeldungen sieht man(n) doch oben im Screenshoot (ganz unten) Grüße
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.
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
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).
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.