Forum: Mikrocontroller und Digitale Elektronik AVR Fuses zurücksetzen mit serieller Programmierung


von Fff T. (teichert)


Lesenswert?

Hallo allerseits,

ich habe leider beim Berechnen der FUSE-Bytes einen fatalen Fehler 
gemacht und weiß nicht weiter.

Ich habe einen ATmega2560 verlötet. Daran ist ein Crystal-Oscillator 
angebracht und die Beschaltung für die ISP-Programmierung eingerichtet, 
die einen Clock benötigt.

Nun habe ich aus Versehen die Fuse so eingestellt, dass ein externer 
Clock verwendet wird, den es nicht gibt. Das Ergebnis ist, dass der uC 
nicht mehr antwortet.

Ich habe ein STK600, kein Windows und bin somit auf avrdude angewiesen, 
das meines Wissens kein JTAG mit dem STK600 spricht.

Ich möchte natürlich nach Möglichkeit nicht mehr viel an meinem 
Prototypen 'rumlöten.

Hat jemand eine Idee, wie ich die Fuses (möglichst einfach versteht 
sich..) zurücksetzen kann?

Ist es beispielsweise möglich, den Clock des sich auf dem STK600 
befindlichen uCs abzuleiten bzw. per Programm einen Clock zu erzeugen, 
den ich an den verstummten uC anlegen kann?

Ist es möglich, den Oszillator dran zu lassen? Oder sollte ich den 
lieber entfernen?

MfG
FT

von Fff T. (teichert)


Lesenswert?

GELÖST:

Ich habe mich getraut, einen externen Clock anzuschließen - mit Erfolg.

Per FUSE kann dafür gesorgt werden, dass der Clock an PE7 ausgegeben 
wird. Den Pin habe ich an XTAL1 des verstummten Gerätes angeschlossen 
und den Oszillator im System angeschlossen belassen. Eine Messung mit 
dem Oszilloskop gab Gewisseheit, dass der Oszillator nicht weiter stört.

Nachdem alles verbunden war, ließen sich die Fuses nun wieder setzen.

MfG
FT

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.