реклама на сайте
подробности

 
 
> Непонятная проблема с прерываниями ARM7 Atmel'a, Через некоорое время перестает вызываться обработчик
Shein
сообщение Jan 21 2011, 15:47
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 4-03-07
Пользователь №: 25 855



Доброго времени суток, коллеги.

Итак, ситуация:
Контроллер AT91RM3400.
используются прерывания:
FIQ - по отрицательному фронту на соответствующей ноге контроллера.
таймер - вызывается каждые 100мкс. Обработчик порядка 15-20мкс.
системній таймер - период порядка 250мс.
UART's - прерывания на прием/передачу с 0 приоритетом. (работают нормально)

Все замечательно работало достаточно длительное время.
Сейчас понадобилось внести некоторые доработки, в результате обработчик таймера перестает выполняться через несколько минут работы программы. При этом FIQ, системный таймер и UART'ы продолжают выполняться нормально.
Предполагаю причина в том, что раньше обработчик FIQ выполнялся порядка 80-85мкс. После дополнения, стал иногда выполняться до 103-105мкс. Поставив на вход и выход из обоих обрабочиков дергание ножками, вижу что FIQ может прерывать обработчик таймера.
Поймать непосредственно момент пропадания прерываний таймера осциллографом не удалось. Мне кажется, что это происходит когда FIQ прерывает обработчик таймера, и новое прерывание таймера приходит когда FIQ еще не вернул управление. Может такое быть или надо искать причину в другом?

JTAG или иным отладчиком "залезть внутрь" и посмотреть что происходит возможности нет.

В принципе можно было б даже сделать таймер более приоритетным, но ни один IRQ не может прервать FIQ. а там сигнал который является источником заведен на плате на вывод FIQ и как его понизить до статуса IRQ я не знаю.

Рад буду любым идеям по решению данной проблемы.

Да, забыл - в sturtup на оба вектора стоит
LDR PC,[PC,#-0XF20]
т.е. обработка идет через AIC.

Сообщение отредактировал Shein - Jan 21 2011, 15:55
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 14:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.0137 секунд с 7
ELECTRONIX ©2004-2016