www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fusebits in ATMega88 mit Avrdude


Autor: Wilfried Jahn (wilfried)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: alfsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wurde doch soeben erst beantwortet, oder?
http://www.mikrocontroller.net/forum/read-1-388117...

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... ;-)

...

Autor: Wilfried Jahn (wilfried)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: Wilfried Jahn (wilfried)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.