Forum: Mikrocontroller und Digitale Elektronik Problem beim Flashen von Atmega32 über USB ISP


von Voldemort (Gast)


Lesenswert?

Hallo liebe Leute,
ich habe mir vor einer Weile das fertig bestückte RN-Control V1.4 Board 
und einen USB ISP Programmer (STK500) gekauft.

Nun habe ich endlich Zeit gefunden um das Programmieren in Angriff zu 
nehmen, jedoch habe ich bereits ein Problem
bei der Kommunikation zwischen Programmer und Board.

Was ich getan habe:

-Mit Atmel Studio 7 eine .hex-Datei erstellt mit der eine LED blinken 
soll (0 Fehler beim compilieren)
-Burn-O-Mat eingestellt: "-p m32 -P com4 -c stk500v2 -B 20 -U flash:w: "
-versucht zu flashen

Leider erhalte ich die Fehlermeldung:

avrdude.exe: stk500v2_command(): command failed
avrdude.exe: stk500v2_command(): unknown status 0xc9
avrdude.exe: stk500v2_program_enable(): cannot get connection status
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.


Dies bedeutet ja, dass das Board vom Programmer nicht erkannt wird oder?

Das Board und der Programmer scheinen, unabhängig voneinander, zu 
funktionieren.
Zumindest leuchten an beiden Geräten die LEDs. Und wenn der 
Flash-Versuch fehlschlägt
blinkt und piept das Board kurz (anscheinend eine Art Reset).

Ich habe mich schon quer durchs Internet gelesen aber konnte keine 
Lösung finden.
Auch das einfügen von -B im avrdude hat nicht geholfen.

Ich bitte um eure Hilfe.

von c-hater (Gast)


Lesenswert?

Voldemort schrieb:

> Nun habe ich endlich Zeit gefunden um das Programmieren in Angriff zu
> nehmen, jedoch habe ich bereits ein Problem
> bei der Kommunikation zwischen Programmer und Board.

Nein.

> -Mit Atmel Studio 7 eine .hex-Datei erstellt mit der eine LED blinken
> soll (0 Fehler beim compilieren)

Was rein garnix bezüglich der Funktion des Programms bedeutet, das ist 
dir doch hoffentlich klar? Man kann auch den allergrößten logischen 
Blödsinn erfolgreich compilieren, solange er nur syntaktisch korrekt 
formuliert ist...

Wie auch immer, zum Glück ist es zumindest bezüglich des Flashens völlig 
unwichtig, ob eine Hex-Datei einen tatsächlich sinnvollen Inhalt hat 
oder nicht.

> -Burn-O-Mat eingestellt: "-p m32 -P com4 -c stk500v2 -B 20 -U flash:w: "

> avrdude.exe: stk500v2_command(): command failed
> avrdude.exe: stk500v2_command(): unknown status 0xc9
> avrdude.exe: stk500v2_program_enable(): cannot get connection status
> avrdude.exe: initialization failed, rc=-1

Das sieht danach aus, als wenn der Programmer nicht wirklich stk500v2 
spricht. Was allerdings nicht sehr verwundert, denn schon deine Angaben 
bezüglich des verwendeten Programmers sind ja hochgradig 
widersprüchlich, da muß das Ding ja durcheinander kommen...

> USB ISP Programmer (STK500)

Sowas gibt es nicht. Wie heißt der Programmer wirklich? Also: auf 
welcher ePay-Seite hast du den geschossen? Welchen Treiber hast du dafür 
installiert? Und unter welchem Betriebssystem (genau) hast du das getan?

> Dies bedeutet ja, dass das Board vom Programmer nicht erkannt wird oder?

Nein, das bedeutet eher, dass avrdude nichtmal korrekt mit dem 
Programmer reden kann.

von Voldemort (Gast)


Lesenswert?

Danke für deinen Antwort.

c-hater schrieb:
> Das sieht danach aus, als wenn der Programmer nicht wirklich stk500v2
> spricht. Was allerdings nicht sehr verwundert, denn schon deine Angaben
> bezüglich des verwendeten Programmers sind ja hochgradig
> widersprüchlich, da muß das Ding ja durcheinander kommen...

>Sowas gibt es nicht. Wie heißt der Programmer wirklich? Also: auf
>welcher ePay-Seite hast du den geschossen? Welchen Treiber hast du dafür
>installiert? Und unter welchem Betriebssystem (genau) hast du das getan?

Den Programmer habe ich tatsächlich von eBay: 
http://www.ebay.de/itm/AVR-USB-ISP-Programmer-ATMEL-ATMEGA-STK500-Neu-ATTINY-/370490000223?hash=item5642ecc35f:g:fJ4AAOSw8cNUR1Cx

Ich benutze Windows 7 und habe den Treiber für den Programmer auf 
diamex.de runtergeladen. Die Treiberinstallation hat auch ohne weiteres 
geklappt
In der kurzgehaltenen Anleitung vom Programmer steht drin dass er STK500 
Version 2 verwendet.

von Rainer B. (katastrophenheinz)


Lesenswert?

Was sagt denn dein atmel studio, wenn du dich direkt aus atmel studio 
heraus mit dem stk500-nachbau verbindest? Wird der vom atmel studio als 
stk500 erkannt oder auch nicht?

von Voldemort (Gast)


Angehängte Dateien:

Lesenswert?

Ich glaube er wird nicht erkannt, sonst müsste der Programmer doch unter 
Tools aufgelistet sein oder?. Kenne mich wie gesagt noch nicht so gut 
aus. Habe einen Screenshot gemacht.

von Rainer B. (katastrophenheinz)


Lesenswert?

Ja, sollte er. Der von dir installierte treiber ist der richtige? Als 
was wird er im Gerätemanager angezeigt?
Und was sagt das Kommandozeilentool von Atmel Studio (atbackend), wenn 
du damit auf den nachbau losgehst? Probier auch mal verschiedene 
programmer durch, die atbackend kennt, ich glaube, viele davon verwenden 
das stk500v2-protokoll.

von Voldemort (Gast)


Angehängte Dateien:

Lesenswert?

Vielen Dank für deine Hilfe.

Der Treiber ist der richtige, ja. Wird auch Korrekt im Gerätemanager 
angezeigt. Ich weiß nicht ob es man vielleicht noch etwas bei den 
Anschlusseinstellungen ändern muss. (siehe Bild) Habe bisher alles 
unverändert gelassen.

Puh, mit dem Komandozeilentool kenne ich mich leider überhaupt nicht 
aus. Ich kann deine Anweisung daher leider nicht ohne weiteres 
ausführen.

Über Burn-O-Mat habe ich jedoch bereits verschiede Protokolle (STK500, 
STK500 v1, STK500 v2, STK200) ausprobiert. STK500 v2 scheint das 
richtige zu sein. Bei den anderen Protokollen bricht die Übertragung 
schon viel früher ab.

von Rainer B. (katastrophenheinz)


Lesenswert?

Wenn man dem oben angegebenen ebay link glauben kann, dann ist der 
programmer von diamex. Hier hat jmd dasselbe problem wie du:

http://forum.diamex.de/showthread.php?944-USB-ISP-Programmer-amp-Atmel-Studio-6

Also probiere mal aus, ob dein programmer unter avr studio 4.19 erkannt 
wird. Wenn ja, dürfte es sich bei dir um denselben fehler handeln.

Firmware update über die forumsseite oder über die download seite von 
diamex. Allerdings solltest du sicher sein, dass du ein diamex-teil 
hast. Sonst ist es nach dem fw update tot.

Falls es ohne update unter 4.19 rennt kannst natürlich auch auf 4.19 
weiterarbeiten und auf das update vezichten.

von c-hater (Gast)


Lesenswert?

Voldemort schrieb:

> 
http://www.ebay.de/itm/AVR-USB-ISP-Programmer-ATMEL-ATMEGA-STK500-Neu-ATTINY-/370490000223?hash=item5642ecc35f:g:fJ4AAOSw8cNUR1Cx

Also das sieht zumindest aus wie ein Diamex-Programmer. Es könnte sich 
allerdings auch um einen (nur) äußerlich gleichen Fake-Nachbau handeln.

Wenn es ein Diamex ist, ist stk500v2 tatsächlich die korrekte "Sprache", 
in der avrdude mit ihm reden können sollte. Es bringt also nix, hier 
etwas anderes zu probieren.

> Ich benutze Windows 7 und habe den Treiber für den Programmer auf
> diamex.de runtergeladen. Die Treiberinstallation hat auch ohne weiteres
> geklappt

Das allein heißt leider noch nicht sehr viel.

Der Programmer sollte eine LED enthalten. Für eine erste Diagnose des 
Problems ist es wichtig, was diese LED direkt nach dem Anstöpseln an den 
Rechner tut. Sie sollte entweder direkt Dauerlicht zeigen oder maximal 
einige wenige Male blinken und dann Dauerlicht zeigen. Tut sie das?

Hinweis: dafür braucht überhaupt kein Programmer-Programm gestartet 
sein, also weder avrdude noch irgendein Studio. Es ist reiner 
USB-Treiber-Kram, was in dieser Phase abläuft.

> In der kurzgehaltenen Anleitung vom Programmer steht drin dass er STK500
> Version 2 verwendet.

Und das ist auch tatsächlich so. Jedenfalls bei einem echten Diamex...

von Voldemort (Gast)


Lesenswert?

Nochmals Danke für eure Hilfe. :)

Rainer B. schrieb:
> Firmware update über die forumsseite oder über die download seite von
> diamex. Allerdings solltest du sicher sein, dass du ein diamex-teil
> hast. Sonst ist es nach dem fw update tot.

Der Kollege aus dem Diamex Forum scheint ja tatsächlich ein ähnliches 
Problem zu haben.

Ich habe das Firmware update installiert. Scheint auch nichts kaputt 
gegangen zu sein. ;) Nur leider hat sich auch nichts verbessert. Weder 
mit Burn-O-Mat noch im Atmel Studio.

c-hater schrieb:
> Sie sollte entweder direkt Dauerlicht zeigen oder maximal
> einige wenige Male blinken und dann Dauerlicht zeigen. Tut sie das?

Wenn ich den Programmer anschliesse blinken die grüne LED 
(controllerseitig) und die rote LED (USB-seitig) jeweils ein mal. Danach 
geht die rote ins Dauerleuchten über.


Die oben angegebene Fehlermeldung im avdude wird angezeigt, egal ob das 
Board angeschlossen ist oder nicht. Doch wenn das Board angeschlossen 
ist blinken nach der Fehlermeldung kurz die LEDS auf dem Board und es 
ertönt ein beep. Ist dies ein Zeichen dass irgendeine Art Kommunikation 
stattfindet oder hat das nichts zu bedeuten?

von Voldemort (Gast)


Lesenswert?

Anmerkung:

Voldemort schrieb:
> Doch wenn das Board angeschlossen
> ist blinken nach der Fehlermeldung kurz die LEDS auf dem Board und es
> ertönt ein beep. Ist dies ein Zeichen dass irgendeine Art Kommunikation
> stattfindet oder hat das nichts zu bedeuten?

Dasselbe macht das Board wenn man den Reset Taster drückt.

von Rainer B. (katastrophenheinz)


Lesenswert?

Ich würde nochmal zwei dinge prüfen:
1) was sagt avr studio v4.19 zu dem programmer? Erkennt avr studio 4.19 
den programmer oder erkennt die den ebenfalls nicht?

2) hast du mit dem fw-update von der diamex website auch avr-dude auf 
die version aktualisiert, die auf der diamex-downloadseite verlinkt ist?

von Voldemort (Gast)


Lesenswert?

Nach dem ich die ganze Sache noch auf einem anderen Laptop probiert habe 
und dort der gleiche Fehler aufgetreten ist, habe ich mir für 8€ einen 
Fischl USBasp gekauft.

Mit dem hat sofort alles geklappt. Ich kann die Diamex Programmer also 
nicht weiterempfehlen.

Danke für eure Hilfe.

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.