现在用bbb的板子,tps65217的int信号接在am335x的nmi脚上,请问如何在tps65217产生int中断信号后去唤醒mcu或者让mcu进休眠状态。
Jian Zhou:
MPU的休眠和唤醒是专门有一套机制处理的,休眠一般是发指令实现,唤醒一般是靠一些唤醒源触发。
kevin.yang:
回复 Jian Zhou:
那如果用tps65217产生的INT中断信号,信号输入给nmi脚,是否可以实现这个休眠和唤醒呢?如果可以,应该如何实现呢?谢谢。
Jian Zhou:
回复 kevin.yang:
我觉得是可以的,INT可以给CPU一个中断信号,然后中断服务执行CPU的睡眠指令,同时这个中断引脚也可以配置为唤醒源。
kevin.yang:
回复 Jian Zhou:
hi, Jian Zhou,
请问一下这个nmi的中断号是多少,我看datasheet上写是7,但是我用7来注册irq时,会注册不成功,谢谢。贴上代码:
irq = 7;
ret = request_irq(irq, nnmi_irq_handler,IRQF_TRIGGER_FALLING | IRQF_SHARED, "nnmi_irq", tps);
if (ret < 0){
printk("nnmi request irq err\n");
}
如果用irq = gpio_to_irq(7); 就可以注册成功,但是按下按键的时候,不能进中断,麻烦你帮忙分析一下,谢谢。
Jie Li24:
回复 kevin.yang:
请问你的问题解决了吗?我也是想用中断号7来申请中断,但中断总是申请不成功,讨论讨论,是不是要用内核里面的NMI机制的函数去试验?你的解决了没?
yi ren1:
你好
你们有用命令让板子挂起么echo mem > /sys/power/state
官方手册的。
我这个板子不好用。