8-bit AVR Microcontrollers

Entering the Boot Loader Program

Entering the boot loader takes place by a jump or call from the application program. This may be initiated by a trigger such as a command received via USART or SPI interface. Alternatively, the boot Reset fuse can be programmed so that the Reset vector is pointing to the boot Flash start address after a reset. In this case, the boot loader is started after a Reset. After the application code is loaded, the program can start executing the application code. The fuses cannot be changed by the MCU itself. This means that once the boot Reset fuse is programmed, the Reset vector will always point to the boot loader Reset and the fuse can only be changed through the serial or parallel programming interface.

Table 1. Boot Reset Fuse
BOOTRST Reset Address
1 Reset vector = application Reset (address 0x0000)
0 Reset vector = boot loader Reset, as described by the boot loader parameters
Note: '1' means unprogrammed, '0' means programmed.