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

 
 
> прерывания, как ведет себя проц, если сразу два прерывания?
Метценгерштейн
сообщение Apr 10 2015, 18:41
Сообщение #1


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

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



возьмем cortex, где есть приоритеты прерываний.
Допустим, у нас прерывание от таймера имеет приоритет 3. Выполняет это прерывание. Тут происходит другое прерывание с высшим приоритетом. Он бросает выполнение прерывания, начинает более приоритетное выполнять?
А если во время выполнения приоритетного еще раз возникло прерывание от таймера? Он его проигнорирует или в очередь на выполнение запишет?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SII
сообщение Apr 11 2015, 04:46
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



Ну, это уже зависит от логики обработчика прерывания. Новое прерывание может вытеснить уже выполняющийся обработчик лишь в том случае, если приоритет нового выше приоритета обрабатывающегося (точней, приоритет группы -- см. по ссылке, что выше давал, если интересно группирование приоритетов). Соответственно, новое прерывание от источника, обработка предыдущего прерывания для которого ещё не завершилась, не сможет вытеснить уже вызванный обработчик этого прервания. Ну а этот обработчик может в конце сбросить все условия прерывания от данного источника -- тогда новое прерывание не произойдёт вовсе. Но, если ничего такого не делать, то после завершения обработчика он сразу будет вызван повторно для обработки нового запроса, как сказал ViKo.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 21:13
Рейтинг@Mail.ru


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