Monday 23 February 2015

Arduino Bootloader


I am very new to embedded world. I had been till now working only on S/W


Can anyone please explain me the use of the Arduino Bootloader? I want Arduino to perform some simple mathematics using some additional components that have to be put in to the chip.


Do I necessarily need a bootloader?



Answer




The Arduino is basically just an Atmel AVR microcontroller, with just enough support electronics to allow it to operate. The AVR has built-in flash to allow it to keep programs with the power off, but to program an AVR chip directly you need a tool like the STK-500 to do the job. The Arduino overcomes this by also having a small USB interface on the board, and the Arduino boot-loader code already on the chip. This allows the PC side application to transfer your programs to the device, and in essence, have it flash itself.


So, bottom line, if you get an Arduino, the boot-loader is already there, and does its job automatically. You code your program on the PC, press the 'upload' button on the IDE, and within a few moments your program is running on the Arduino. The boot-loader does its job completely transparently.


fwiw, I personally have an Arduino 2009, and an STK-500 and can do on-the-metal programming on AVRs, but have found no need to bypass the Arduino's bootloader.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...