Atmega128 verfused - lfuse=0xBF

Gast #1009904
Lesenswert?

Hallo Forum,

ich habe hier ein Crumb128 Board mit einem Atmega128 und 14,7456MHz 
Crystal. Diesen wollte ich statt dem internen Oszillator verwenden. Nach 
dem ändern der lower Fuses auf 0xBF tut sich leider gar nichts mehr.

0xBF bedeutet:
Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 4 ms; 
[CKSEL=1111 SUT=10],
BODEN=0, (wacklige USB-Stromversorgung, deswegen gesetzt)
BODLEVEL=1 (BOD Level ist 2,7V)

Geflasht wurde mit dem AVR-Doper. Was habe ich da falsch gemacht? Vor 
allem was ist richtig? Anbei noch die Ausgabe von AVRDUDE:

1
C:\avrdude-5.4-win32-bin>avrdude.exe -p atmega128 -c stk500v2 -P avrdoper -e -U
2
lfuse:w:0xBF:m
3

4

5
avrdude.exe: AVR device initialized and ready to accept instructions
6

7
Reading | ################################################## | 100% 0.20s
8

9
avrdude.exe: Device signature = 0x1e9702
10
avrdude.exe: erasing chip
11
avrdude.exe: reading input file "0xBF"
12
avrdude.exe: writing lfuse (1 bytes):
13

14
Writing | ################################################## | 100% 0.20s
15

16
avrdude.exe: 1 bytes of lfuse written
17
avrdude.exe: verifying lfuse memory against 0xBF:
18
avrdude.exe: load data lfuse data from input file 0xBF:
19
avrdude.exe: input file 0xBF contains 1 bytes
20
avrdude.exe: reading on-chip lfuse data:
21

22
Reading | ################################################## | 100% 0.06s
23

24
avrdude.exe: verifying ...
25
avrdude.exe: 1 bytes of lfuse verified
26

27
avrdude.exe: safemode: Fuses OK
28

29
avrdude.exe done.  Thank you.
30

31
C:\avrdude-5.4-win32-bin>avrdude.exe -p atmega128 -c stk500v2 -P avrdoper -e -U
32
lfuse:w:0xBF:m
33

34
avrdude.exe: stk500v2_command(): command failed
35
avrdude.exe: initialization failed, rc=-1
36
             Double check connections and try again, or use -F to override
37
             this check.
38

39

40
avrdude.exe done.  Thank you.
Moderator Persönliche Seite #1010279
Lesenswert?

avion23 wrote:

> 0xBF bedeutet:
> Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 4 ms;
> [CKSEL=1111 SUT=10],

Dem kann ich nicht folgen: 0xBF hat für mich beide SUT-Bits gesetzt.
Macht aber hier nicht viel aus.

Dein Problem dürfte sein, dass du nicht gleichzeitig noch CKOPT in
der hfuse mit gesetzt hast.  Damit hast du den low-power-Oszillator
noch ausgewählt, und der lässt sich nur bis ca. 8 MHz betreiben.
Falls du keinen externen Takt irgendwoher bekommen kannst, um den
AVR zu retten, müsstest du also vorübergehend den 14,7-MHz-Quarz
durch einen aus dem Bereich (3...8) MHz ersetzen.
Gast #1010347
Lesenswert?

@Werner:
Danke, den Artikel habe ich mir durchgelesen. Daher habe ich überhaupt 
die Einstellungen. Ich wusste aber nicht, was ich falsch gemacht habe :(

@Jörg:
>Dem kann ich nicht folgen: 0xBF hat für mich beide SUT-Bits gesetzt.
>Macht aber hier nicht viel aus.

Du hast vollkommen recht. Ich bin beim abschreiben eine Zeile 
verrutscht. Mit SUT=10 wäre 0xAF heraus gekommen, 0xBF habe ich 
geflasht.

>Dein Problem dürfte sein, dass du nicht gleichzeitig noch CKOPT in
>der hfuse mit gesetzt hast.

Das wollte ich hören! Ich werde jetzt eine externe Taktquelle anlegen 
und auch die high fuses setzen.



Vielen Dank! Ich melde mich wieder, wenn es geklappt hat.
Gast #1012799
Lesenswert?

Jetzt die Lösung des Problems:
Der Quarz war nicht eingelötet! Was eingelötet war ist ein 32,768kHz 
Uhrenquarz. Nach dem Einlöten funktionierte es einwandfrei, auch ohne 
die CKOPT fuse.

Für die Leute die sich ebenfalls mit dem Board herumärgern müssen: Vbus 
vom USB ist nicht auf Vcc gelegt! D.h. die Versorgungsspannung des USB 
wird nicht weitergereicht.

Die bei mir funktionierendes fuses sind:
lfuse = 0xBF
hfuse = 0x8C
efuse = 0xFF
lock  = 0xEF (noch nicht bestätigt)

Der mitgelieferte Bootloader war mir zu kompliziert. Ich habe den 
Bootloader von Pascal Stang verwendet, der ein STK500 simuliert. Die 
Adresse ist http://hubbard.engr.scu.edu/embedded/avr/bootloader/ . Der 
USB-Seriell wandler ist an USART1 angeschlossen.


Danke an alle, die sich beteiligt haben.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren