Hallo, ich bin absoluter Neuling in diesem Forum. Ich habe meinen AVR Mega 32 (RN-Control Version 1.4) mit Bascom programmiert, möchte jetzt aber zu C wechseln. Hierzu möchte ich Programmers Notepad verwenden. Einen Makefile habe ich bereits erstellt, mit make all im Programmers notepad erhalte ich bei meinem kleinen c-Programm "make.exe: *** No rule to make target `obj/main.o', needed by `testpp.elf'". Das c-Programm habe ich testpp.c genannt. Was habe ich denn verkehrt gemacht ?
Wie hast du das Makefile erstellt, von Hand oder mit einem Generatorprogramm wie Mfile? Im Makefile sollte eine Zeile stehen, die mit SRC = anfängt. Dort steht normalerweise SRC = $(TARGET).c und die Variable TARGET ist vorher in einer entsprechenden Zeile definiert worden z.B. TARGET = testpp. Das alles und noch mehr (Prozessortyp, CPU Frequenz...) kann dir ein Makefilegenerator interaktiv erstellen. Dokumentationen zu Makefiles findest du hier: http://winavr.sourceforge.net/install_config_WinAVR.pdf http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Exkurs:_Makefiles Wenn du nicht weiterkommst, hänge dein Makefile mal als Text an. Dann kann man genauer nachsehen, was schiefläuft.
Hallo, und hier das c-Programm. Kann ich denn zum Übertragen die Bascom-Software weiterhin benutzen ? Wie gehe ich denn dann vor, ich muss doch nur den ihex-File übertragen? Schonmal vielen vielen Dank.
Hallo, das 1.Problem habe ich mit Beitrag "Makefile No rule to make target `obj/main.o'" gelöst. Ich weiss noch nicht, wie ich das c-Programm über Bascom zum Controller bekomme. Muss ich im Makefile "Bascom" als Programmer angeben oder "STK200"?
aber zum Controller muss natürlich nur das *.hex file.
Hallo,
ich habe jetzt mit Programmers notepad versucht, über [WinAVR] Program
den File zu übertragen, aber es erscheint:
> "make.exe" program
avrdude -p atmega32 -P lpt1 -c stk200 -U flash:w:testpp.hex
avrdude: can't open device "giveio"
avrdude: failed to open parallel port "lpt1"
make.exe: *** [program] Error 1
Was passt denn jetzt nicht ?
... über Bascom kann ich über LPT1 den Controller erreichen
> avrdude: can't open device "giveio"
Dann solltest du giveio.sys installieren.
Wo soll ich das denn installieren, ich habe giveio.sys in das Projektverzeichnis kopiert, aber ohne Erfolg.
's ist ja ein Treiber, den muss man doch dem Windows irgendwie beibringen, oder? Das pure Kopieren in ein x-beliebiges Verzeichnis dürfte kaum überzeugend genug für dein Windows sein. Aber sorry, ich hab' bei Windows zwei linke Hände, alles Daumen. Ich könnte dir erzählen, wie man einen FreeBSD-Treiber baut, aber da hättest du das Problem nicht -- FreeBSD hat schon einen Treiber, mit dem man geordnet auf den Druckerport zugreifen kann (genauso wie Linux und Solaris sowas haben). Vielleicht kann dir ja jemand von der Windows-Fraktion erzählen, wie man diesen Treiber aktiviert.
Das steht in den Docs von WINAVR (Winavr\doc\avrdude*\avrdude.pdf Seite 24). Es gibt sogar Batchfiles (install_giveio.bat, status_giveio.bat und remove_giveio.bat)
Ich habe das selbe problem. "make.exe: *** No rule to make target `obj/main.o', needed by `testpp.elf'" Aber da oben steht keine richtige lösung deswegwn wollte ich mal fragen wir es gelöst wird. Ich schicke auch mal mein makefile mit freundlichen grüßen
Im Makefile ist die Zeile TARGET = main eingetragen. Daher wird auch ein main.c gesucht, um daraus das obj/main.o zu machen. Das scheitert, denn deine Hauptsource heisst testpp.c statt main.c... Ich würde daher die Zeile im Makefile zu TARGET = testpp abändern. http://www.mikrocontroller.net/forum/read-2-423859.html#423910 Hast du WINAVR? Und wenn ja, welche Version?
vielen Dank habs hin bekommen. Ich benutze die version von 04.2006
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.