Erstes Problem: ich weiß nicht, welcher Programmer aus der Liste. In
Frage kämen meiner Meinung nach:
stk500v2 (das steht in der Beschreibung vom Programmer) oder
usbasp (weil es ein USB-Teil ist?)
wie kann ich denn erstmal herausfinden, welchen Programmer ich
einstellen muss? Und dann habe ich einen Tiny24 angeschlossen, habe also
probiert:
1
$ avrdude -n -p t24 -n -c stk500v2
2
3
avrdude: stk500v2_command(): command failed
4
avrdude: initialization failed, rc=-1
5
Double check connections and try again, or use -F to override
6
this check.
7
...
8
9
$ avrdude -n -p t24 -n -c usbasp
10
avrdude: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc
Dann habe ich bei der zweiten Variante gesehen, dass die Adresse nicht
übereinstimmt. Also habe ich die /etc/avrdude.conf mit dem Editor
aufgemacht, in der Annahme, dass ich die Adresse da einstellen kann.
Aber ich finde die Stelle nicht, wo 16c0:5dc eingestellt ist..
Wie geht es besser? :-)
$ avrdude -n -p t24 -n -c stk500v2
avrdude: stk500v2_command(): command failed
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
das sieht doch schon gut aus - nur die Verbindung von Programmer zu
Tiny24 funktioniert nicht.
Rainer Unsinn schrieb:> Ich habe mal in "t24 abgeändert (tiny24 kennt er nicht) - das kommt> 'raus - heißt das- er konnte schon mal die fuses und ie cip id lesen?:
nein, er hat keine Verbindung zu Tiny. Es wird wohl nicht an deinem
Aufruf liegen - hier wirst du wohl die Hardware genauer prüfen müssen.
Kleiner Nachtrag: irgend eine Verbindung gibt es - wenn ich das Kommando
aufrufe, geht der Tiny in den Reset.. (Das hieße, der Programmer steuer
die Leitung - was schon mal gut ist)
Wie würde ich denn - sagen wir mal - die Chip id oder die fuses
auslesen?
Rainer Unsinn schrieb:> Kleiner Nachtrag: irgend eine Verbindung gibt es - wenn ich das Kommando> aufrufe, geht der Tiny in den Reset..
das ist schon mal gut.
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
das darf nicht passieren. Mit "Double check Connections" ist die
Verbindung zum Tiny gemeint.
Also die Verkabelung stimmt (so viel Kabel sind es ja nun nicht, und ich
habe den ja schon oft so angeschlossen, nur unter Windows..)
Die rote Lampe am Programmer pulsiert (gedimmt) zwischen aus und an.
Ich habe jetzt das Teil noch mal abgezogen und neu angesteckt. Jetzt
geht es offenbar "etwas besser":
Also zuverlässig ist die Sache leider nicht.. ich lese fast nie die
richtige device signature, mal sind die bits verschoben, mal fehlen
welche und mal bekomme ich überhaupt keine Verbindung usw:
1
$ avrdude -p t24 -c stk500v2 -P /dev/ttyACM0
2
3
avrdude: AVR device initialized and ready to accept instructions
avrdude: Expected signature for ATtiny24 is 1E 91 0B
9
Double check chip, or use -F to override this check.
10
11
avrdude done. Thank you.
Ich habe schon einen identischen programmer probiert (daran liegt es
nicht) und versucht mit -i... delays einzubauen. Wo kann ich noch dran
drehen, damit die Übertragung stabiler (langsamer) wird?
Verkabelung habe ich mehrfach geprüft..
Rainer Unsinn schrieb:> Wo kann ich noch dran> drehen, damit die Übertragung stabiler (langsamer) wird?
Aus
http://wiki.ctbot.de/index.php/AVR_ISP_Programmer#BlueMP3_bzw._STK200_kompatible_Flasher
"Sollten hier Verbindungsprobleme auftreten so muss man noch die Option
-B 10 anfügen. Diese Option drosselt die ISP Geschwindigkeit. Nach dem
Setzen der Fusebits ist dies nicht mehr notwendig."
Mit der Option -b kann man auch noch die Baudrate vorgeben.
Du benutzt avrdude: Version 5.11.1, aktuell ist Version 6.1,
evtl. mal die ausprobieren.
Ich hatte mal ganz ähnliche Probleme, als ich es irgendwie geschafft
habe, die Verdrahtung insofern zu verballern, als ich die +5V nicht an
den AVR gegeben habe. Der Strom über die Datenleitungen war dann genug,
um den Chip manchmal teilweise aufzuwecken, aber halt in ähnlicher Weise
unzuverlässig wie hier beschrieben. Ich würde mal messen, was zwischen
vcc und gnd am Tiny ankommt. Nur sicherheitshalber. :)
-B10 hat's gebracht, auch mit der Version 5.11! Ich hab die Option nicht
so für voll genommen, weil es in der Beschreibung um JTAG ging.. jetzt
ist alles ok, danke an alle!
1
$ avrdude -p t24 -c stk500v2 -P /dev/ttyACM0 -B10
2
3
avrdude: AVR device initialized and ready to accept instructions
Rainer Unsinn schrieb:> -B10 hat's gebracht
Du kannst Dich mit nem neuen Tiny (Fuses im Orginalzustand) von oben an
den besten Wert rantasten: verringere die Zahl solange bis Fehler
auftreten. Bei mir geht es noch mit -B3
Gut zu wissen, aber so eilig hab ich's nicht, lieber bischen
Sicherheitsreserve: Vor vielen Jahren hab ich EPROMs noch mit der
UV-Lampe gelöscht, dagegen ist das hier alles rasend schnell .. ;-)