1
\$\begingroup\$

when trying to program the fuses I get this known error message:

$ sudo avrdude -c usbtiny -p m328p -U hfuse:w:0x05:m

avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check.

avrdude done. Thank you.

Here's with -vvvv: $ sudo avrdude -c usbtiny -p m328p -U hfuse:w:0x05:m -vvvv: pastebin.com/mcdyiHYq

Adding -B20 or -B250 doesn't help.

-> I know exactly how I caused this: $ sudo avrdude -c usbtiny -p m328p -U hfuse:w:0x11:m. The wired thing is the output and that it shows that E:11 is set instead of H:11. pastebin.com/wE7uwC31 Why did avrdude set the wrong fuse :\ and is this a bug in avrdude?

-> -B250 worked one time when I needed it: First I did $ sudo avrdude -c usbtiny -p m328p -U lfuse:w:E3:m, but when I tried to set it back to 0x62 I got initialization failed, rc=-1, added -B250 and $ sudo avrdude -c usbtiny -p m328p -U lfuse:w:E3:m worked. The thing is, it doesn't work now when I set the other fuse to 0x11 as described.

-> Everything is well connected because if I try a different same ATmega328P-PU chip, it works. So it has something to do with this 0x11 fuse setting I did. And also the code is running on this chip is still working and the attached LCD shows correct results.

This is what the 0x11 high fuse setting sets, but it's not like this setting means that it is set to "locked" or something?

\$\endgroup\$

1 Answer 1

5
\$\begingroup\$

Unfortunately you've programmed the RSTDISBL fuse bit, which means that ISP will no longer work. You will need to find or build a HVPP programmer in order to unprogram that fuse bit.

more info

\$\endgroup\$
5
  • \$\begingroup\$ The really bad thing about this is that I (explicitly) wrote hfuse:w:0x11:m, but the wrong fuse was set :\ Is this a bug in avrdude? \$\endgroup\$ Commented Dec 1, 2014 at 17:45
  • \$\begingroup\$ No. Setting a fuse bit to 0 programs it. \$\endgroup\$ Commented Dec 1, 2014 at 17:46
  • \$\begingroup\$ I don't understand your replay. Which fuse bit did I set to 0? \$\endgroup\$ Commented Dec 1, 2014 at 17:49
  • \$\begingroup\$ The RSTDISBL fuse bit. \$\endgroup\$ Commented Dec 1, 2014 at 17:49
  • \$\begingroup\$ The senseless thing with AVR fuse bits are that they use reverse logic for programming. Meaning that if you want to enable a fuse option, you need to program it with a 0 ! \$\endgroup\$
    – not2qubit
    Commented Jan 28, 2019 at 12:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.