Имеется bootloader стартующий после сброса. Доступ к устройству затруднен, поэтому, для обновления прошивки, приходится делать программный сброс.
Сейчас я для этого использую WDT:
Код
case UPDATE_FIRMWARE:
__delay_cycles(10000000); //ждем FBOOT
__watchdog_reset();
WDTCR |= (1<<WDCE) | (1<<WDE);
WDTCR = (1<<WDE) | (0<<WDP2) | (0<<WDP1)| (1<<WDP0);
while(1){__no_operation();} // ждем сброса по WDT
...
Собственно вопрос: есть ли другие способы сделать программный reset (передать управление bootloader)?
Кто как вообще это делает?
P.S.: использую
AVR Bootloader FastBoot von Peter DanneggerP.P.S.: MK - tiny2313
Сообщение отредактировал tourist - Oct 22 2009, 08:39