Can burn bootloader only once?


I'm using my usbtinyisp to burn the bootloader on my breadboard Arduino (following guide itp.

I can burn the bootloader once using the following method (ladyada. net/learn/avr/programming. html). I can do it only once, though, I guess afterwards the fuses aren't set right anymore. When I reset the fuses in my external programmer, I can reburn.

I can't seem to burn the bootloader using the IDE when the AVR is already in the breadboard-arduino (as described in the ArduinoBreadboard guide).

Is that normal that I can not re-burn?

(sorry for the funny links, it's my first message so I can't insert proper ones)

I had a related experience a couple of days ago. For a project I’m working on I bought some ATMega328s from digikey. I had a USBTinyISP programmer so I just plugged the chips into my Duemilanove and programmed bootloaders into them using the Arduino IDE. No problems.

Since I have to provide my customer with a programmer I put together a second USBTinyISP and tried to test it by reburning the bootloader into one of the chips. I got read errors from AVRDude but AVRDude completed and the bootloader worked OK.

So I got rid of the bootloader (I think) by uploading a blink sketch to the chip using the USBTinyISP. No problem. The sketch uploaded with no errors and worked fine.

Again I tried burning the bootloader with the Arduino ISP and got the same read errors from AVRDude but again the bootloader worked OK.

I didn’t delve further into what was going on.

I think the problem is related what your fuses settings are requesting from your ATmega chip....

Some of the fuses define where the ATmega gets it's clock signal from... in the case of the lady ada guide, afaik she'll be assuming that you're getting your clock source from a 16Mhz external crystal - because this is the standard set-up for an Arduino board.

This means that your newly programmed ATmega chip is waiting patiently for an external clock source -> and unfortunately, until you give it one it's not going to play ball.

If you are suffering from the situation described above, you'll be given messages about 'no signature' and fuses will be automatically reset each time you try to reprogram yr ATmega.

For a while I thought I'd fried a lot of my ICs but as soon as I set it up with an external clock source all was well.

(For a nice way of discovering fuse settings try out: AVR® Fuse Calculator – The Engbedded Blog)