процессор атмега128. при попытке перезагрузке из основной программы по ватчдогу(активирован фузами), типа:
WDTCR = (1<<WDCE)|(1<<WDE);
WDTCR = (1<<WDP0)|(1<<WDP1)|(1<<WDP2)|(1<<WDE);
while(1);
перезагрузка происходит, но фузами включен еще бутлодер. и выполнение должно по идее передаться на него, но этого не происходит. пробшлема номер раз! по кнопке ресета перезагрузка переходит в бутлодер.
при такой же перезагрузке из из бутлодера переходи происходит так же, видимо, на нулевой адрес, однако программа не работает, но при этом не запускается и бутлодер. проблема номер два!
при переходе из бутлодера типа:
MCUCR = 0x01; // Enable interrupt vector select
MCUCR = 0x00; // Move interrupt vector to flash
asm("jmp 0x0000");
ПОСЛЕ ПЕРЕПРОШИВКИ не программа запускается, но прерывания не включаются. проблема три!
в этом же случае, но после ресета по кнопке все равботает.
кто может что посоветовать? первое сообщение проигнорировали!