Forum: Mikrocontroller und Digitale Elektronik Seltsamer avrdude-Fehler


von Christoph -. (con-f-use)


Lesenswert?

Hallo zusammen,

aus seltsamen Gründen will avrdude bei mir in Ubuntu das hfuse eines 
ATtiny26 nicht setzen.

1
confus@confusion:~$ avrdude -c usbtiny -p t26 -U hfuse:w:0xf7:m 
2
3
avrdude: AVR device initialized and ready to accept instructions
4
5
Reading | ################################################## | 100% 0.01s
6
7
avrdude: Device signature = 0x1e9109
8
avrdude: reading input file "0xf7"
9
avrdude: writing hfuse (1 bytes):
10
11
Writing |                                                    | 0% 0.00s ***failed;  
12
Writing | ################################################## | 100% 0.07s
13
14
avrdude: 1 bytes of hfuse written
15
avrdude: verifying hfuse memory against 0xf7:
16
avrdude: load data hfuse data from input file 0xf7:
17
avrdude: input file 0xf7 contains 1 bytes
18
avrdude: reading on-chip hfuse data:
19
20
Reading | ################################################## | 100% 0.00s
21
22
avrdude: verifying ...
23
avrdude: verification error, first mismatch at byte 0x0000
24
         0xf7 != 0x17
25
avrdude: verification error; content mismatch
26
27
avrdude: safemode: hfuse changed! Was f7, and is now 17
28
Would you like this fuse to be changed back? [y/n] y


Und dann hängt sich der dude auf. Jemand eine Idee?

Bin für jede Hilfe dankbar. Beginne zu danken, es ist ein Montags-Chip.

Lg,
confus

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Schau im Datenblatt nach, ob der Wert 0xF7 auch so erlaubt ist.

Es gibt manchmal die Situation, dass bestimmte Bits (0xF7 vs. 0x17 => 
hier Bit7-Bit5) vom Anwender nicht gesetzt werden können und daher einen 
unspezifizierten Wert x im Datenblatt haben.

Die Hersteller der Programmiertools und/oder AVR Fuse Rechner nehmen 
dann manchmal für x andere Defaultwerte an (z.B. 1) als der Atmel (z.B. 
0) und schwupp ist der Unterschied beim Verify da.

von Christoph -. (con-f-use)


Lesenswert?

Okay, danke schonmal.

Ich habe eigentlich die Fuses die ich vom Rechner 
(http://www.engbedded.com/fusecalc/) bekommen hab nochmal gegengecheckt. 
Es sollte also nicht daran liegen. Ich werde es trotzdem nochmal machen.

Hat jemand in der Zwischenzeit noch andere Ideen?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Christoph -. schrieb:

> Ich habe eigentlich die Fuses die ich vom Rechner
> (http://www.engbedded.com/fusecalc/) bekommen hab nochmal gegengecheckt.
> Es sollte also nicht daran liegen. Ich werde es trotzdem nochmal machen.

Auf der Seite des Rechners steht es doch in ROT

* Note that some numerical values refer to fuses containing undefined 
bits (set to '1' here). Depending on the target device these fuse bits 
will be read either as '0' or '1'. 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'): High: 0x17.

Ergo: mit der 0x17 ist alles im GRÜNEN Bereich.

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.