AVR Bootloader and Programmer

Posted on Feb 4, 2014

Atmel`s application note AVR109 describes a bootloader that uses the UART to communicate FLASH programming instructions. They also provide some sample code in C that allows the programming of FLASH, EEPROM, and lock bits. Note that the AVR109 bootloader does not support the programming of fuses which for safety cannot be changed by the bootloader.

AVR Bootloader and Programmer
Click here to download the full size of the above Circuit.

The communication protocol used is compatible with the AVRPROG programming software. After loading this into the bootloader section, the device can be configured so that on reset the program counter starts at the bootloader, and programmer software can program the FLASH memory. The ATMEL example bootloader program proposes the use of a port pin on the microcontroller to signal whether to execute the bootloader program or to jump directly to the application. This allows a user to set a jumper on the microcontroller card that pulls the pin low when programming of the FLASH is needed. The adaptation of this code described here, keeps it almost unchanged in the interests of compatibility. By disabling the port pin test and excluding the EEPROM programming section and the AVRPROG compatibility section, the code will fit neatly into a 1K block of the bootloader FLASH section on ATMega48/ATMega88/ATMega168 AVRs *. Disabling the port pin test means that on reset the microcontroller always ends up in the bootloader program (if the appropriate fuse bit has been set), and must be explicitly sent out again with a bootloader exit command. For the moment this is acceptable as the device will normally operate while connected to a PC serial port. For standalone operation a pin will need to be made available to implement the port pin test, or the appropriate fuse bit programmed to start the device on reset at location 0. In the latter case...

Leave Comment

characters left:

New Circuits



Popular Circuits

flyback with a pulsed DC signal
Metal detector with 4030 CMOS
3 Channel Color Organ Circuit
Nokia 7610 MMC Corrupt Problem Picture Help
Hampton Bay Air Conditioner IR Remote Control Reverse Engineer
Light Gate With Counter Using 555 And 4033
z80 cpu test circuit
Hot Tub Hack
Using C-52 EVB for simple robot experiments
Circuit to Measure Power Supply Voltages
Car amplifier TA8205AH application and substitution
DW10M-200 400 600 type excitation switch control circuit
Audio remote control switch schematic