Ситуация такова: процессор через некоторое время перестает вызывать прерывания совсем. Причем, если софт прошит во флеш и запускается без жтага, то поведение строго детерменировано - падает (точнее не падает, это не аборты - на них висят сигналящие обработчики, а именно перестает вызывать прерывания) всегда в одном и том же моменте при старте. Но если запустить эту же прошивку из-под жтага, то оно работает!!! Причем может работать очень долго, но иногда происходит то же самое - прерывания перестают вызываться. И тогда я вижу, что в CPSR прерывания разрешены, VIC регистры настроены правильно, выражение VICIRQStatus & VICRAWIntr & VICIntEnable явно ненулевое, настроены соотв. векторы. Периферия (таймеры, УАРТ) тоже сигналит вовсю. А НЕТ прерывания! Ни одного. Висит обработчик VICDef который должен засветить диодик и сбросить VICVectAddr - т.е. suprious я пока игнорирую, но диод не загорается. Стеки точно в норме - увиличил их до безобразия, жтагом проверял - запас в 3-5 раз.
Что-то мне подсказывает, что ключевым моментом здесь является тот факт, что софт по-разному ведет себя в свободном плавании и под отладчиком. Хотя при отладке я убираю все бряки и жму "Go". И в таком случае работает гораздо стабильнее. Мож кто подскажет в какую сторону копать? Что еще посмотреть?