在pandaboard OMAP4中,GPIO_39上每隔10ms产生一次中断.我已在Linux驱动程序代码中为此注册了处理程序,但由于未检测到中断,因此未处理该处理程序.

我确保在硬件级别(通过探测gpio引脚)确实正在生成中断.只是软件无法检测到它.

我在驱动程序代码中有以下内容.

#define GPIO_NO 39

iowrite16(0x3,gpio_39_address + 2); /* Configured the pin 22 to be used as gpio. */

ret = gpio_request(GPIO_NO,"Claiming GPIO");

if(ret < 0)

{

printk(KERN_ALERT "%s: Claiming GPIO_%d failed\n",__func__,GPIO_NO);

return -1;

}

else

{

printk(KERN_INFO "%s: Claiming GPIO_%d successful\n",GPIO_NO);

}

ret = gpio_direction_input(GPIO_NO);

if(ret < 0)

{

printk(KERN_INFO "%s: Setting GPIO direction to input failed\n",__func__);

return -1;

}

else

{

printk(KERN_INFO "%s: Direction of GPIO_%d set to input\n",GPIO_NO);

}

GPIO_IRQ = gpio_to_irq(GPIO_NO);

if(GPIO_IRQ < 0)

{

printk(KERN_INFO "%s: Mapping GPIO_%d to IRQ failed\n",GPIO_NO);

return -1;

}

else

{

printk(KERN_INFO "%s: Mapping GPIO_%d to IRQ_%d successful\n",GPIO_NO,GPIO_IRQ);

}

if((request_irq(GPIO_IRQ,ten_ms_int,IRQF_TRIGGER_FALLING,DEVICE_NAME,NULL)))

{

printk(KERN_ALERT "%s: requeseting GPIO_IRQ %d failed\n",GPIO_IRQ);

return -1;

}

else

{

printk(KERN_INFO "%s: requesting GPIO_IRQ %d successful\n",GPIO_IRQ);

}

irqreturn_t ten_ms_int(int irq,void *dev_id)

{

T_UINT32 l;

/* Enable spi channel */

l = ioread32(spi_base + SPI_CHCONF0);

l |= SPI_CHCONF0_FORCE;

iowrite32(l,(spi_base + SPI_CHCONF0));

l = ioread32(spi_base + SPI_CHCTRL0);

l |= SPI_CHCTRL_EN;

iowrite32(l,(spi_base + SPI_CHCTRL0));

/* Enable dma channel 0 */

l = ioread32(sdma_base + SDMA_CCR(CHANNEL0));

l |= SDMA_CCR_ENABLE;

iowrite32(l,sdma_base + SDMA_CCR(CHANNEL0));

/* Enable dma channel 1 */

l = ioread32(sdma_base + SDMA_CCR(CHANNEL1));

l |= SDMA_CCR_ENABLE;

iowrite32(l,sdma_base + SDMA_CCR(CHANNEL1));

//printk(KERN_INFO "%s: 10ms interrupt detected %d\n",irq); /* I know that I've to remove this printk statement */

return IRQ_HANDLED;

}

GPIO_39属于存储体GPIO2,相应的中断号为32.但是,gpio_to_irq()的返回值为199.这是另一个引起关注的原因.

如果代码中有问题或错过了某些内容,请告诉我.

linux 应用层gpio中断_如何在嵌入式Linux中检测GPIO线路上的中断?相关推荐

  1. linux 远程挂载摄像头_如何实现嵌入式Linux下USB摄像头视频采集

    展开全部 在linux下所e5a48de588b662616964757a686964616f31333337613134有设备都是文件.所以对摄像头的操作其实就是对文件的操作.USB摄像头的设备文件 ...

  2. 嵌入式linux零基础培训,零基础精通嵌入式linux系统有那么容易吗

    嵌入式linux系统让你从入门到精通,新手必备学习技术你要不要来试试.对于新手来说,嵌入式linux系统应该如何更快更好的学习,首先可以告诉你:你要有C语言基础,看你走哪方面,看是底层系统还是应用层开 ...

  3. 构建嵌入式linux系统_用于构建嵌入式Linux系统的4种工具

    构建嵌入式linux系统 Linux正在被部署到比Linus Torvalds在他的宿舍里工作的设备更多的设备中. 受支持的各种芯片架构令人震惊,并导致各种大小的设备都使用Linux. 从庞大的IBM ...

  4. linux 嵌入式 快照_技术|定制嵌入式 Linux 发行版

    便宜的物联网板的普及意味着它不仅会控制应用程序,还会控制整个软件平台. 那么,如何构建一个针对特定用途的交叉编译应用程序的自定义发行版呢? 正如 Michael J. Hammel 在这里解释的那样, ...

  5. linux dhcp 4.3编译,关于在嵌入式Linux下编译dhcp报错“cannot check for file existence when cross compiling”的初步研究...

    前言.写这篇文章的由来 最近在学习韦东山嵌入式培训视频(3期项目实战之USB摄像头监控)时,在对dhcp源代码configure时,报错:cannot check for file existence ...

  6. 尚观linux视频配套教程,尚观最新嵌入式Linux基础视频教程 98集嵌入式Linux巨制视频教程 新手必备...

    尚观最新嵌入式Linux基础视频教程 98集嵌入式Linux巨制视频教程 新手必备 5.jpg (67.09 KB, 下载次数: 0) 2018-4-16 09:34 上传 1.jpg (44.17 ...

  7. linux内核异常分析ecp,内核基于嵌入式Linux的PocketIX系统

    lgms2008 于 2006-10-20 10:38:55发表: 应用领域与前景 目前PocketIX只是一个预览版,其正式版本不仅可以广泛应用于移动计算平台(PPC). 家庭信息环境(机顶盒.数字 ...

  8. arm linux考勤,定稿毕业论文_基于ARM与Linux的员工刷卡考勤系统喜欢就下吧(范文1)...

    <毕业论文_基于ARM与Linux的员工刷卡考勤系统.doc>由会员分享,可免费在线阅读全文,更多与<(定稿)毕业论文_基于ARM与Linux的员工刷卡考勤系统(喜欢就下吧)> ...

  9. linux生成驱动编译的头文件,嵌入式Linux字符设备驱动——5生成字符设备节点

    嵌入式Linux字符设备驱动开发流程--以LED为例 前言 留空 头文件 #include 查看系统设备类 ls /sys/class 设备类结构体 文件(路径):include/linux/devi ...

最新文章

  1. Educational Codeforces Round 12 A. Buses Between Cities 水题
  2. NOCOUNT如何影响ADO.NET(SET NOCOUNT ON的性能问题)
  3. 2.1 数个常用的网络命令
  4. shlwapi常用的操作路径函数
  5. Redis常用概念简介
  6. 作者:刘岩(1982-),男,泰康保险集团股份有限公司数据信息中心高级工程师、高级主管,中国计算机学会会员...
  7. git-比对不同-diff
  8. 【UOJ】【BZOJ】 [Zjoi2016]小星星
  9. Windows右键添加command(命令行)
  10. adobe flash builder 4.6最新能用的序列号
  11. 根据百度日历获取当年所有天数,以及判断今天是周几 以及是是节假日或者工作日,阴历阳历
  12. 一个MOC3061的可控硅触发电路的分析
  13. Oracle Coherence中文教程四:构建一个Coherence 应用
  14. docker 安装 es + kibana + ik + 拼音
  15. v-if绑定的元素为什么事件没有响应
  16. nuScenes 数据集(CVPR 2020)
  17. js实现整体,局部刷新
  18. 信息系统项目管理师第四版(最新)重点(背诵)内容概览
  19. 数据挖掘ID3算法详解
  20. HBuilder开发旅游类APP(一) ----- 实现地图插件调用、苹果和安卓同步混合开发

热门文章

  1. 程序员转实施工程师_只有程序员才能看得懂?程序员:算了,不看了,我得写代码了...
  2. C# 基础知识 (五).变量类型和字符串处理
  3. 12.1 Bootstrap介绍
  4. Go语言 科学计算库 Gonum 学习1
  5. 征战蓝桥 —— 2014年第五届 —— C/C++A组第6题——扑克排序
  6. 【ARM】Tiny4412裸板编程之MMU封装
  7. mysql5.7 读写分离_mysql5.7的主从复制+读写分离
  8. python迭代器和生成器_Python之迭代器和生成器
  9. python爬去百度搜索结果_python实现提取百度搜索结果的方法
  10. 是什么专业_自考什么专业容易就业