Forum: Mikrocontroller und Digitale Elektronik Fusebits in ATMega88 mit Avrdude


von Wilfried J. (wilfried)


Lesenswert?

Hallo, hier bin ich wieder mit einem Problem.
Diesmal zu einem Thema, das hier schon oft besprochen wurde, aber für
meinen speziellen Fall habe ich noch nichts genaueres gefunden. (Oder
ich bin zu dumm dazu).
Zuerst alle meine Daten:
Avrdude 1.4C (Versionsnummer mit Hex-Editor ermittelt)
Avrdude.conf V 1.36 (kann man direkt lesen.
ICprog-AVR 1.1 (USB) von IN-CIRCUIT.
Mit der Befehlszeile "avrdude -p ATMEGA88 -P COM3 -b 38400 -c avr910
-U hfuse:w:0x30:m" wollte ich den Watchdog programmieren, also die
Hfuse von 0x20 auf 0x30 schreiben. Avrdude meldete, daß ein Fehler
aufgetreten ist und das Byte 0x10 gelesen wurde (Watchdog programmiert
und SPIEN disabled)- das war's dann für ISP.
Ich habe schon 3 88ziger auf diese Weise erschossen. Das Dumme ist, daß
die Dinger eingelötet sind.
Ich müßte nun dringend das Bit CKDIV8 ändern, dazu doch 0x1d in lfuse
schreiben, oder?
Vielleicht passt die Version des Avrdude und/oder die .conf nicht zu
meinem ICprog. Ich habe schon mit anderen Versionen aus dem Internet
probiert, kriege die aber nicht zum Laufen. Entweder kennt er die
Device nicht oder die .conf ist corrupt. Einmal habe ich mit AVProg
probiert - mit "Advanced" die Prozessordaten gelesen - läßt das Flash
schreiben, aber bei den Fusebits - auch getötet.
Vielleicht kann mir da auch wieder jemand helfen. Besten Dank dafür
schonmal.

Gruß
Wilfried

von alfsch (Gast)


Lesenswert?

hmmm, die hfuse sollte dann imho auf 0xCF gesetzt werden, oder?
siehe: http://palmavr.sourceforge.net/cgi-bin/fc.cgi

anm.: für mich hat spider sp-12 am parport perfekt funktioniert,
avrdude nicht...konnte tiny26 nicht erkennen...

von Hannes L. (hannes)


Lesenswert?

Das wurde doch soeben erst beantwortet, oder?
http://www.mikrocontroller.net/forum/read-1-388117.html#388478

Bitte auch etwas davor lesen.

Sammle die zerfusten AVRs und schick' sie mir (mit frankierter
Rückverpackung) zu wenn es genug sind, dann bringe ich die per STK500
in den Originalzustand und schicke sie zurück... ;-)

...

von Wilfried J. (wilfried)


Lesenswert?

Hallo alfsch,
hab' ich auch schon mal probiert. Ist auch schiefgegangen mögl. wegen
Avrdude. Ist der o.g. Fusebitrechner auch für alle Programme gültig? In
manchen Programmen sind die Bit's doch invertiert (hab' ich gelesen).

Hallo HanneS,
sorry, aber der Betreff hat mich nicht angesprochen für mein Problem.
Das zeigt mir aber, man sollte alles lesen. Aber die Zeit.....
Die zerfusten sind leider unbrauchbar. Ich habe die Beine
abgeschnitten, weil mir der Erhalt der Platine (selbstgeäzt, ohne
Lötstopp) wichtiger war als ein neuer Atmel. Tut mir zwar auch weh,
aber den Schmerz nuß man aushalten können.

Danke für die Antworten bis jetzt.
Vielelcht kann noch jemand über die Erfahrung mit Avrdude berichten.

Wilfried

von Hannes L. (hannes)


Lesenswert?

> Ist der o.g. Fusebitrechner auch für alle Programme gültig?

Du solltest dich auf die Informationen in den Datasheets zu den
jeweiligen AVRs stützen und dabei alle Fuses im Auge behalten.

Wenn du (mit Stift und Papier) von allen Fuses den Auslieferungszustand
und den gewünschten Zustand ermittelt und notiert hast, dann sollte es
kein Problem sein, festzustellen, ob das von dir genutzte ISP-Programm
deiner Logik entspricht oder deiner Meinung nach invertiert ist. Aus
Sicht der Datasheets (auch aus historischer Sicht) ist nunmal eine
"gesetzte Fuse" eine "0" und eine "ungesetzte Fuse" eine "1".
Wie die einzelnen ISP-Programme das umsetzen, weiß ich nicht, ich
benutze sie nicht alle.

Verlass' dich also nicht auf irgendwelche Fusebitrechner, sondern auf
deinen eigenen Verstand. Geh systematisch heran, dann gibt es auch
keine Missverständnisse. "Mal probieren" oder anderes unüberlegtes
Herumeiern bringt hier nix.

...

von Wilfried J. (wilfried)


Lesenswert?

Stimmt!
Drum verwende ich ja nicht nur mein eigenes Gehirn, sondern die des
Forums dazu.
Mich verwirrt nur, daß Avrdude beim Lesen der Fusebits als Ergebnis für
die hfuse die Zeilen
:01000000DF20
:00000001FF
bringt, und das interprtiere ich als 0x20, denn dieser Wert kommt raus,
wenn man die Bits im Datenblatt invertiert (1101 1111). Im
Fusebitrechner kommt 0xDF. Da ich schon BEIDE Versionen probiert habe
und dann 2 88er weggeworfen habe, bin ich natürlich seeeeehhhhr
verunsichert. Ich glaube, ich werde mir einen Testadapter besorgen,
damit Atmel nicht zu reich wird.

Viele Grüße

Wilfried

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.