Forum: Mikrocontroller und Digitale Elektronik Atmega168 eFuse=0xFD nicht schreibbar, Projekt Wordclock


von Dennis S. (rabauke47)


Lesenswert?

Hallo,
Ich muss einen Atmega168 programmieren. Verwendung soll er in einer Word 
Clock Variante 1 
(https://www.mikrocontroller.net/articles/Word_Clock_Variante_1_-_getrennte_Steuerplatine) 
finden.
Zum Programmieren benutze ich einen Usbasp von fischl und AVRDude mit 
dem AVR Burnomat als GUI.
In der Beschreibung der Word Clock steht folgendes zum setzen der Fuses:

"Noch ein Wort zum Flashen mit der Hex-Datei: die Fuse-Werte müssen
auf

  lfuse: 0xE2 hfuse: 0xDC efuse: 0xFD
eingestellt werden, damit die WordClock auch richtig "tickt" ;-)"

Die h und lfuse ließen sich ohne Probleme schreiben. Die efuse 
allerdings kann ich zwar auf niedrigere Werte, aber eben nicht auf 0xFD 
setzen.

Hier ist was der AVRDude ausspuckt:
1
avrdude.exe: 1 bytes of efuse written
2
avrdude.exe: verifying efuse memory against 0xFD:
3
avrdude.exe: load data efuse data from input file 0xFD:
4
avrdude.exe: input file 0xFD contains 1 bytes
5
avrdude.exe: reading on-chip efuse data:
6
7
Reading | ################################################## | 100% 0.01s
8
9
avrdude.exe: verifying ...
10
avrdude.exe: verification error, first mismatch at byte 0x0000
11
             0xfd != 0x05
12
avrdude.exe: verification error; content mismatch
13
14
avrdude.exe done.  Thank you.



Ich bin leider nicht der erfahrenste, deshalb bin ich über jede Hilfe 
dankbar.

von Hmmm (Gast)


Lesenswert?

Das liegt daran, dass der ATmega168 nur 3 Bits davon verwendet, der Rest 
besteht bei Dir aus 1en (wie es auch AVR Studio anzeigt), beim Lesen 
wiederum landen dort 0en, so dass die Verification schiefgeht.

Entweder installierst Du eine neuere AVRDUDE-Version, oder Du nimmst als 
EFUSE-Wert einfach 0x05, das macht keinen Unterschied.

von Günter H. (gnter_h534)


Lesenswert?

Auf der Seite
http://www.engbedded.com/fusecalc/
kannst Du Dir ganz unten die "AVRDUDE arguments" ausgeben lassen. Mit 
roter Schrift kommt dann der Hinweis:

Verification errors will occur if the values are read back with 
undefined bits set to '0'. Everything is fine if the values read from 
the device are either the same as programmed, or the following values 
(undefined set to '0'): Extended: 0x05.

Ansonsten bin ich auch nicht der erfahrenste, bei meiner WordClock hat 
es damals geklappt:

https://www.mikrocontroller.net/topic/156661?page=single#3545457

von Dennis S. (rabauke47)


Lesenswert?

Ok, ich habe mein AVRDude geupdated und jetzt zeigt er auch 0xFD an.

Problem gelöst - Vielen Dank

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.