Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC2106 пропадают прерывания
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
gladov
Ситуация такова: процессор через некоторое время перестает вызывать прерывания совсем. Причем, если софт прошит во флеш и запускается без жтага, то поведение строго детерменировано - падает (точнее не падает, это не аборты - на них висят сигналящие обработчики, а именно перестает вызывать прерывания) всегда в одном и том же моменте при старте. Но если запустить эту же прошивку из-под жтага, то оно работает!!! Причем может работать очень долго, но иногда происходит то же самое - прерывания перестают вызываться. И тогда я вижу, что в CPSR прерывания разрешены, VIC регистры настроены правильно, выражение VICIRQStatus & VICRAWIntr & VICIntEnable явно ненулевое, настроены соотв. векторы. Периферия (таймеры, УАРТ) тоже сигналит вовсю. А НЕТ прерывания! Ни одного. Висит обработчик VICDef который должен засветить диодик и сбросить VICVectAddr - т.е. suprious я пока игнорирую, но диод не загорается. Стеки точно в норме - увиличил их до безобразия, жтагом проверял - запас в 3-5 раз.
Что-то мне подсказывает, что ключевым моментом здесь является тот факт, что софт по-разному ведет себя в свободном плавании и под отладчиком. Хотя при отладке я убираю все бряки и жму "Go". И в таком случае работает гораздо стабильнее. Мож кто подскажет в какую сторону копать? Что еще посмотреть?
rezident
PLL используете? Может проблема при инициализации и включении PLL возникает?
gladov
Да, PLL включен. Сейчас уже пробую "все системы" по очереди отключать и смотрю что будет. Вечером отпишусь.
gladov
Очень странно. Камень перестал глючить после того, как перевел МАМ в режим 1 (partially enabled). Это при 12МГц кварц, PLL x4 до 48МГц и APB делим на 2 до 24МГц. MAMTIM ставлю в 3, и MAMCTL = 1. Если МАМCTL = 2 то иногда вешаемся в зависимости от звезд на небе, а из-под жтага работает всегда. Напоминет errata на более толстые камни LPC у которых это было описано (МАМ2 глючит). Но у меня LPC2106/01 на него errata вообще почти чистая. Причем, если чуть изменить прошивку где-нибудь в совсем не относящемся к делу месте, глюк исчезает. Висяк очень нестабильный.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.