Hallo,
scheinbar habe ich einen Attiny2313A über eine falsche Fuse-Setting
zerschoßen. Aber vielleicht ist der Controller noch zu retten oder
jemand von Euch kann mir sagen, was ich falsch gemacht habe.
Hier mein Vorgehen:
Ich will einen Attiny2313A mit einem externen Quarz mit 16MHz betreiben.
Dafür habe ich zunächst die Fuse-Settings geändert. Auf
https://www.engbedded.com/fusecalc/ habe ich den Attiny2313A ausgewählt
und "Ext. Clock; Start-up time 14CK+65ms" ausgewählt und "Divide Clock
by 8 internally" deaktiviert.
Damit habe ich folgenden Wert für die Low Fuse erhalten: 0xE0. Die
anderen Fuses bleiben auf den Default-Werten. Anschließend habe ich die
LFuse über avrdude und einen USBasp (so einen:
https://www.roboter-bausatz.de/p/usbasp-avr-programmer?sPartner=8&gclid=EAIaIQobChMImLmP2oaH9QIVjeR3Ch0reABTEAYYAiABEgK90PD_BwE)
programmiert:
1 | root@x55u:/home/johannes# avrdude -c usbasp -p t2313 -U lfuse:w:0xe0:m
|
2 |
|
3 | avrdude: warning: cannot set sck period. please check for usbasp firmware update.
|
4 | avrdude: AVR device initialized and ready to accept instructions
|
5 |
|
6 | Reading | ################################################## | 100% 0.01s
|
7 |
|
8 | avrdude: Device signature = 0x1e910a (probably t2313)
|
9 | avrdude: reading input file "0xe0"
|
10 | avrdude: writing lfuse (1 bytes):
|
11 |
|
12 | Writing | ################################################## | 100% 0.01s
|
13 |
|
14 | avrdude: 1 bytes of lfuse written
|
15 | avrdude: verifying lfuse memory against 0xe0:
|
16 | avrdude: load data lfuse data from input file 0xe0:
|
17 | avrdude: input file 0xe0 contains 1 bytes
|
18 | avrdude: reading on-chip lfuse data:
|
19 |
|
20 | Reading | ################################################## | 100% 0.00s
|
21 |
|
22 | avrdude: verifying ...
|
23 | avrdude: 1 bytes of lfuse verified
|
24 |
|
25 | avrdude: safemode: Fuses OK (E:FF, H:DF, L:E0)
|
26 |
|
27 | avrdude done. Thank you.
|
Das hat dann auch soweit funktioniert. Wenn ich jetzt aber den Chip auch
nur mit den avrdude erkennen möchte, bekomme ich folgende Fehlermeldung:
1 | root@x55u:/home/johannes# avrdude -c usbasp -p t2313 -F
|
2 |
|
3 | avrdude: warning: cannot set sck period. please check for usbasp firmware update.
|
4 | avrdude: error: program enable: target doesn't answer. 1
|
5 | avrdude: initialization failed, rc=-1
|
6 | avrdude: AVR device initialized and ready to accept instructions
|
7 | avrdude: Device signature = 0x50f698
|
8 | avrdude: Expected signature for ATtiny2313 is 1E 91 0A
|
9 |
|
10 | avrdude done. Thank you.
|
Kann mir hier wer weiterhelfen? Was habe ich falsch gemacht? Passt die
Fuse Setting nicht? Ist der Controller noch zu retten?
Viele Grüße,
Johannes