Понятно. Но тогда это странно. Такое вы кажется пробовали:
// запуск wdt на минимальный период
WDTCSR|=(1<<WDE)|(1<<WDCE);
WDTCSR=(1<<WDE)|0;
while (1) ;
Должно запустить если фузы правильные (а они правильные)?
Можно бы потестить бут на предмет его правильностию. Зашить такую прогу:
// запуск wdt на минимальный период
int main ()
{
OffWDT();
__delay_cycles(LONG_DELAY); // задержка чтобы успеть включить прогу на ПК
// запуск wdt на минимальный период
WDTCSR|=(1<<WDE)|(1<<WDCE);
WDTCSR=(1<<WDE)|0;
while (1) ;
}
Если ПК и бут не установят связь после такого main, то бут неправильно ватчдог настраивает и сбрасывается в результате. Может быть...