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

 
 
> NIOS. Вложенные прерывания.
COMA
сообщение Sep 29 2014, 06:30
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559



Добрый день!

Есть несколько источников прерваний IRQ 0,1,2...
IRQ 0 - самое приоритетное прервание.
Как разрешить в системе, чтобы прерывание IRQ 0 могло прервать обработчики всех других прерываний, а остальные IRQ не могли прервать друг друга?



Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
krux
сообщение Sep 29 2014, 10:14
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



Для вас есть разница, каким прерываниям можно прерывать текущий обработчик IRQ, а каким нет?
Если разница есть - то придётся использовать Vectored Interrupt Controller.

если нет - то определяйте
ALT_LEGACY_INTERRUPT_API_PRESENT
и внутри обработчика прерывания, которое может быть прервано другими - пишите
Код
tempcontext= alt_irq_interruptible(id);
// Do something which is interruptible
alt_irq_non_interruptible(tempcontext);


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
COMA
сообщение Sep 29 2014, 11:23
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559



Разница есть, в системе установлен Vectored Interrupt Controller.

Мне надо сделать так:
Есть прерывания с номерами IRQ0, IRQ1, IRQ2.
IRQ0 должен прерывать обработчики всех прерываний.
IRQ1 и IRQ2 не могут прерывать никакой обработчик.
Go to the top of the page
 
+Quote Post

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

 


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


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