Forum: Mikrocontroller und Digitale Elektronik Attiny85 Read Protection Fuses


von Arti (Gast)


Lesenswert?

Ich habe einen USBASP Programmer und einen Attiny85. Die Fuse Bits habe 
ich hier berechnen lassen:
http://www.engbedded.com/fusecalc

Was ich nicht sehe, wie setze ich "read protection" bei dem Attiny?
Und die andere Sache, wenn man "Reset Disabled (Enable PB5 as i/o pin); 
[RSTDISBL=0]" Fuse setzt, wird der uC sich noch via ISP programmieren 
lassen?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Arti schrieb:
> wenn man "Reset Disabled (Enable PB5 as i/o pin);
> [RSTDISBL=0]" Fuse setzt, wird der uC sich noch via ISP programmieren
> lassen?

Nö.

von Arti (Gast)


Lesenswert?

Und wie sieht es mit "Read Protection" aus? Sorry, habe bis jetzt vor 5 
Jahren mal mit einem Atmega128 gearbeitet und einem MKII Programmer. 
Habe jetzt wieder Newbee-Niveau :)

von J.R. (Gast)


Lesenswert?

mit den entsprechden einstellungen in den lockbits kannst du deinen code 
schützen! -> siehe Datenblatt S.147

von Missionar ohne Stellung (Gast)


Lesenswert?

Du kannst einen HV-Fusebit-Progger benutzen, um nen gesperrten Chip 
komplett zu löschen und neu aufzusetzen. Wenn du auch noch die 
Clock-Fuses verknorkst hast, hilft nur noch ein externer Takt, um 
überhaupt noch an das tote Silizium ran zu kommen.

Oder ein Loch in den Deckel bohren und die Fuses unterm Mikroskop 
umschalten... ;-)

von Arti (Gast)


Lesenswert?

J.R. schrieb:
> mit den entsprechden einstellungen in den lockbits kannst du deinen code
> schützen! -> siehe Datenblatt S.147

Ja, aber wie setze ich diese via USBASP? Ich benutze USBASP als 
"External Tool" unter AVR Studio.

von Arti (Gast)


Lesenswert?

Ich habe folgendes mit einem Attiny45 den ich nicht brauche versucht:

C:\WinAVR-20100110\bin\-e -P usb -c USBasp -B 2 -p t45  -U 
lfuse:w:0xe2:m -U hfuse:w:0xd6:m -U efuse:w:0xff:m -e -U 
flash:w:"$(ProjectDir)Debug\$(ItemFileName).hex":a

Der uC wird dann aber nicht programmiert.
1
avrdude.exe: set SCK frequency to 375000 Hz
2
avrdude.exe: AVR device initialized and ready to accept instructions
3
4
Reading | ################################################## | 100% 0.00s
5
6
avrdude.exe: Device signature = 0x1e9206
7
avrdude.exe: erasing chip
8
avrdude.exe: set SCK frequency to 375000 Hz
9
avrdude.exe: reading input file "0xe2"
10
avrdude.exe: writing lfuse (1 bytes):
11
12
Writing | ################################################## | 100% 0.00s
13
14
avrdude.exe: 1 bytes of lfuse written
15
avrdude.exe: verifying lfuse memory against 0xe2:
16
avrdude.exe: load data lfuse data from input file 0xe2:
17
avrdude.exe: input file 0xe2 contains 1 bytes
18
avrdude.exe: reading on-chip lfuse data:
19
20
Reading | ################################################## | 100% 0.00s
21
22
avrdude.exe: verifying ...
23
avrdude.exe: 1 bytes of lfuse verified
24
avrdude.exe: reading input file "0xd6"
25
avrdude.exe: writing hfuse (1 bytes):
26
27
Writing | ################################################## | 100% 0.02s
28
29
avrdude.exe: 1 bytes of hfuse written
30
avrdude.exe: verifying hfuse memory against 0xd6:
31
avrdude.exe: load data hfuse data from input file 0xd6:
32
avrdude.exe: input file 0xd6 contains 1 bytes
33
avrdude.exe: reading on-chip hfuse data:
34
35
Reading | ################################################## | 100% 0.00s
36
37
avrdude.exe: verifying ...
38
avrdude.exe: 1 bytes of hfuse verified
39
avrdude.exe: reading input file "0xff"
40
avrdude.exe: writing efuse (1 bytes):
41
42
Writing | ################################################## | 100% 0.00s
43
44
avrdude.exe: 1 bytes of efuse written
45
avrdude.exe: verifying efuse memory against 0xff:
46
avrdude.exe: load data efuse data from input file 0xff:
47
avrdude.exe: input file 0xff contains 1 bytes
48
avrdude.exe: reading on-chip efuse data:
49
50
Reading | ################################################## | 100% 0.00s
51
52
avrdude.exe: verifying ...
53
avrdude.exe: 1 bytes of efuse verified
54
avrdude.exe: reading input file "0xFC"
55
avrdude.exe: writing lock (1 bytes):
56
57
Writing | ################################################## | 100% 0.00s
58
59
avrdude.exe: 1 bytes of lock written
60
avrdude.exe: verifying lock memory against 0xFC:
61
avrdude.exe: load data lock data from input file 0xFC:
62
avrdude.exe: input file 0xFC contains 1 bytes
63
avrdude.exe: reading on-chip lock data:
64
65
Reading | avr_read(): error reading address 0x0000
66
    read operation not supported for memory "lock"
67
avrdude.exe: failed to read all of lock memory, rc=-2
68
69
avrdude.exe: safemode: Fuses OK
70
71
avrdude.exe done.  Thank you.


lasse ich -U lock:w:0xFC:m weg, wird der uC programmiert. Mit -e vor den 
fuse und lock Bits gehts es auch nicht :(

von Arti (Gast)


Lesenswert?

Ok, schlau, wie ich bin....
-U lock:w:0xFC:m muss nach dem Flash Befehl, dann geht alles. 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.