• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

[Lösung] Tiny13 @ 16kHz regiert nicht mehr

huzzel

Geowizard
Da es wohl schon jedem passiert ist, dass ein auf 16kHz per Fusebits eingestellter Tiny13 nicht mehr reagiert, bzw. sich nicht mehr programmieren lässt, hier mal eine kleine Kommandozeile, mit der sich der Tiny wieder zum Leben erwecken lässt:
Man benötigt:
avrdude
Programmieradapter

Folgender Code gilt für Tiny13 und einen USBASP als Programmer (andere Programmer bitte der Beschreibung von avrdude entnehmen)

Code:
avrdude -p attiny13 -P usb -c usbasp -B 400 -U lfuse:w:0x7a:m -U hfuse:w:0xff:m

Was macht das Script?
Es setzt die Programmiergeschwindigkeit auf 2000 Hz herunter (-B 400 ist der entscheidende Teil) und damit kann der Tiny programmiert werden. Außerdem werden noch die Fuse-Bits auf 9,6 Mhz umgestellt und somit reagiert der Tiny wieder wie gewohnt in den gängigen Programmen
 
OP
huzzel

huzzel

Geowizard
Für den Parallelprogrammer lt. Kochbuch müsste folgendes Kommando passen:

Code:
Code war falsch; Auf Wunsch des Autors gelöscht; richtige Code weiter unten

ACHTUNG: Ich habe den Programmer nicht (mehr) und kann es demnach nicht selber testen.

Edit by Schnueffler:
Auf Wunsch des Autos geändert und falschen Code entfernt.
 

thomas_st

Geowizard
huzzel schrieb:
Folgender Code gilt für Tiny13 und einen USBASP als Programmer (andere Programmer bitte der Beschreibung von avrdude entnehmen)
Nur zur Ergänzung: mit dem hier auch mal erwähnten einfachen Programmer am seriellen Port scheint das nicht zu funktionieren.
Jedenfalls habe ich so gut wie alles mit avrdrude ausprobiert, um solcher Art verfuste Tinys mit diesem Programmer wieder zum Leben zu erwecken - erfolglos. Das ist mir dann erst mit dem später angeschafften stk500 gelungen (einen Parallelportprogrammer habe ich nie gehabt).

Viele Grüße,
Thomas(_st)
 
OP
huzzel

huzzel

Geowizard
Ich hatte ein wenig Zeit und habe mit meinem Parallelprogrammer herumexperimentiert. Meine ursprüngliche Annahme mit dem Code für den SP12 hat Fehler.
Als erstes muss es
Code:
-P lpt1
heißen
Des weiteren funktioniert
Code:
-B
bei den parallelen wohl nicht.
Aber mit
Code:
avrdude -p attiny24 -P lpt1 -c pony-stk200 -i 200 -U lfuse:w:0x62:m  -U hfuse:w:0xdf:m -U efuse:w:0xff:m
habe ich einen Tiny24 wieder zum Leben erweckt .
Der interessante Schalter ist der
Code:
-i
, damit wird eine Wartezeit definiert. Also, wenn es mit
Code:
-i 200
noch nicht hinhaut, einfach mal einen noch größeren Wert einsetzten.
Stört Euch bitte nicht an
Code:
 -c pony-stk200
, das ist mein Programmer, bei dem aus dem Kochbuch einfach durch
Code:
 -c SP12
ersetzten (wie gesagt, das kann ich aber nicht überprüfen, da ich keinen (mehr) habe. Aber die Unterschiede sind rein, dass andere Pins benutzt werden).

Um auf mein Ursprungspost nochmals zurückzukommen, hier der berichtigte Aufruf:
Code:
avrdude -p attiny13 -P lpt1 -c sp12 -i 200 -U lfuse:w:0x7a:m -U hfuse:w:0xff:m
 
Oben