Programm übertragen

Gast #2426113
Lesenswert?

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ß
Gast #2426553
Lesenswert?

> 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
Gast #2426702
Lesenswert?

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?
Gast #2428411
Lesenswert?

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ß
#2428486
Lesenswert?

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?
Gast #2428492
Lesenswert?

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?
#2428513
Lesenswert?

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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren