Цитата(tourist @ Oct 22 2009, 11:56)

Только я не был уверен, что не существует других более простых способов.
Если речь о программном ресете - то, по другому в AVR и не сделать. Если Ваш бутлоадер стартует с известного Вам адреса (наверное, это так и есть), то можно банально перейти по этому адресу, примерно, так:
Код
void (*bootloader)(void) = 0x12345;
......
case UPDATE_FIRMWARE: bootloader();
P.S. При таком переходе на бутлоадер есть "подводные камни" в виде несброшенных и продолжающих работать устройств (таймеры, UART, SPI и т.д.).