Forum: Mikrocontroller und Digitale Elektronik Programm übertragen


von Levi (Gast)


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ß

von Levi (Gast)


Lesenswert?

Oder liegt es daran, dass der Programmer im hardwaremanager unter 
Anschlüsse (com/LPT) aufgeführt ist?

von Krapao (Gast)


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

von Levi (Gast)


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?

von Hubert G. (hubertg)


Lesenswert?

Der Programmer verwendet ein COM-Port, in der Systemsteuerung 
abzufragen.
Dieses COM-Port musst du einstellen, nicht USB oder was anderes.

von Levi (Gast)


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ß

von Hubert G. (hubertg)


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?

von Levi (Gast)


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?

von Hubert G. (hubertg)


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?

von Levi (Gast)


Lesenswert?

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?

von Hubert G. (hubertg)


Lesenswert?

Im AVR-Studio machst du zum Programmieren des µC ein Fenster auf, in 
diesem stellst du den Kontroller, ISP und Programmiertakt ein.

von Levi (Gast)


Lesenswert?

Und das wars schon?
Das wäre ja dann doch leichter, als gedacht.
Ich werde es heute mal ausprobieren.

Vielen Dank! :)

von Levi (Gast)


Angehängte Dateien:

Lesenswert?

Nun kommt folgender Fehler, wenn ich die Signatur des Controllers 
auslesen will. :(

Ich werde die Schaltung gleich nochmal neu aufsetzen.
Noch irgendwelche anderen Tipps?

von Levi (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.