Я разрабатываю драйвер для управления входами сигналов, которые поступают на карту приемника, подключенную через порт PCI, и у меня возникает проблема, когда дело доходит до обработки этих сигналов.
Когда поступает сигнал, эта карта посылает сигнал прерывания процессору, и теоретически драйвер выполняет инструкцию прерывания, но это никогда не дает себя самому.
Я с помощью осциллографа проверил, что карта посылает сигнал прерывания и что на выводе, подключенном к процессору, этот сигнал также поступает, однако Linux не обнаруживает в любой момент, что прерывание наступило. Хотя я был неправ в разработке программного обеспечения, Linux должен показать мне, что перебои идут, верно?
Чтобы объявить журнал прерываний в / proc / interruptions
Я использовал функцию request_irq (pcidev-> irq, IntrCheck, 0, "FPGA_INT, pcidev");
, а функция IntrCheck
объявлена как void
Корректна ли эта функция?
Я думал, что возможная ошибка, которую мы не видим, связана с прерыванием, которое связано с DTB, который мы используем для разработки, и мы должны изменить его