Forum: Mikrocontroller und Digitale Elektronik ATmega32U2 nicht per ISP programmierbar


von trance sister (Gast)


Lesenswert?

Hi,

ich versuche einen ATmega32U2 per ISP-Programmer zu beschreiben. Genau 
gesagt versuche ich, Fuses zu setzen. Auslesen der Fuses geht, beim 
Schreiben tritt folgender Fehler auf:
1
$ avrdude -p m32u2 -P /dev/ttyUSB0 -c stk500v2 -U lfuse:w:0xde:m -U hfuse:w:0xd9:m -U efuse:w:0xf4:m 
2
3
avrdude: AVR device initialized and ready to accept instructions
4
5
Reading | ################################################## | 100% 0.01s
6
7
avrdude: Device signature = 0x1e958a
8
avrdude: reading input file "0xde"
9
avrdude: writing lfuse (1 bytes):
10
11
Writing |                                                    | 0% 0.00s ***failed;  
12
Writing | ################################################## | 100% 0.08s
13
14
avrdude: 1 bytes of lfuse written
15
avrdude: verifying lfuse memory against 0xde:
16
avrdude: load data lfuse data from input file 0xde:
17
avrdude: input file 0xde contains 1 bytes
18
avrdude: reading on-chip lfuse data:
19
20
Reading | ################################################## | 100% 0.00s
21
22
avrdude: verifying ...
23
avrdude: verification error, first mismatch at byte 0x0000
24
         0xde != 0x5e
25
avrdude: verification error; content mismatch
26
27
avrdude: safemode: lfuse changed! Was de, and is now 5e
28
Would you like this fuse to be changed back? [y/n]

Ich habe es mit der (im Datenblatt angegebenen) Self-Powered und 
Bus-Powered Beschaltung versucht. Geht alles nicht.

Irgendwelche Ideen, was ich noch versuchen kann oder woran es liegen 
könnte?

von franke (Gast)


Lesenswert?

trance sister schrieb:
> Irgendwelche Ideen, was ich noch versuchen kann oder woran es liegen
> könnte?

Könnte dran liegen, dass die Programmiergeschwindigkeit so grad über die 
Grenze des maximal Verträglichen geht.

Setz die mal runter (mit der avrdude-Option -B ). Also z.B.

avrdude -B 60 -p m32u2    usw.

von trance sister (Gast)


Lesenswert?

franke schrieb:
> trance sister schrieb:
>> Irgendwelche Ideen, was ich noch versuchen kann oder woran es liegen
>> könnte?
>
> Könnte dran liegen, dass die Programmiergeschwindigkeit so grad über die
> Grenze des maximal Verträglichen geht.
>
> Setz die mal runter (mit der avrdude-Option -B ). Also z.B.
>
> avrdude -B 60 -p m32u2    usw.

Hilft leider auch nichts.

Dass der Quarz nicht schwingt sollte doch ausgeschlossen sein, oder? 
Schließlich kann ich die Fuses ja auslesen.

von trance sister (Gast)


Lesenswert?

Also per USB-Bootloader mit dfu-programmer lässt sich der Chip 
problemlos programmieren. Ist das Setzen der Fuses irgendwie gesperrt 
von Werk aus?

von Rene H. (Gast)


Lesenswert?

Nein! Ist es sicher nicht.

Grüsse,
R.

von Rene H. (Gast)


Lesenswert?

Vielleich hilft das: Beitrag "ATMega32U2 nicht per ISP erreichbar"

Grüsse,
R.

von trance sister (Gast)


Lesenswert?

Rene H. schrieb:
> Vielleich hilft das: Beitrag "ATMega32U2 nicht per ISP erreichbar"
>
> Grüsse,
> R.

Danke. Aber ich hab es soeben selbst herausgefunden. In Kapitel 23.5 des 
Datenblatts steht:

'The Boot Lock bits can be set in software and
in Serial or Parallel Programming mode, but they can be cleared by a 
Chip Erase command only.'

Also den Flash erasen war die Lösung. Dann kann ich auch die Fuses 
setzen. Nur muss ich dafür auch den Atmel Bootloader plattmachen.

von Rene H. (Gast)


Lesenswert?

Verstehe ich das richtig, man kann z.B. die Fuses nicht auf 16MHz 
external Clock setzen ohne den Flash platt zu machen?

Grüsse,
R.

von trance sister (Gast)


Lesenswert?

Rene H. schrieb:
> Verstehe ich das richtig, man kann z.B. die Fuses nicht auf 16MHz
> external Clock setzen ohne den Flash platt zu machen?
>
> Grüsse,
> R.

So verstehe ich es jedenfalls. Allerdings hätte ich das gar nicht tun 
müssen, da man das CKDIV8 auch per Software ausschalten kann.

Naja, jetzt hab ich jedenfalls den LUFA dfu bootloader draufgepackt. 
Scheint zu klappen. Gerät wird als USB device von meinem System erkannt.

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.