процессор атмега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"); ПОСЛЕ ПЕРЕПРОШИВКИ не программа запускается, но прерывания не включаются. проблема три! в этом же случае, но после ресета по кнопке все равботает.
кто может что посоветовать? первое сообщение проигнорировали!
|