Arduino Bootloader
Ever wondered how the code written in the IDE is actually executed ? Do you know where is the code stored in the Arduino and how does it get updated ? ATmega328P is the chip usually used in Arduino uno and nano. When the sketch is loaded it is actually loaded inside the micro-controller chip. This chip then runs the sketch once the Arduino is powered up. Almost all the micro-controllers use some form of a bootloader. When a micro-controller turns on,it runs a specific thing at a particular location (mostly 0x0000). This location usually contain a jump instruction to another place in the memory which is the start of the user program. The bootloader ,however, exits at a different memory location. On a power-up or reset, a bootloader is a section of memory that runs before the main code runs. It is used to setup the micro-controller or provide ability to update main program's code. The Arduino Bootloader supports re-programming the flash memory over serial. Like other micro-