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

FAST CHARGER controlled by a 68HC11
X-Rays with Receiving Tubes
20Mhz-clock-phase-lock
touch sensor switch using inverters
Analog Simulation Tools Aid Digital-Control-Circuit Designers
Mains Pulse Circuit
audio graphic equalizer circuit
3 Band graphic equalizer circuit
Flyback Converters for Dummies
EGR 450 Manufacturing Controls Project
Audio Clipping Indicator
144MHz All Mode Transceiver
Seven-segment LED display circuit diagram of a counter
5V / 2A isolated switching power supply circuit diagram



Top