Hallo Experten Neulich wollte ich ein altes C-Programm neu compilieren - aber mit den neuen WinAVR 20070122 ging das nicht mehr. Der billigste Ausweg wäre, das alte WinAVR von damals wieder zu benutzten. Leider habe die alte funktionierende WinAVR-Version nicht mehr und ich weiß auch nicht mehr, wie sie heißt. Ich habe mir von Sourgeforge einige ältere Versionen heruntergeladen, installiert und ausprobiert, aber es waren nicht die richtigen. Das einzige, was ich noch sicher weiß, waren die wunderbar einfachen makefiles. Da mußte man nur in die obersten Zeilen die Namen der c- und o-files eingeben, dazu noch den Prozessortyp und fertig. Dann stand da noch ausdrücklich, daß man am nachfolgenden Text nichts verändern solle. Paradiesisch für Leute wie mich! Weiß vielleicht jemand, was dies für eine Version war und wo man sie noch findet? Die Alternative wäre, mich an die neue Version zu gewöhnen, aber das funktioniert nicht ohne Hilfe (ich habe in einem andern Thread darum gebeten, eventuell findet sich etwas Hilfreiches). Viele Grüße Egon
Das makefile hat wenig mit der WinAVR-Version zu tun. Was warscheinlicher ist, ist vielleicht die Tatsache dass solche Sachen wie cbi und sbi nicht mehr existieren, und dass sich manche include-Dateien verschoben haben, etwa in die Ordner /util oder /compat
??? Auf sourceforge sind doch alle Versionen bis zurück zu 20021111 verfügbar. http://sourceforge.net/project/showfiles.php?group_id=68108&package_id=66543 Da sollte sich doch anhand der Erstellungsdaten der Sourcefiles deines Projektes die richtige Version finden lassen. Oliver
Es wäre aber weitaus klüger, dein Programm für das aktuelle WinAVR anzupassen. Dieses läuft sogar mit dem AvrStudio (AVR-GCC Plugin) und du brauchst dich nicht mehr um die Makefiles kümmern, das macht AvrStudio für dich. Je nach Programmgrösse müsste man dies innert 10..60 Minuten angepasst haben. Poste das Progamm, falls du Hilfe baruchst. MfG Peter
Hallo Egon! Ja mit der Version WinAVR 20070122 habe ich auch meine Probleme, ich habe jetzt eine ältere Version probiert und die Fehler waren alle weg. Ich weiß aber leider nicht wo das Problem liegt. Als Betriebssystem habe ich win98se. Wenn Du eine alte Version möchtes dann schicke ich Dir gerne eine morgen zu. Wäre schön, wenn uns jemand das Geheimnis der Neuen Version verraten kann. bis dann
Hallo, Gast vielen Dank für Dein Angebot. Ich habe mich aber inzwischen an die neue Version 2007 gewöhnt. Ich glaube, die aktuelle Version hat weniger "deprecatetete" Bestandteile, von denen man nie recht wußte, ob sie funktionieren oder nicht. Mein vordringlichstes Problem lag an der Einstellung der makefile. Früher mußte man sich eine brauchbare Version kopieren und nur die obersten zwei Zeilen anpassen. Jetzt ist es beinahe komfortabler geworden. Allerdings muß man es richtig machen; ich hatte nicht die richtige Compilerversion (=gnu99) angegeben und die Sourcedatei nochmals unter dem Punkt "C/C++source" eingetragen. Siehe auch den Thread "neues WinAVR macht Probleme" in diesem Forum. Viele Grüße Egon
Hallo Egon! Ich bekomme bei der neuen Version WinAVR 20070122 folgene Fehlermeldung: No rule to make target `main.o' , needed by ´main.elf' . Stop. Ich benutze Win98SE. Was habe ich falsch gemacht? Bei den alten Versionen habe ich kein Problem. Wenn Du Zeit hast, würde ich mich freuen wenn Du mir helfen könntest. Das Programm schicke mir doch an meine E-Mail Adresse hilfe_3 bei yahoo deutschland. Vielen Dank! Anselm
Da stimmt was mit dem Makefile nicht. Wenn du das Makefile hier anhängst, kann man genauer nachsehen. Ein Fehler kann sein, dass die vom Makefile erwartete Datei main.c nicht vorhanden ist (Schreibfehler?) Alternativ nimm das Leerprojekt aus dem Anhang. Das ist ein von MFile erzeugtes Makefile (Defaultwerte: Atmega128, 8 MHz). Damit kannst du den grundsätzlichen Aufbau des Makefiles vergleichen. Wenn das "make all" startet und der eigentliche Compilerlauf startet, kann bei Windows98 und ab dieser WinAVR-Version der _spawnv Fehler auftreten, der aber behebbar ist. Dazu mehr hier: Beitrag "Re: avr-gcc: _spawnv: No such file or directory"
Ja, wie Stefan B. schon geschrieben hat, da ist wohl nur Dein makefile nicht in Ordnung. Unter dem neuen WinAVR findest Du das Programm mfile. Wenn Du dieses aufrufst, findest Du unter dem Menuepunkt "makefile" eine Liste, die man nacheinander anklicken und ausfüllen kann. Gleich der oberste Punkt ist main file name. Dort trägst Du Dein C-Programm ein. Weiter unten kommt der Punkt C/C++source file(s). Dort findet man ein Häkchen vor bei include (und dann folgt der Name Deiner C-Datei). Das reicht! In dem leeren Feld darf man die C-Datei nicht auch noch eintragen, das habe ich fälschlicherweise gemacht und dann ging nichts mehr. Die anderen Punkte der Liste füllst Du nach Bedarf aus (C-Level = gnu99). Hier im Forum oben links gibt es helpfiles zu winavr, das enthält ein Kapitel über mfile. Ein makefile-Beispiel gibt es im genannten Thread von Oliver, das habe ich auch benutzt. Und Peter Danneger hat beschrieben, wie man ohne makefile die Compilierung von der Kommandozeile aus startet. Viel Erfolg Egon
Vielen Dank Egon! Ich werde es mal ausprobieren, vielleicht klappt es ja denn. Mit freundlichen Grüßen Anselm p.s. Was hast Du denn schon programmiert? schreibe mir dochmal direkt eine Mail an: hilfe_3 bei yahoo.de Danke!
Hallo Stefan! Ich möchte mich auch rechtherzlich bei Dir für die Hilfe bedanken. Da ich Null Ahnung von Microcontrollern habe wirde ich mich freuen wenn du mir da ein bischen helfen könntes. Meine E-Mail lautet: hilfe_3 bei yahoo.de Danke! Schönen Abend! Mit freundlichen Grüßen Anselm
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.