I am experimenting with an ATmega328P bootloader, and I created an Intel HEX (.hex) file with a program with an infinite loop in the beginning and with Optiboot code at the end of the hex file. (Code loaded into the chip is here: http://relliks.php5.cz/stackexchange/DUMP.bin.)
Then I disabled the
BOOTRST fuse and pressed the restart button on Arduino Uno R3, but the bootloader still blinks with the LED on digital port 13.
How is it possible, that the bootloader is executed after chip restart and
BOOTRST is disabled? My fuse settings are: Only
BODLEVEL0 are set.
I found that when I disable the
BODLEVEL0 fuse, the bootloader turns off.
BODLEVEL0 is used to set the brown-out voltage and shouldn't affect bootloader start. Where is the issue?