Hallo, ich wollte nun zum ersten mal ein Programm zu meinem Mikrocontroller senden, doch klappt es nicht. Ich benutze Win AVR und habe die Makefile mit dem mfile Programm erstellt. Ich habe den Controller ausgewählt, das Ziel bestimmt den Programmer auf stk500v2 und den Port auf USB gesetzt. Ich nutze den Diamex USB-ISP Programmer von Reichelt. Jetzt kommt folgende Fehlermeldung: > "make.exe" program Compiling C: main.c avr-gcc -c -mmcu=atmega644 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst -std=gnu99 -MMD -MP -MF .dep/main.o.d main.c -o main.o Linking: main.elf avr-gcc -mmcu=atmega644 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.o -std=gnu99 -MMD -MP -MF .dep/main.elf.d main.o --output main.elf -Wl,-Map=main.map,--cref -lm Creating load file for Flash: main.hex avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock main.elf main.hex Creating load file for EEPROM: main.eep avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \ --change-section-lma .eeprom=0 --no-change-warnings -O ihex main.elf main.eep || exit 0 avrdude -p atmega644 -P usb -c stk500v2 -U flash:w:main.hex avrdude: usbdev_open(): did not find any USB device "usb" make.exe: *** [program] Error 1 > Process Exit Code: 2 > Time Taken: 00:01 Woran kann das liegen? Gruß
Oder liegt es daran, dass der Programmer im hardwaremanager unter Anschlüsse (com/LPT) aufgeführt ist?
> Oder liegt es daran, dass der Programmer im hardwaremanager unter > Anschlüsse (com/LPT) aufgeführt ist? Wenn er dort gelistet ist, nimm in der AVRDUDE Kommandozeile statt usb den Namen des Anschlusses (ich vermute ein COM-Port). >> Installation: >> - Windows eigener Treiber. Einbindung durch einfache *inf Datei bis von >> XP bis WIN7 (32 und 64bit Version) Hast du gemacht? Anleitung des Herstellers finde ich keine (super!). Ein User schreibt zu einem ähnlichen Gerät: http://www.wiesolator.de/index.php?area=AVR&topic=AVR-Progger%20Diamex%20DX-ISP
Krapao schrieb: > Wenn er dort gelistet ist, nimm in der AVRDUDE Kommandozeile statt usb > den Namen des Anschlusses (ich vermute ein COM-Port). Auswahl des Comp Port 1 (extra auf 1 umgestelt) bringt folgende Meldung "avrdude: ser_open(): can't open device "\\.\com1": Das System kann die angegebene Datei nicht finden.". > Installation: > - Windows eigener Treiber. Einbindung durch einfache *inf Datei bis von > XP bis WIN7 (32 und 64bit Version) > > Hast du gemacht? Sowohl über Windows Updates, als auch über die in der Anleitung angegebene inf Datei installiert. Beides bringt das gleiche Ergebnis. Treiber und Gerät wird korrekt erkannt, es fogt aber trotzdem genannter Fehler. Hat noch jemand eine Ahnung, woran es liegen könnte?
Der Programmer verwendet ein COM-Port, in der Systemsteuerung abzufragen. Dieses COM-Port musst du einstellen, nicht USB oder was anderes.
Hallo, wie oben erwähnt kommt dann folgende Meldung: "avrdude: ser_open(): can't open device "\\.\com1": Das System kann die angegebene Datei nicht finden.". Den Programmer habe ich im Gerätemanager auf Com 1 umgestellt, da WinAVR nur bis Com4 zur Auswahl hatte und er ursprünglich auf Com8 lief. Muss es denn zwingend damit zusammen hängen, dass der Programmer nicht gefunden wird oder kann auch ein Fehler in der Schaltung daran Schuld sein? Gruß
Ich hätte dann aber COM4 genommen, es lässt sich zwar auf COM1 umstellen, in den meisten Systemen ist aber COM1 und 2 für die Serielle vorgesehen. Ob da das Umstellen der USB auf COM1 wirklich richtig funktioniert ist nicht sicher. Wenn schon der Fehler das die COM nicht geöffnet werden kann kommt, ist die Wahrscheinlichkeit sehr groß das es auch diese ist. Hat sich beim ersten anstecken des Programmer das System gemeldet und einen Treiber installiert?
Ok, dann werde ich es nachher mal mit Com4 probieren. Danke für deinen Hinweis! Ja, der Programmer wurde als neue Hardware erkannt und ließ sich mit dem Treiber des Herstellers auch ohne Probleme installieren. Nutzt es etwas, wenn man erst den Programmer mit dem PC verbindet und danach an die Hardware statt andersherum?
Bei meinem Programmer ist es besser zuerst mit der Hardware und dann erst mit dem PC verbinden, anders herum kommen gelegentlich Fehler. Ich verwende das AVR-Studio4, da spart man sich das makefile, kann direkt heraus den Programmer ansprechen und sieht gleich ob der Programmer oder der Kontroller nicht erkannt wird. Spannung liegt am Kontroller an?
AVR-Studio4 werde ich dann auch mal ausprobieren. Ist es ähnlich leicht zu handhaben, wie WinAVR? Oder woher kann ich die richtigen Einstellungen für den Atmega644 beziehen?
Im AVR-Studio machst du zum Programmieren des µC ein Fenster auf, in diesem stellst du den Kontroller, ISP und Programmiertakt ein.
Und das wars schon? Das wäre ja dann doch leichter, als gedacht. Ich werde es heute mal ausprobieren. Vielen Dank! :)
Nun kommt folgender Fehler, wenn ich die Signatur des Controllers auslesen will. :( Ich werde die Schaltung gleich nochmal neu aufsetzen. Noch irgendwelche anderen Tipps?
Ok, ich hab alles noch einmal sauber zusammengesteckt und es scheint nun endlich alles zu funktionieren. Vielen Dank!! :)
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.