外部中断线接在am335x的nmi管脚,确定有脉冲信号。
软件使用的是ti-sdk-am335x-evm-05.07.00.00中带的。
在内核模块中用request_irq设置了中断处理函数,正常情况下收不到中断。
如果我在用户空间运行一个占用CPU 100%资源的程序,代码如下:
int
main(int argc, char **argv)
{
for (;;);
return 0;
}
就能收到中断。
请问如何能在正常情况下接收到中断。
Gary Wu:
你好!请问用的AM335X的芯片是PG1.0还是PG2.0 or PG2.1版本的?
需要提醒的是NMI管脚在PG1.0是高电平有效,而在PG2.0和PG2.1上面已经修改成低电平有效了。
haoliang wang:
回复 Gary Wu:
哪个版本应该没有关系吧,因为我让CPU 100%占用时能收到,CPU空闲就收不到了。
这个版本如何确定?我用的芯片是AM3352ZCZD72,这是哪个版本的?
haoliang wang:
回复 Gary Wu:
请问一下,NMI管脚对脉宽的要求是多少?
Yaoming Qin:
回复 haoliang wang:
你用的是PG1.0, 这个版本的nmi的输入,是高电平有效。
haoliang wang:
回复 Yaoming Qin:
我用的就是高电平触发,甚至把Linux内核中电源管理部分都关掉了,还是收不到中断,必须让CPU占用率为100%才能收到中断。请问如何解决。
Yaoming Qin:
回复 haoliang wang:
我们还么有遇到这样的问题,所以请您用starterware试试,排除掉linux其他模块代码的影响。
haoliang wang:
回复 Yaoming Qin:
即使用用starterware能收到中断也证明不了什么啊。
我在linux下CPU占满的情况下也能收到中断,只不过CPU空闲了就收不到了。