This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Linux
您好!
我正在进行非常简单的 IRQ 注册、我遇到崩溃
如下所示:
是否有人可以建议如何解决此问题?
root@localhost:~# dmesg -c
root@localhost:~#[180.710235] 无法获取 IRQ 163
root@localhost:~#
root@localhost:~# dmesg -c
[180.709289] FPGA_PROT_IRQ 163.
[180.709289] FPGA_PROT_IRQ 163.
[180.709320]------ [在此处剪切]-----
[180.709350]警告:ARM/ARM/mach-OMAP2/OMAP_L3_NOC.c:117 L3_INTERRUPT_Handler+0x144/0x190 ()
[180.709381] L3自定义错误:主器件:MPU 目标:L4CFG
[180.709381]链接的模块:DRV_IRQ (O) Elbit_files (O) FPGA (O)
[180.709442][ ](RELEDEV_RETRAC+0x0/0xFC)、从[ ](dump_stack+0x20/0x24)
[180.709472][ ](dump_stack+0x20/0x24)从[ ](WARN_RASPEK_COMMON + 0x5c/0x74)
[180.709503][ ](WARN_RASPEK_COMMON + 0x5c/0x74)、从[ ](WARN_RASPH_FMt+0x40/0x48)
[180.709533][ ](WARN_RASPH_Fmt+0x40/0x48)、来自[ ](L3_INTERRUPT_Handler+0x144/0x190)
[180.709564][ ](L3_INTERRUPT_Handler+0x144/0x190)、来自[ ](handle_irq_event_perpu + b0x8 /0x28c)
[180.709594][ ](handle_irq_event_perpu+b0x8/0x28c)从[ ](handle_irq_event+0x4c/0x6c)
[180.709625][ ](handle_irq_event+0x4c/0x6c)从[ ](handle_fasteoi_IRQ+0xd8/0x144)
[180.709655][ ](handle_fasteoi_IRQ+0xd8/0x144)从[ ](generic_handle_IRQ+0x3c/0x50)
[180.709656][ ](generic_handle_IRQ+0x3c/0x50)、来自[ ](handle_IRQ+0x88/0xc8)
[180.709716][ ](handle_IRQ+0x88/0xc8)从[ ](GIC_Handle_IRQ+0x54/0x74)
[180.709747][ ](GIC_Handle_IRQ+0x54/0x74)、来自[ ](_IRQ_Svc+0x40/0x70)
[180.709777]异常堆栈(0xeb4bfcb8至0xeb4bfd00)
[180.709777] fca0:c08ebc90 60000113
[180.709808] fcc0:00000001 00000000 c08ebc40 00000001 c08ebc40 eb417c40 00000000 00000000
[180.709838] fce0:eb76e000 eb4bfd0c eb4bfd10 eb4bfd00 c00bc58c c05baf08 60000113 ffff
[180.709869][ ](_IRQ_Svc+0x40/0x70)从[ ](_raW_spin_unlock_irqrestore+0x2C/0x54)
[180.709899][ ](_raW_spin_unlock_irqrestore+0x2C/0x54)从[ ](__IRQ_PLOT_desc_unlock+0x24/0x48)
[180.709930][ ](__IRQ_PLOT_desc_unlock+0x24/0x48)从[ ](IRQ_SET_IRQ_TYPE+0x5c/0x68)
[180.709960][ ](IRQ_SET_IRQ_TYPE+0x5c/0x68)、来自[ ](Elbit_IRQ_open+0x48/b4 [drv_IRQ])
[180.709991][ ](Elbit_IRQ_open+0x48/b4 [drv_IRQ])、来自[ ](chrdev_open+0x134/0x154)
[180.710021][ ](chrdev_open+0x134/0x154)、来自[ ](__dlentry_open+0x1b4/0x2c0)
[180.710052][ ](__dlete_open+0x1b4/0x2c0)从[ ](nameidata_TO_filp+0x64/0x74)
[180.710083][ ](nameidata_TO_filp+0x64/0x74)、来自[ ](do_last+0x91c/0xaac)
[180.710113][ ](do_last+0x91c/0xaac)、来自[ ](path_openat+0xd4/0x3ac)
[180.710113][ ](path_openat+0xd4/0x3ac)、来自[ ](do_filp_open+0x40/0x8c)
[180.710144][ ](do_filp_open+0x40/0x8c)、来自[ ](do_sys_open+0xf8/0x188)
[180.710174][ ](do_sys_open+0xf8/0x188)从[ ](sys_open+0x2C/0x30)
[180.710205][ ](sys_open+0x2C/0x30)从[ ](RET_FAST_SYSCALL+0x0/0x30)
[180.710205]--[结束线迹784577ce70100618 ]--
[180.710235]无法获取 IRQ 163
此致、
已运行
嗨,Prabhakar,
是的、就是这样。
我在添加带有"+"标记的行后解决了这个问题。
有趣的是、我有其他 IRQ 注册、它在没有额外行代码的情况下运行良好、但重要的是我不再遇到此崩溃。
#define GPIO_IRQ 3.
FPGA_IRQ = GPIO_TO_IRQ (GPIO_IRQ);
+ GPIO_REQUEST (GPIO_IRQ、"FPGA_INTERRUPT");
+ GPIO_DIRECT_INPUT (GPIO_IRQ);
+ GPIO_export (GPIO_IRQ、true);
IRQ_SET_IRQ_TYPE (FPGA_IRQ、IRQ_TYPEE_EDGE_FALLING);
RET = REQUEST_IRQ (FPGA_IRQ、SAMPLE_IRQ、IRQF_SHARED、DEVICE_NAME、DEV_ID);
谢谢、
已运行