An interrupt request is a hardware signal sent to the processor that temporarily stops a running program and allows to handle a hardware event.
1 ответ

Получение обратного адреса исключения на ARM Cortex M0

Я пытаюсь получить адрес возврата обработчика IRQ в моем коде. Моя цель - сохранить значение ПК непосредственно перед истечением сторожевого таймера и перед сбросом в целях отладки, используя WDT_IRQHandler(). Я также тестирую этот подход с другими …
27 июл '16 в 16:23
2 ответа

Почему прерывания MSI не передаются?

Может ли кто-нибудь сказать, почему прерывания MSI не делятся в Linux. Прерывания на основе ПИН-кода могут совместно использоваться устройствами, но прерывания MSI не разделяются устройствами, каждое устройство получает свой собственный номер IRQ MS…
2 ответа

request_threaded_irq() используется в драйвере, почему не request_irq()? Каковы различия между двумя?

Я разместил эту ветку, которая обсуждала request_threaded_irq, но я не получил никакого ответа. Поэтому я публикую это свежо. Я работаю над драйвером сенсорного экрана для емкостного сенсорного экрана. Он использовал запрос request_threaded_irq() вм…
07 окт '11 в 09:22
3 ответа

Сколько лет технологии запроса прерывания (IRQ)?

Делаю отчет об этом, и я нигде не могу найти данные о дате! Сколько лет IRQ технологии (грубые даты)? Что делал компьютер до появления запросов на прерывание? Просто генерировать ошибки?
22 фев '13 в 00:02
0 ответов

Как составить список доменов IRQ ядра

Я разрабатываю простой драйвер GPIO для SoC под управлением Linux (уровень новичка), я сталкиваюсь с проблемой, потому что номера IRQ отличаются от тех, что в таблицах данных. Я узнал, что эффективный менеджер IRQ может создавать домены IRQ. Тем не …
1 ответ

Модули Digi S2B, режим прерывания кнопки

Я разрабатываю приложение, используя Freescale CodeWarrior IDE с расширением Digi. Я создал образцы приложений и использовал их. Это работало довольно хорошо, но у меня были некоторые проблемы с IRQ. Если я использую компонент IRQ, я не всегда вхожу…
06 ноя '13 в 08:25
2 ответа

ARM A7 Возможна ли обработка необработанных прерываний в Linux?

Я хотел бы написать основной драйвер с открытым исходным кодом для управления шаговыми двигателями в Linux. В данном случае специально для 3D-принтеров. Основная идея заключается в том, что драйвер резервирует контакты на одном порту ввода-вывода, а…
12 авг '16 в 23:12
1 ответ

STM32L4R5xx зависает, когда включено внешнее прерывание

Я хотел бы использовать контакт PC3 в качестве внешнего прерывания. Всякий раз, когда я включаю прерывание, я оказываюсь в бесконечном цикле. Вот как я запускаю gpio и его прерывание: __HAL_RCC_GPIOC_CLK_ENABLE(); GPIO_InitStruct.Pin = GPIO_PIN_3; G…
17 авг '18 в 14:04
0 ответов

Рекурсивные макросы C

Я строю ядро, в котором у меня есть 192 обработчика IRQ. Мне нужно сопоставить обработчики IRQ "192" с системной глобальной IDT. Из них мне нужно отобразить обработчики в диапазоне 32-192 как IRQ устройства. MapHandler(unsigned short int vector, uns…
08 фев '18 в 07:11
1 ответ

PID в случае irq контекста

Что выводит "current->pid" в случае ниже 2 1) Жесткий IRQ контекст 2) Мягкий IRQ контекст Я знаю, что контекст IRQ и контекст процесса различны, и PID должен быть недействительным в случае контекста IRQ. Но когда вы пытаетесь напечатать "current->pi…
01 фев '17 в 05:55
1 ответ

Рука - разрешение прерывания

Я пытаюсь включить прерывания и таймер 2 на Allwinner A20 ( руководство пользователя). CPSR читает 0x60000113, GICD_CTRL читает 1, GICC_CTRL читает 1, GICD_ITARGETSR0 читает 0x01010101, И GICD_IIDR читает 0x0100143b, IRQ_ENABLE_REG таймера был включ…
01 июл '18 в 17:49
1 ответ

Вычисление количества прерываний в течение 1 секунды из контекста процесса

У меня есть требование, где мне нужно рассчитать количество прерываний, которые происходят в течение 1 секунды. Я планирую иметь подход ниже Контекст процесса: atomic_set(&irq_enblflg, 1); //enable IRQ flg and sleep for 1 sec. mdelay(1000);//may…
29 окт '18 в 11:38
1 ответ

Простая и эффективная реализация планирования для одноядерного ARM

Я хотел бы разработать и реализовать простой и безопасный планировщик в стиле OS. Механизм должен обрабатывать контекст IRQ (USB и SDH), и 3-4 основные подпрограммы, две из которых управляют как контроллерами USB, так и SDH, и все имеют некоторое ис…
20 сен '13 в 15:42
2 ответа

Как активировать все ksoftirqds в Linux? (о сетевом стеке ядра Linux)

У меня многоядерная карта NIC на 4-ядерном компьютере Intel, и я связываю каждую очередь карты NIC на ядре процессора (set /proc/irq/xxx/smp_affinity) Скажем, queue0 на core0, queue1 на core1 и так далее. Говорят, что softirq будет задействовать то …
05 дек '12 в 05:54
1 ответ

IRQ клавиатуры в ядре x86

Я пытаюсь запрограммировать очень простое ядро ​​для целей обучения. Прочитав кучу статей о PIC и IRQ в архитектуре x86, я понял, что IRQ1 это обработчик клавиатуры. Я использую следующий код для печати нажимаемых клавиш: #include "port_io.h" #defin…
03 июн '16 в 15:22
2 ответа

FreeRtos вызывает vTaskDelete из IRQ

Я потратил некоторое время, но не могу найти информацию, если разрешено вызывать vTaskDelete из обработчика IRQ? Я знаю, что некоторые методы имеют специализированную версию для использования в процедурах IRQ, однако я не могу найти ничего, связанно…
11 янв '19 в 08:50
2 ответа

Обработчик прерываний срабатывает при вызове free_irq

Моя проблема: обработчик прерываний запускается при вызове free_irq. В сообщениях ядра я заметил, что обработчик вызывается, но, поскольку наше устройство не запрашивало прерывания, оно запросило, что прерывание не получено. Это ожидаемое поведение?…
31 янв '14 в 12:38
0 ответов

Пример АЦП с синей таблеткой STM32F103

После долгих поисков очень продолжительного времени (более 3 месяцев) во всех основных местах, где можно получить информацию и прочтения таблицы данных чипа, я хотел бы спросить у специалистов STM32, есть ли пример использования АЦП, возможно, с DMA…
23 авг '18 в 11:02
1 ответ

Является ли in_irq() надежным?

Ненадежное руководство по взлому ядра Linux утверждает, что Вы можете сказать, что находитесь в состоянии аппаратного прерывания, потому что in_irq() возвращает true. Осторожно Помните, что это вернет ложное срабатывание, если прерывания отключены …
04 фев '13 в 07:31
5 ответов

Временно отключить прерывание по таймеру

Я работаю над встроенным проектом в C на stm32f4xx uC. У меня есть часть кода, которая непрерывно выполняет операцию цикла XYZ, и время от времени прерывание TIM4 изменяет некоторые глобальные параметры и вызывает перезапуск операции XYZ. код пример…
11 дек '12 в 12:28