Описание тега interrupt-handling

Концепция обработки системных прерываний в приложении или встроенной системе.
0 ответов

Прерывание не выполняется после возобновления потока в STM32F103C8

У меня есть три потока, выполняющиеся в коде y в основной функции. Я объявляю 3 потока и приостанавливаю два из них. Моя подпрограмма прерывания вызывает функцию, которая после слов возобновляет одну задачу с именем "Swing". Но пока эта задача выпол…
1 ответ

Как справиться с асинхронным нажатием клавиши с Python?

Я ищу способ отправки нажатия клавиш для скрипта Python. В этом случае я пытаюсь, чтобы скрипт обнаруживал, нажимает ли какая-либо клавиша, а не только сигналы прерывания (ctrl + c, ctrl + d, ...). Я проверил модуль сигнала Python. Но похоже, что он…
1 ответ

Как обрабатывать JNI, аппаратное прерывание в cocos2dx

Я сталкиваюсь с большим количеством сбоев, когда пытаюсь добавить addChild, removeChild внутри аппаратных прерываний или обратного вызова JAVA. В моей игре есть программная кнопка для вызова java, чтобы использовать распознавание голоса. Контекст: C…
02 мар '16 в 16:50
3 ответа

Разница между программными и аппаратными прерываниями

Недавно я начал работать над микроконтроллерами ARM Cortex. Читая различные статьи через Интернет, я обычно находил 2 общих термина как программное прерывание и аппаратное прерывание. Какова реальная разница в обоих? Можете ли вы объяснить на пример…
1 ответ

Блокировка или отключение обработчика прерываний

Предполагать:1) Многопроцессорная среда 2) Процесс, который прерывается, - это тот же процесс, который выполняет обработчик прерываний, поэтому я думаю, что технически ничто не прерывается, кроме того, что процесс делал раньше, но он все еще выполня…
02 дек '10 в 19:17
0 ответов

Содержит ли регистр INTC_IRQ_PRIORITY в AM335x приоритет последнего IRQ во вложенных IRQ?

Согласно техническому справочному руководству AM335x регистр INTC_IRQ_PRIORITY содержит текущий активный уровень приоритета IRQ. Это кажется правдой, так как я проверил это, сохранив его значение в ISR и распечатав его в основном цикле (вне ISR). Я …
17 дек '18 в 01:34
1 ответ

Таблица дескрипторов прерываний в многопроцессорной системе

Я читал, что в многопроцессорной системе каждый процессор имеет свою собственную копию таблицы дескрипторов прерываний (IDT), и они используют одну копию глобальной таблицы дескрипторов (GDT). Почему процессоры не могут использовать одну копию IDT?
4 ответа

Переместить векторы исключения ARM?

Как бы я переместил векторы исключений ARM? По сути, мне нужно иметь возможность переназначить их таким образом, поэтому, когда ядро ​​ARM пытается выполнить вектор, оно должно выполнить пользовательский вектор исключений, который хранится в бите ОЗ…
23 янв '12 в 09:55
1 ответ

Разница между request_irq() и setup_irq()

В чем разница между request_irq и setup_irq? Когда использовать request_irq(), когда идти с setup_irq()
0 ответов

Обрабатывать прерывания клавиатуры с помощью опроса регистра запросов прерываний (для x86)

Мне нужно разработать программу для x86, которая будет обрабатывать прерывания клавиатуры путем опроса IRR. Программа должна работать в реальном режиме под MS-DOS. Моя главная проблема заключается в том, что он не работает так, как мне кажется, он д…
08 апр '12 в 20:13
0 ответов

Программа на C- переопределить прерывание

Я пытаюсь написать программу на c, компилятор только для DOSBOX/TURBOC. Цель программы очень проста: пользователь вводит целое число N с клавиатуры, и после этого программа ждет пользователя, пока он не нажмет на N клавиши на клавиатуре (любая клави…
0 ответов

in_irq() возвращает false при вызове из обработчика прерываний руки

И in_irq(), и in_interrupt() возвращают false при вызове из gic_handle_irq, который находится в самом начале обработчика прерываний ARM. Что не так и как этого избежать?
07 июл '15 в 06:40
0 ответов

Функция потока в поточном IRQ выполняется в атомарном контексте?

Я зарегистрировал обработчик прерываний с резьбой, как показано ниже: ret = devm_request_threaded_irq(dev, data->irq, &abc_handle_irq, &abc_thread_irq, IRQF_SHARED, DEVICE_NAME, (void *)pdev); abc_thread_irq () - функция потока, которая д…
0 ответов

Определение индекса прерывания в ядре Linux 4+

У меня есть прерывание, подключенное к GIC процессора ARM в Xilinx Zynq-7000. Ранее рекомендованным способом использования прерывания в Linux было бы использование request_irq(INTERRUPT_INDEX,interrupt_handler,0,DEVICE_NAME,DEVICE_ID); где INTERRUPT…
29 мар '17 в 15:25
1 ответ

Почему компилятор не оптимизирует код прерывания?

Недавно я столкнулся с проблемой изменения переменной только в обработчике прерываний. Сама переменная не была объявлена ​​как volatile, поэтому на более высоких уровнях оптимизации компилятор нарушал код. Тем не менее, компилятор достаточно умен, ч…
29 авг '14 в 21:59
1 ответ

Параллельные прерывания в ARM

Я новичок в процессорах ARM. Atmel ATSAMD20e реализует процессор ARM cortex M0+ на основе архитектуры ARMv6. Он допускает до 32 внешних прерываний, причем сигналы прерываний подключаются к вложенной таблице векторных прерываний (NVIC). Возможно ли о…
0 ответов

Как взаимодействовать с приложением под Wine, используя winedbg?

Я запустил свое приложение под Wine (wine my_app.exe) и я хотел бы взаимодействовать с ним программно или по сценарию. Итак, я бегу winedbg и присоединение к процессу: $ winedbg Wine-dbg>info process 00000008 3 'terminal.exe' Wine-dbg>attach 8…
1 ответ

Kernel IRQ отключить

Я использую P2041 с ядром 3.12. Я использую xr17v358 для последовательного интерфейса. Когда я запускаю последовательный интерфейс, он показывает "попытаться загрузиться с помощью irqpoll", "отключение irq" и так много сообщений трассировки. Как пре…
27 фев '17 в 04:15
1 ответ

Какая польза от флага прерывания IRQF_TRIGGER_NONE?

Может кто-нибудь объяснить флаг, IRQF_TRIGGER_NONE объявил linux в файле,/kernel/linux/include/interrupt.h. Как можно использовать этот флаг?
01 авг '13 в 14:50
3 ответа

Что произойдет, если я отключу прерывание внутри его ISR?

Что произойдет, если вы отключите прерывание внутри ISR этого прерывания?Например, если я передаю данные через USART из буфера, и в этом буфере заканчиваются данные, я хочу временно прекратить передачу, поэтому после отправки последнего байта в буфе…