Go Down

Topic: Bootloader and programming problems (Read 614 times) previous topic - next topic

camerart

Hi,

A couple of days ago, I successfully used AVRDUDESS and an Arduino Uno, to load a BOOTLOADER then program an ATmeg28P.

I thought I would try again to refresh my memory, even though I made some crib pages to follow.  This time I failed, I think around FUSE errors.

Is it possible that once the FUSES have been set, then they can be broken, making the chip faulty?

Camerart.

pert

You can set the fuses to a value that "bricks" the microcontroller. The most common way to do this is to set the fuses to use an external clock source when there is no external clock source. The solution is to connect an external clock long enough to set the fuses back to using the internal oscillator.

You can also set the fuses so that the reset pin becomes an IO pin (RSTDISBL). The solution to that is to connect a high voltage programmer to the chip and set the fuses so that the reset pin becomes a reset pin again.

I would recommend just using the Arduino IDE to burn bootloaders. The board definitions have ideal fuse settings, which are automatically programmed during the Burn Bootloader process. If you want a good level of control over the fuse settings, MiniCore provides this via custom Tools menu items:
https://github.com/MCUdude/MiniCore

camerart

#2
Feb 21, 2019, 03:58 pm Last Edit: Feb 21, 2019, 03:58 pm by camerart
You can set the fuses to a value that "bricks" the microcontroller. The most common way to do this is to set the fuses to use an external clock source when there is no external clock source. The solution is to connect an external clock long enough to set the fuses back to using the internal oscillator.

You can also set the fuses so that the reset pin becomes an IO pin (RSTDISBL). The solution to that is to connect a high voltage programmer to the chip and set the fuses so that the reset pin becomes a reset pin again.

I would recommend just using the Arduino IDE to burn bootloaders. The board definitions have ideal fuse settings, which are automatically programmed during the Burn Bootloader process. If you want a good level of control over the fuse settings, MiniCore provides this via custom Tools menu items:
https://github.com/MCUdude/MiniCore
Hi P,

I downloaded the 'link' program, thanks, but I normally use PICs and only need to program ATmegas a couple of times at the moment.  I also downloaded the data sheet, and again there is a bit too much to learn, for my immediate use.

Can the fuses be messed up by READing them?  The reason I ask, is that I had a NEW chip programmed in Arduino Uno with 'blink' and all I did was to READ the fuses in AVRDUDESS, then when put into Arduino Uno, it had broken, no blink.

C.





pert

I'm not aware of any way that reading the fuses could cause a problem.

camerart

I'm not aware of any way that reading the fuses could cause a problem.
Hi P,

The Arduino Duo that I was using was borrowed from an expert friend of mine.  I gave it back to him with a 'faulty' chip in it, and explained what I did.  He said no problem, he will re-program it.  I'll find out what happens and report back.
Thanks, C.

Go Up