A bootloader is a little piece of basic software that lets a microcontroller perfom some operations without any external hardware support.
It's clear how a bunch of memory can be sacrificed to gain ease in management.
For the ATMega 328 and 168 we have three possible methods to burn a microcontroller with an appropriate bootloader, related mainly to the Arduino Duemilanove platform, but generally valid for other ones (except for the Arduino Uno which shows some difficulties).
That's way we retrieve here some important articles on bootloading, which show both internal and external approach.
We hope they will be clear and useful for you all.
- Configuring your new ATMega328 for Arduino
- Burn Arduino bootloader into ATMega328 (BitBang)
- Burn Arduino bootloader into ATMega (USBtinyISP)
- Burn Bootloader using Arduino as ISP (ArduinoISP)
- Programming Arduino with an external programmer
And if you want to go deeper inside the ATMega memory 's aspects, please take a look at: