Цитата(Hz! @ Nov 28 2006, 22:18)

После наступления прерывания программа прыгает по неизвестному адресу(не знаю как его определить) и больше не возвращается.
Значит все более-менее хорошо. Адрес определить не сложно, всего 5 точек куда может прыгнуть
1. по вектору таблицы векторов в начале памяти (адрес 0),
либо по вектору в секции бутлоадера, начало секции бутлоадера взависимости от размера секции (256, 512, 1024, 2048 байт) может располагаться по четырем различным адресам.
2. Flashsize - 128.
3. Flashsize - 256.
4. Flashsize - 512.
5. Flashsize - 1024.
Вероятно вы просто ошиблись с адресом начала секции бутлоадера, вот оно и прыгает бог знает куда.
Если смотрели в симуляторе, где размер секции бутлоадера (boot size) не задан (и не может быть задан) программа прыгает в неизвестном направлении.
Если же смотрели через JTAG эмулятор, то очевидно неверно запрограммированы Fuses BOOTSZ.