Hallo zusammen, ich habe bisher nur in Assembler programmiert mit dem AVR-Studio 3.56. Jetzt möchte ich auf C umsteigen und habe gestern dazu die aktuellste Version des AVR-Studios und WinAVR runtergeladen. Ich habe alles installiert und möchte wie im Tutorial hier beschrieben mit ganz einfachem Code beginnen. Beim "Build all" kommt jedoch folgende nervige Fehlermeldung: make: *** No rule to make target `../main.c', needed by `main.o'. Stop. Ich habe schon im Forum gesucht und mehrere Artikel zum Problem gefunden, aber meist ohne konkrete Antworten bzw. funktioniert alles nicht was beschrieben ist. Hat jemand eine Ahnung an was es liegen kann? Ich bin am verzweifeln mit dem Kram... hab das Makefile in den Anhang gestellt. Oder lohnt es sich 150 Euro zu berappen für einen anständigen C-Compiler wie den CodeVision? Taugt das AVR-Studio und der gcc-Kram denn überhaupt was? Bisher habe ich 1 ganzen Tag "verschwendet" und kann nichtmal ne LED blinken lassen... traurig für diese IDE... Danke für alle Tips!! Kevin
Du solltest Dir aber auch die neueste Version vom AVRStudio installieren! Und in AVRStudio brauchst Du für den "Normalbetrieb" kein extra Makefile zu erstellen. AVRStudio erstellt selbst eines mit den Einstellungen, die Du in "Project | Configuration Options" machst.
Danke für den Hinweis, aber ich habe gestern die aktuellste Version runtergeladen: AVRStudio4b589 und WinAVR-20080610 Die ServicePacks für das AVR-Studio lassen sich nicht installieren, diese sind nur für ältere Versionen. Ich habe das automatisch erstellte Makefile verwendet, selbst habe ich keins geschrieben. Ich hoffe das das die IDE auch kann, sonst wäre das echt nervig...
Kevin Lange wrote: > Oder lohnt es sich 150 Euro zu berappen für einen anständigen C-Compiler > wie den CodeVision? Ob der "anständiger" ist als der WINAVR sei mal dahingestellt. Er ist vielleicht etwas komfortabler zu bedienen und hat einige Erweiterungen, die manch einem ein bisschen Arbeit abnehmen (wodurch allerdings wiederum dafür gesorgt wird, dass CVAVR-Programme nur mit erheblichen Änderungen unter einem anderen C-Compiler compilierbar sind). Außerdem hängt es davon ab, was Du damit machen willst und inwiefern Du auf den Support angewiesen bist, den ein kommerzieller Compiler mit sich bringt. > Taugt das AVR-Studio und der gcc-Kram denn > überhaupt was? Glaubst Du, es würden so viele Leute mit der Software arbeiten, wenn dem nicht so wäre? Und den GCC als "Kram" zu bezeichnen halte ich für absolut unverhältnismäßig. > Bisher habe ich 1 ganzen Tag "verschwendet" und kann > nichtmal ne LED blinken lassen... traurig für diese IDE... Eher traurig für Dich! Ich arbeite seit langem mit der AVRStudio/WINAVR-Kombination und hatte bisher nie irgendwelche nennenswerten Probleme. Und ich bin da nicht der einzige! Abgesehen davon ist die Software kostenlos. Wenn Du 100%ig auf eine idiotensichere Software angewiesen bist, dann wirst Du wohl dafür bezahlen müssen.
Uiuiui... da scheint sich jemand mächtig aufzuregen. Ich habe das nicht gegen das Forum hier gemeint, aber es nervt schon gewaltig wenn man nach so viel Zeit immer noch nicht mit der IDE klarkommt. Mal abgesehen davon war schon die Installation nicht problemlos möglich. Irgendwelche DLLs haben gefehlt etc... ließ sich aber beheben. Bei gcc weiß ich nicht wer und was alles so dahintersteckt, daher der Ausdruck "Kram". Ist nicht negativ gemeint. Der Compiler an sich mag gut sein, aber es läuft halt eben nicht einwandfrei mit WinAVR und AVRStudio. Die vielen ähnlichen Threads zeigen ja dass ich nicht der Einzige bin! Ich habe übrigens jetzt mal die CodeVision Demo runtergeladen. Ergebnis: In 1 Minute installiert und ohne Handbuch oder ähnlichem binnen 5 Minuten ein laufendes Programm incl. UART und ADC und meiner heißgeliebten "Hello World"-Blink-LED. Das zeichnet nicht den Compiler aus, aber immerhin ist es bedienerfreundlicher. Die IDE ist gut.Leider nicht kostenlos und auf 2k Code begrenzt als Demo. Schade!
Kevin Lange wrote: > Uiuiui... da scheint sich jemand mächtig aufzuregen. Aufregen? Ich? Nein, Du hast noch nicht gesehen, was passiert, wenn ich mich aufrege... Wenn ich mich aufrege, das würdest Du sogar dreikt mitbekommen, obwohl davon auszugehen ist, dass derzeit ein paar tausend Kilometerchen und ne Menge Wasser zwischen uns liegen...;-) > Ich habe das nicht gegen das Forum hier gemeint, aber es nervt schon > gewaltig wenn man nach so viel Zeit immer noch nicht mit der IDE > klarkommt. Mal abgesehen davon war schon die Installation nicht > problemlos möglich. Irgendwelche DLLs haben gefehlt etc... ließ sich > aber beheben. Nun, wie schon oben gesagt, bei mir und auch bei vielen anderen lässt sich der ganze "Kram" problemlos installieren (sogar unter hasta-la-Vista, und das will was heißen!). Unsere Studis arbeiten im Programmierpraktikum schon seit einer Weile damit und ich habe bisher nichts über Probleme mit Installation oder Anwendung mitbekommen, und das, obwohl ich der Ansprechpartner für den ganzen Salat bin. Die einzigen Probleme gibt es mit einigen Leuten, die Partout Linux verwenden wollen, weil da AVRStudio nicht ohne Zusatz-"Kram" läuft. Und ich bringe unseren Studis das ganze lieber anhand eines Compilers bei, der nicht ganz so arg viele bequeme, aber nicht portierbare nicht-ANSI-Erweiterungen hat. Schließlich sollen die ANSI-C lernen... > Bei gcc weiß ich nicht wer und was alles so dahintersteckt, daher der > Ausdruck "Kram". Da stecken eine Menge Leute und sehr viel Arbeit hinter. > Ist nicht negativ gemeint. Der Compiler an sich mag gut > sein, aber es läuft halt eben nicht einwandfrei mit WinAVR und > AVRStudio. Was aber bisher meist eher am AVRStudio lag als am WINAVR... > Die vielen ähnlichen Threads zeigen ja dass ich nicht der > Einzige bin! Ist zwar im Prinzip korrekt, aber Du musst eben auch sehen, dass das hiesige Forum im deutschen Sprachraum praktisch den AVR-GCC-Support darstellt. Die Fragen und Probleme, die beim Support eines kommerziellen Compilers auftauchen, werden i.d.R. nicht offen in Foren diskutiert, sondern bleiben Sache zwischen Kunde und Support-Mitarbeiter. Und wenn jemand keine Probleme mit dem System hat, wird er das auch nicht hier posten. Vielleicht sollte Andreas mal eine Rubrik "Lobhudeleien" einrichten, in der alle User ihr "Hurra, es hat auf Anhieb geklappt" loswerden können. Was glaubst Du, wie da der Laden brummen würde... > Ich habe übrigens jetzt mal die CodeVision Demo runtergeladen. Ergebnis: > In 1 Minute installiert und ohne Handbuch oder ähnlichem binnen 5 > Minuten ein laufendes Programm incl. UART und ADC und meiner > heißgeliebten "Hello World"-Blink-LED. Das zeichnet nicht den Compiler > aus, aber immerhin ist es bedienerfreundlicher. Die IDE ist gut.Leider > nicht kostenlos und auf 2k Code begrenzt als Demo. Schade! Also, für ne "Demo" ist die schon recht ordentlich. Mit 2Ki Code kann man zumindest als Anfänger (aber auch für kleinere Projekte im professionellen Bereich, es gibt immerhin einige AVRs, in die nur 2KiB oder gar weniger reingehen) schon ne Menge machen.
>Oder lohnt es sich 150 Euro zu berappen für einen anständigen C-Compiler >wie den CodeVision? Taugt das AVR-Studio und der gcc-Kram denn >überhaupt was? Bisher habe ich 1 ganzen Tag "verschwendet" und kann >nichtmal ne LED blinken lassen... traurig für diese IDE... an einem Tag kann man make tool fast vollständig erlernen, sodass du im weiteren in der Lage bist deine Makefiles selbst zu schreiben/pflegen. aus meiner Erfahrung kann ich sagen, dass es immer irgendwelche Probleme gibt. Zeilenendungen in Dateien, Skriptinkompatibiläteten, Pfade, Bibliotheken ... => viele der Tools sind sehr gut, aber ihr Zusammenspiel im realen Leben ergibt soviele Kombinationen, dass es immer Probleme an den Schnittstellen gibt und geben wird => lerne damit umzugehen (ohne jammern und weinen), oder werde lieber Koch :)
Kevin Lange wrote: > Ich habe das nicht gegen das Forum hier gemeint, aber es nervt schon > gewaltig wenn man nach so viel Zeit immer noch nicht mit der IDE > klarkommt. Weil du offensichtlich nicht einmal in der Lage bist, die Datei main.c, die du referenzierst, dann auch anzulegen. Welche Dateien du stattdessen angelegt hast, verrät uns allerdings auch dein Makefile nicht. Auf jeden Fall solltest du einfach mal sowohl im Makefile als auch im Editor den gleichen Namen benutzen. Wenn du mit der Makefile-Generierung von AVR Studio nicht klar kommst, kannst du auch allemal Mfile benutzen und im AVR-Studio-Projekt "externes Makefile" auswählen.
Vielen Dank für die vielen Tips und die heiße Diskussion. Ich habe mir das Makefile angesehen und Mfile verwendet. Ging zunächst nicht. Die Datinamen sind übrigens überall konstistent. Da hab ich peinlich drauf geachtet. Ich habe alles mal deinstalliert und neu installiert (auf Windows2000, Linux hab ich nicht). Ging wieder nicht mit dem AVR-Studio. Dann habe ich Mfile nochmal verwendet und es läuft. Ich frage mich immer noch woran es liegt, es sieht alles gleich aus und ich habe die gleichen Textdateien (main.c) eingebunden wie vorher. Naja... Im Netz kursieren übrigens ältere Vollversionen des CodeVision Compilers. Da ist etwa 50% der Funktionalität nicht ANSI-C. Mich würde das weniger stören solange es läuft. Bequem ist es allemal und für ein kleines Quick-and-dirty Projekt sollte das auch reichen.
Hieß denn deine Datei auch main.c oder zufällig Main.c?
Ich hab das selbe Problem, beim ersten install hat es mich Stunden gekostet und jetzt schon wieder. Dieses Programmers Notepad ist eine Qual was GUI angeht, nichtmal ne Hilfe gibts irgendwo? Ich habe versucht laut GCC Tutorial vorzugehen. Das dort angegebene Makefile template verwendet, in PN Projekt erstellt, main.c und makefile in mein projektverz. Bei Options->Tools im PN dann versucht "make all" anzupassen, zuerst stand %f und %d unter file und folder. Leider finde ich nirgends, welche Werte dieses PN für die ganzen %... Variablen "sieht". Die WinXP Umgebungsvars stimmen, ebenso die Registry-Keys. Der Fehler ist auch hier: -------- begin -------- avr-gcc (WinAVR 20080610) 4.3.0 Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. make: *** No rule to make target `main.elf', needed by `elf'. Stop. > Process Exit Code: 2 > Time Taken: 00:00 Wie im Artikel zu WinAVR auch beschrieben, nur leider ist dieser sehr kurz gefasst bezüglich Ursache des Problems. Die Dateinamen stimmen. Im Makefile werden ja auch diese ganzen Variablen %d etc benutzt, ich vermute das es an deren Verwendung scheitert, und der Pfad nicht gefunden wird. Pfadnamen sind Leerstellen und Sonderzeichen frei. Vielleicht ist PN auf irgendein anderes makefile eingestellt? Wie weißt man PN an ein bestimmtes makefile für die "Make all" Anweisung zu verwenden?
Moritz wrote: > Ich hab das selbe Problem, Nein, du hast ein anderes: > make: *** No rule to make target `main.elf', needed by `elf'. Stop. Vergleich das mal mit dem Subject des Threads. Wäre schön, wenn du lieber einen eigenen Thread für eigene Probleme aufmachst... In deinem Falle könnte es aber sinnvoll sein, dass du das Makefile mal postest.
Hallo zusammen. Krame dieses etwas ältere Thema wieder raus, da ich das selbe Problem habe. Bin absoluter Einsteiger in c unter AVR. Würde gerne folgende Zeilen als C-Programm erstellen: #include <avr/io.h> int main (void) { DDRB = 0xff; PORTB = 0x03; while(1) { } return 0; } habe die aktuelle version von Winavr und dann AVR Studio installiert. Möchte im AVR Studio programmieren. Wenn ich auf Compile Active File drücke erscheint folgender Fehler: make: *** No rule to make target `../main.c', needed by `main.o'. Stop. drücke ich auf build kommt folgendes: make: *** No rule to make target `../main.c', needed by `main.o'. Stop. Mein Projekt heißt main und die c datei main.c und liegt auf c:\avr\ Wo liegt mein Fehler? Gruß
schau doch mal deine projekteinstellungen durch. wird ein makefile erzeugt?
Die Chancen auf eine gute Antwort könnten enorm steigen wenn du das Makefile anhängen würdest. Liebe Grüße frank
das erzeugt avrstudio selbst. es sollte passen. tut es das nicht, liegt es vermutlich an den projekteinstellungen
hi es wird eine makefile erstellt. Siehe Anhang. Was soll ich bei den Projekteinstellungen noch einstellen? Gruß
damn, es IST das makefile:
1 | ## Compile |
2 | main.o: main.c |
3 | $(CC) $(INCLUDES) $(CFLAGS) -c $< |
da stand vorher ../main.c das macht wenig sinn. wo kommt das her? hast du an den pfaden rumgespielt?
Natürlich macht "../main.c" Sinn, schließlich wird das make in einem Subdir ausgeführt.
nicht bei diesem makefile. guter ton ist es zwar, dass object-files ein subdir bekommen, passiert aber hier nirgends. so genau kenn ich das avr-studio zwar auch nicht, aber es gibt hier nirgends anzeichen für ein object-subdir.
> so genau kenn ich das avr-studio zwar auch nicht, aber es gibt hier > nirgends anzeichen für ein object-subdir. Das "../main.c" ist das Anzeichen. Das Makefile wird in dem Subdir erzeugt und das Make dort ausgeführt.
Bist du dir 100% sicher daß die Datei main.c vorhanden ist und nicht etwa Main.c oder main.C? Liebe Grüße frank
Stefan Ernst wrote: > Das "../main.c" ist das Anzeichen. > Das Makefile wird in dem Subdir erzeugt und das Make dort ausgeführt. das obj-dir wird dann vom avr studio vor dem make-aufruf angelegt? und das fertige elf-file ist dann auch da drin? verrückte neue welt =) @Heinz: das obj dir ist vorhanden, die main.c genau so genannt und im übergeordneten verzeichnis?
Hallo zusammen! Es wird mir eine main.aps , main.aws und main.c erstellt und in einem Unterordner default eine Makefile. Ansonsten sind keine anderen Dateien vorhanden. Als Betriebssystem nutze ich MS Vista 64bit. An den Einstellungen vom AVR Studio habe ich nichts geändert. Wenn ich da etwas ändern soll, dann sagt es mir bitte. Gruß
@heinz: kennt vista denn ../dat.ei? evtl scheiterts daran. spiel doch mal make und geh in einer eingabeaufforderung (heißt das noch so?) in dein object-verzeichnis unter c:\avr\ und sag sowas wie "dir ../main.c". evtl kannst du im makefile auch mal "..\main.c" versuchen (backslash anstatt forwardslash). vorsicht übrigens: nur weil du im makefile per hand was änderst, heißt das nicht, dass avr-studio sich nicht erdreistet, das makefile zu überschreiben =) da du eh ganz neu eingestiegen bist, könntest du vllt ganz auf winavr umsteigen und das programmers notepad nutzen. ich find das programm wirklich gut. hier könntest du dann auch dein makefile nach belieben an die ungepflogenheiten deines betriebssystems anpassen =)
Michael H* wrote: > kennt vista denn ../dat.ei? > evtl scheiterts daran. spiel doch mal make und geh in einer > eingabeaufforderung (heißt das noch so?) in dein object-verzeichnis > unter c:\avr\ und sag sowas wie "dir ../main.c". evtl kannst du im > makefile auch mal "..\main.c" versuchen (backslash anstatt > forwardslash). Vista muss kein Forwardslash kennen, es bekommt ihn nicht mal zu sehen. Die nötige Umsetzung geschieht in den Libs, mit deren Hilfe diese ganzen Unix-Tools unter Windows kompiliert werden. > vorsicht übrigens: nur weil du im makefile per hand was änderst, heißt > das nicht, dass avr-studio sich nicht erdreistet, das makefile zu > überschreiben =) Dafür gibt es die Einstellung "Use External Makefile". @ Heinz: Wie sieht denn der Projektpfad aus? Sind da Leerzeichen oder andere Sonderzeichen drin?
hi habe deinen tipp mit dem backslah ausprobiert. ohne Erfolg. Habe daraufhin WinAVR und AVR Studio auf meinen alten XP Rechner gespielt und siehe da: ALLES klappt auf Anhieb. Würde das ganze aber trotzdem gern auf Vista zum laufen bekommen. Gruß
Projektpfad: c:\avr also ohne leerzeichen.
Michael H* wrote:
> kennt vista denn ../dat.ei?
Das kannte schon MS-DOS 3.30.
ich kenn vista nicht allzugut - hat es einen neuen kern? allerdings kannte windows 2000 zum beispiel auch nicht-hässliche, ergonomische Benutzeroberflächen. die kennt vista auch nicht mehr =) ich glaub trotzdem, dass dieser verweis auf das subdir der dreh- und angelpunkt ist. vllt sollte das der sicherheit dienen, sowas nicht zu erlauben.
Classic Theme? Klar gibt es den für Vista. Aber ich hab auch eher Abneigungen gegen Vista.
@simon: das ist wohl wie bei einem model mit der schönheits-op: danach trotzdem geistig oben ohne =) @heinz: ich hab ein bisschen wg vista und avr-studio rumgelesen. lässt du das alles als administrator ausführen?
hi habe das studio jetzt als Admin ausgeführt, leider ohne Erfolg. Irgendwelche Ideen? Bin über jeden Tipp dankbar. Gruß Alex
hi so, es funktioniert. problem war die zugriffsberechtigung in vista für meinen projektordner. trotzdem vielen dank für eure zahlreichen vorschläge. gruß
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.