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

 
 
> Неконтролируемые вызовы обработчика прерывания
Человек-Сауна
сообщение Nov 16 2012, 11:03
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 16-11-12
Пользователь №: 74 417



Добрый день, вопрос в следующем:
Плата Altera Stratix II 2S180.
Допустим, есть кастомное устройство, предназначенное для работы в конфигурации с процессором и стандартной шиной, реализовано аппаратное прерывание по отработке устройства. В софте реализована функция, которая будет использоваться как обработчик. Есть определенный регистр прерывания, один из флагов в котором поднимается, когда нужно поймать и обработать прерывание; есть флаг, который нужно поднять чтобы сбросить прерывание.
Проблема вот в чем: Сразу после окончания регистрации обработчика прерывания начинается его постоянный вызов, причем вызов происходит настолько часто и лавинно, что даже вроде бы управление main()-у не отдается ни на такт. При этом значение на регистре прерывания - 0, то есть обработчик вызываться не должен. Изменение значения на регистре ни на что не влияет.
Вопросы:
1)Чем определяется, когда именно вызовется функция обработки прерывания? Значением какого бита или флага, или регистра? Регулируется ли это со стороны софта? Например, для стандартного устройства - ButtonPio - в файле system.h настраивается, будет прерывание срабатывать по фронту или по уровню пинов кнопок.
2)Почему вообще может быть такой лавинный вызов обработчика? Устройство кастомное, но код файлов *.v не документирован и понять принцип его работы сложно.

Спасибо!
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 11:16
Рейтинг@Mail.ru


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