What is a Bootloader?

Discussion in 'Embedded Systems and Microcontrollers' started by Sonoma_Dog, Sep 10, 2008.

  1. Sonoma_Dog

    Thread Starter Active Member

    Jul 24, 2008
    What is a bootloader for microcontroller? I was wanted to buy a ATmega168 microcontroller, and it said it's Arduino-bootloader preprogrammed. So is that mean this chip will only be able to program using "Arduino Diecimila PLUS USB Board" ?

    I guess my questions is, what is bootloader and why do we need it?

    Thanks in advance. !
  2. SIcam

    Active Member

    Aug 9, 2008
    You would be best suited to read all pages in the Arduino site as many questions like you asked are listed.


    Now to answer your question - What is a bootloader for a microcontroller?

    "The bootloader is a small piece of software that we've burned onto the chips that come with your Arduino boards. It allows you to upload sketches to the board without external hardware."

  3. John Luciani

    AAC Fanatic!

    Apr 3, 2007
    The bootloader is the code the runs when the uC resets. If you get an ATmega168
    chip with the Arduino bootloader in flash it makes sense to use the Arduino tools
    to program it. If you do not want the Arduino tools you could get a blank ATmega168
    and an in-circuit system programmer (ISP).

    A bootloader is not necessary. The Arduino bootloader runs when the uC resets.
    The last thing the bootloader does is call your code. You could have your code
    startup when the uC resets rather than the Arduino bootloader.

    The Arduino bootloader and tools are a quick way to get started.

    (* jcl *)
  4. nanovate

    Distinguished Member

    May 7, 2007
    Using the ISP you can then erase the bootloader or load your own bootloader or just leave it there.
  5. Sonoma_Dog

    Thread Starter Active Member

    Jul 24, 2008
    Thank you so much for all of the answers! It kind of make sense, i am sure all my questions will be answered after i do some more research on the Arduino site.