LINUX AM335X NMI中断使用方法
来源:互联网 发布:淘宝怎么找逆战代练 编辑:程序博客网 时间:2024/06/08 13:41
首先高清楚你要用什么中断,如果是用普通的GPIO去申请中断,那在网上百度就可以了,这里主要讲一下如何使用NMI中断(不可屏蔽中断),自己在这里走了很多弯路,希望可以帮助大家理解,有其他看法的大家在这里交流交流
首先
NMI中断号我们可以从数据手册上面查到是7,此时不能直接用request_irq(7,xxx,xxx,xxx,xxx)去申请,我目前解决的方法是配合设备数去完成:
首先、在设备数中加入如下设备节点
设备节点中的名字am335x_nmi是你自己随意取得,下面的
compatible = "自己设置、能够对应你的驱动中的就可以"如果用的是AM3352、那这里的中断号就是7
加上之后,驱动中一定要与compatible中对应,这样驱动才能匹配到我们的设备节点
接下来就是如何去申请了,首先
(1)用irq=platform_get_irq()去获得中断号(下面解释)
(2)用request_irq( )去申请中断
(3)接下来的步骤就跟平常的中断一样了
这里就有一个疑问了,NMI的中断号已经给出了是7,我们为什么还要申请?,我再程序中将申请到的中断打印出来是194,这就尴尬了,不一样,此时需要大家看一下下面的图:
你会发现他有两个地方代表着我们的中断,中断号是INTC后面的数,但我们内核认识的是前面的中断号,因此我们前面的irq=platform_get_irq()就是用来获得前面的中断号供内核认识,接下来的就是用request_irq()来申请就可以了,有什么问题,留言交流
问题
我这里是用来检测电量的,当电量低于一定的值时就中断报警,但这里导致,电量较低时,就不停的进入中断,有没有什么办法可以只中断一次,因为这里是NMI(不可屏蔽中断)确实还挺不好处理的,大家可以发表一下自己的看法,讨论讨论
下面贴上自己的代码
有需要的自己下载一下,交流交流
http://download.csdn.net/detail/lixiaojie123123/9874802
阅读全文
1 0
- LINUX AM335X NMI中断使用方法
- NMI(Non Maskable Interrupt) 不可屏蔽中断
- MSP430G2553 WDT的NMI中断例子
- Linux NMI Watchdog Timer简介
- AM335X移植linux内核
- 异步通知,中断 例子(AM335X)
- 对于不可屏蔽中断NMI,CPU响应中断的条件有哪些
- Linux内核调试:vmdumper <world-id> nmi,死循环调试
- PE 修改 NMI PIN 为普通中断脚后生成的代码有问题
- 内核进程屏蔽中断加死锁一定可以触发nmi吗
- BeagleBone Black——AM335X——中断控制
- NMI管脚
- nmi watchdog
- NMI特征
- c6000 中断使用方法
- 共享中断 IRQF_SHARED 使用方法
- linux下AM335X的GPIO控制
- linux 创建initramfs-基于 TI AM335X
- 睿丰爱德手持机扫描应用技术分享
- 6.14作业:JAVA基础知识简介
- 输出是?(java自增++)
- [leetcode]514. Freedom Trail
- 如何快速转载博客?
- LINUX AM335X NMI中断使用方法
- 毕业设计_简单远程控制
- css优先级
- 【0011】navicat连接mysql
- 生成对抗网络简介
- tomcat nginx 负载均衡
- HDU 1711 Number Sequence KMP模板
- Win7下U盘安装Ubuntu14.04双系统步骤详解 | 浏览:42144 | 更新:2014-05-24 18:09 | 标
- Day 21 生成器、列表解析 (未完)