I have some questions about the Arduino Bootloader. Hope someone can help me understand it better.
I did some research on it and following are my current understanding. Let me know if anyone of them is not true.
To program any AVR (or any Microcontroller) you need an external hardware called programmer. But bootloader solves this problem in Arduino, by not requiring the programmer.
When the chip (with a bootloader) is powered on (or reset), it waits for sometime to see if there is a any new code. If not it continues to load the old code present in the chip
You can also use a working Arduino as a programmer to program other AVR chips.
Now my questions regarding the bootloader
If I am always going to use an Arduino as a programmer to (re)program my new AVR chip, do I still need to burn the bootloader into the new chip?
Can I burn the bootloader into non-Arduino AVR chips like AtMega 16A or ATTiny 85?
More or less correct.
With a programmer, you can: load a sketch that will start immediately after a reset; or you can load a bootloader that watches for serial communication and performs self-programming, and if no serial comm occurs then the bootloader starts the sketch.
Arduino can be loaded with a programmer sketch to load other parts per the above.
New chip does not need a bootloader, it can be programmed with a sketch. Select File:Upload Using Programmer.
(have not tried that personnally, I have a standalone programmer (several actually), less wires to mess with).
Check www.avr-developers.com to see if cores & bootloaders exist for the other chips if you do not see the chips listed as being used on an existing board type.
CrossRoads:
More or less correct.
With a programmer, you can: load a sketch that will start immediately after a reset; or you can load a bootloader that watches for serial communication and performs self-programming, and if no serial comm occurs then the bootloader starts the sketch.
Arduino can be loaded with a programmer sketch to load other parts per the above.
New chip does not need a bootloader, it can be programmed with a sketch. Select File:Upload Using Programmer.
(have not tried that personnally, I have a standalone programmer (several actually), less wires to mess with).
Thanks for confirming.
CrossRoads:
Check www.avr-developers.com to see if cores & bootloaders exist for the other chips if you do not see the chips listed as being used on an existing board type.
I checked out the site, but it seems that it was last modified for Arduino 0020. So I guess it may not be compatible with the latest IDE. Let me see if I can update it to the latest Arduino version.
If you'll use other chips like attiny and other atmega i suggest you to program it directly from arduino with the .hex file using a GUI like avrdudegui or other and bypassing the bootloader so you could have more space in the flash memory
Hi niko
(sorry for my English but I'm Italian)