Hi Leute, weiss schon, dass diese Frage oft gestellt wird, doch leider konnte ich nach dem durchsuchen der einiger bereits eingestellten Beiträge meinen Fehler immer noch nicht finden! Bin dabei den USB <-> RS232 wandler von CDC von einem Attiny 2313 auf einen Atmeg8 zu migrieren, zugleich mein abgeändertes Makefile dafür zu verwenden um von AVRStudio wegzukommen und AVRDUDE mit Programmers notepad zu benutzen und die Ordnerstruktur abzuändern. Leider bekomme ich immer den im Betreff gezeigten Fehler! Hat jemand eine Ahnung was ich falsch mache? (siehe Zip Datei) Vielen Dank schonmal im voraus
# List C source files here. (C dependencies are automatically generated.) SRC = $(TARGET).c usbdrv/usbdrv.c usbdrv/oddebug.c usbdrv/usbdrvasm.S usbdrv/usbdrvasm.asm Dort steht doch "C source files" die *.S und *.asm haben dort nichts zu suchen. Die gehören bei ASRC hin. Und nimm nur die usbdrvasm.S.
usbdrv/usbdrvasm.S usbdrv/usbdrvasm.asm Wo sind die beiden eigentlich hin? ;)
Außerdem fehlt dir wahrscheinlich die Datei main.c, die du als $(TARGET).c in deinem Makefile explizit referenziert hast. Vielleicht wolltest du ja ohnehin auch lieber einen anderen Projekt- namen als ,main' wählen?
Wie meinst du mir fehlt die Datei main.c? Die ist eigentlich da und das Projekt soll auch erstmal so heißen. Hab nun ASRC = usbdrv/usbdrvasm.S und ja die beiden Dateine waren wirklich nicht mehr da! Hab sie da wieder reinkopiert. Nichts desto trotz bekomme ich nun wieder ein paar andere Fehler! (siehe Anhang) vorallem ist es die usbCrc16Append die ich nirgends finde. Sie ist in usbdrv.h als extern deklariert doch wo ist die tatsächliche Funktion? Was sind das für komische Konstanten wie _CODEVISIONAVR_ hat das irgendwas mit AVR Studio Konstanten zu tun, also kann ich die Programmteile die von diesen Konstanten abhängig sind entfernen?
Ok sry die Frage zu usbCrc16Append entfällt! Habe zwar ASRC = usbdrv/usbdrvasm.S hinzugefügt aber weiter unten war noch mal ASRC = gestanden. So wurde diese Variable wohl wieder gelöscht. Trotzdem was ist mit _CODEVISIONAVR_ DEBUG_LEVEL usw. ?
Eine Möglichkeit ist natürlich auch das Projekt neu mit richtigem Makefile zu laden und zu compilieren: http://www.recursion.jp/avrcdc/ Projekt als tgz: http://www.recursion.jp/avrcdc/cdc232.2011-06-24.tgz oder als zip: http://www.recursion.jp/avrcdc/cdc232.2011-06-24.zip entpacken und in den Ordner: tiny2313/default wechseln - make ausführen Danach kannst Du in kleinen Schritten die Dateien nach Wunsch anpassen.
Oh sorry! Gerade gesehen das Du den ATMega8 nehmen willst. Also: wechseln nach: mega48/default im Makefile MCU = atmega8 einstellen und dann make ...
geht ja aber genau darum das Makefile nicht im Ordner default zu haben sondern im gleichen Verzeichnis wie main.c. Damit ich in Programers Notepad einfach auf Make all klicken kann wenn ich in der main.c arbeite. Zudem habe ich auch schon das Orginale Makefile soweit abgeändert, dass das compilieren funktioniert jedoch nicht das Programmieren. War mir nicht sicher was ich alles zum Programmieren ins makefile übernehmen muss damit es funktioniert und bin deshalb wieder zurück auf mein eigenes Makefile gegangen. In meinem Zipfile befindet sich eine Kopie von gerade diesem Makefile. Welche Einstellungen muss ich von diesem übernehmen, damit es auch mit meinem Makefile funktioniert?
Hallo Leute! Bevor ich echt noch einen Ausraster bekomme, melde ich mich doch mal hier... Ich muss für meine Studienarbeit einen MC programmieren und schaffe es noch nichtmal, von so einem Miniprogramm eine .hex zu erstellen, um das ganze im AVR Studio zu testen. Ich suche mich schon seit Stunden hier durch die Beiträge, habe ewig viel ausprobiert und bin immer noch keinen Schritt weiter. Ich versuche dauernd, eine .hex mit Notepad (was bei WinAVR dabei ist) zu erstellen. Die Dateien im Anhang habe ich hier aus dem Forum kopiert und das scheint geklappt zu haben. Nur bei mir anscheinend nicht. Die Dateien main.c und makefile stehen bei mir in einem Ordner. Wenn ich mit Notepad die main.c öffne und unter Tools -> maka all klicke, kommt bei mir auch immer die o. g. Fehlermeldung. Was ist denn jetzt hier falsch?! Wenn der MCU angegeben ist (und das kann dem makefile ja erstmal egal sein, welcher das ist), und Target auch, was ist denn dann hier sonst falsch?! Ich bin hier echt langsam am Verzweifeln!!! Ich habe auch schon die makefiles hier aus dem Tutorial probiert (natürlich mit allen Änderungen, die vorher noch gemacht werden müssen). Aber auch das ging nicht... Wäre super, wenn mir hier jemand helfen könnte! Vielen Dank schonmal!! Dirk
Also die Zeile im Makefile: SRC += io.h iom168.h stdio.h delay.h ist überflüssig/falsch. Setz in der main.c dafür: #include <avr/io.h> ein. Dann klappts mit avr-gcc in linux.
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.