Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t设置IRQ';Linux内核中的触发器类型_C_Linux_Linux Kernel_Interrupt Handling_Irq - Fatal编程技术网

Can';t设置IRQ';Linux内核中的触发器类型

Can';t设置IRQ';Linux内核中的触发器类型,c,linux,linux-kernel,interrupt-handling,irq,C,Linux,Linux Kernel,Interrupt Handling,Irq,我在Linux内核3.18.20和RTAI补丁5.2中遇到了一个问题。我发现我的驱动程序记录的中断频率很高,约为20us/次 我试图改变它的触发类型,看看它是否被错误的方式触发 err=request\u irq(dev->irq,sja1000\u中断,IRQF\u触发器\u高| IRQF\u共享| IRQF\u一次性, dev->name,(void*)dev); PINFO(“priv->flags=%x\n”,priv->flags); 如果(irq设置irq类型(开发->irq,irq

我在Linux内核3.18.20和RTAI补丁5.2中遇到了一个问题。我发现我的驱动程序记录的中断频率很高,约为20us/次

我试图改变它的触发类型,看看它是否被错误的方式触发

err=request\u irq(dev->irq,sja1000\u中断,IRQF\u触发器\u高| IRQF\u共享| IRQF\u一次性,
dev->name,(void*)dev);
PINFO(“priv->flags=%x\n”,priv->flags);
如果(irq设置irq类型(开发->irq,irq类型irq级别高))
PERROR(“无法设置irq%d类型,\n”,dev->irq);
其他的
PINFO(“设置irq%d类型成功\n”,开发->irq);
request\u irq
irq\u set\u irq\u type
似乎可以返回0。但是当我使用
irq\u get\u irq\u type
时,它总是返回0

中断号为16。显示以下
/proc/interrupt/
它没有改变它的触发类型

            CPU0       CPU1       CPU2       CPU3
   0:         57          0          0          0   IO-APIC-edge      timer
   1:         12          0          0          0   IO-APIC-edge      i8042
   7:          1          0          0          0   IO-APIC-edge
   9:          0          0          0          0   IO-APIC-fasteoi   acpi
  12:          1          0          0          0   IO-APIC-edge
  16:     998473          0   49801960          0   IO-APIC   16-fasteoi   can0
  17:         52          0          0          0   IO-APIC   17-fasteoi   mmc0
  18:          0          0          0          0   IO-APIC   18-fasteoi   mmc1
  23:      28409          0          0          0   IO-APIC   23-fasteoi   ehci_hcd:usb1, mmc2
  87:       1905          0          0          0   PCI-MSI-edge      i915
  88:          0          0          0          0   PCI-MSI-edge      eth0
  89:        471          0          5          0   PCI-MSI-edge      eth0-TxRx-0
  90:          6          0          0        470   PCI-MSI-edge      eth0-TxRx-1
  91:          6        465          5          0   PCI-MSI-edge      eth0-TxRx-2
  92:          6          0         10        460   PCI-MSI-edge      eth0-TxRx-3
  93:          1          0          0          0   PCI-MSI-edge      eth1
  94:         32          0          0        666   PCI-MSI-edge      eth1-TxRx-0
  95:         18        506          9          0   PCI-MSI-edge      eth1-TxRx-1
  96:         23          0         53        485   PCI-MSI-edge      eth1-TxRx-2
  97:        113        561         13          0   PCI-MSI-edge      eth1-TxRx-3  
 NMI:         31          0         94         21   Non-maskable interrupts  
 LOC:    1373419       2014     939934    1115589   Local timer interrupts   
 SPU:          0          0          0          0   Spurious interrupts  
 PMI:         31          0         94         21   Performance monitoring interrupts  
 IWI:       2528          0        642          0   IRQ work interrupts  
 RTR:          0          0          0          0   APIC ICR read retries  
 RES:     195337          1      19434      42295   Rescheduling interrupts  
 CAL:        143        162        118        101   Function call interrupts  
 TLB:        571          0        290        640   TLB shootdowns  
 TRM:          0          0          0          0   Thermal event interrupts  
 THR:          0          0          0          0   Threshold APIC interrupts  
 MCE:          0          0          0          0   Machine check exceptions  
 MCP:          4          4          4          4   Machine check polls  
 ERR:          1
 MIS:          0  

有没有办法设置IRQ16的触发器类型

apic=debug
将显示配置的IOAPIC端。其余部分在代码中。您已在
request\u irq()
call中明确请求活动的高级irq。(注意,
irq\u set\u irq\u type()
调用是多余的)我在引导命令行中添加了apic=debug,但是我如何从demsg获得信息来找出16上有这么多irq的原因呢?可能有不同的原因。你必须自己做作业。@0andriy结果是FPGA的家伙不断地发送irq。即未通过清除中断来清除中断源register@deepblue0755你能再详细说明一下你是如何解决你的问题的吗?谢谢