2519|2

62

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

CE5.0中逻辑中断的申请问题 [复制链接]

想问一下大家,你们在写驱动时,使用中断的时候都是怎么申请的中断呢,是调用KernelIoControl()申请,还是从注册表中与相应驱动对应的子键中读Irq值使用呢,他们都用到在Oalintr.h定义的逻辑中断号了吗,新手,请指教,拜托了

最新回复

我在购买的开发板上看到所有的外设都是在Oalintr.h中定义自己的逻辑中断,然后再在使能、禁能、完成函数中添加对应的处理语句,最后在ISR函数里面返回这外逻辑中断号,可能做开发板的公司在修改BSP的时候全部用的自定义逻辑中断吧。 ----------------------------- 还有一事不明,是关于S3C2410芯片中断管理的,在数据手册中可以看到,所有的设备中断和总线,以及外部中断0-3都有自己的中断位(INTOFFSET中),在发生中断时可以检查INTOFFSET寄存器,看是哪个中断发生了,但是扩展外部中断4-23在INTOFFSET中却没有相应的位,在IO PORT里只有一个EINTSPEND寄存器,在OEMInterruptHandler()中也是用这个寄存器来查看到底是哪个外部扩展中断发生的,但是如果在这个函数里面多个外部扩展中断对应返回一个逻辑中断号时,就需要在自己的程序里面来判断这多个中断中是哪个发生了,这时是不是就得把OEMInterruptHandler()中的清EINTSPEND的语句去除呢,然后在自己的程序里面判断哪个中断发生,最后再自己清中断、或是在中断完成函数OEMIntrruptDone()中清除。 上面的方法证明是可以的,不知道大家是怎么做的。 ------------------------------ 还有一个问题,我的问题可能多了点,呵呵。 是关于IO PORT的: 在S3C2410中GPF和GPG中包含外部中断的的管脚,那么当我把其中的一个设置成中断模式的时候,他的输入功能还存在吗,这句话看起来可能自相矛盾,不过我看到有的程序是这样做的,先配置成中断模式,然后还会有语句去读其对应的GPFDAT,以检测这个管脚电平的状态,这时的GPFDAT应该是无效的才对啊,怎么还可以去操作呢? 这一点尤其不明,还请各位前辈释疑。  详情 回复 发表于 2007-12-25 19:23
点赞 关注

回复
举报

76

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
如果能用kernelIOControl申请就可以完成任务的,一般都申请完成
对于一些特殊的,比如中断处理程序中要特别处理的中断,就自定义了
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
我在购买的开发板上看到所有的外设都是在Oalintr.h中定义自己的逻辑中断,然后再在使能、禁能、完成函数中添加对应的处理语句,最后在ISR函数里面返回这外逻辑中断号,可能做开发板的公司在修改BSP的时候全部用的自定义逻辑中断吧。

-----------------------------
还有一事不明,是关于S3C2410芯片中断管理的,在数据手册中可以看到,所有的设备中断和总线,以及外部中断0-3都有自己的中断位(INTOFFSET中),在发生中断时可以检查INTOFFSET寄存器,看是哪个中断发生了,但是扩展外部中断4-23在INTOFFSET中却没有相应的位,在IO PORT里只有一个EINTSPEND寄存器,在OEMInterruptHandler()中也是用这个寄存器来查看到底是哪个外部扩展中断发生的,但是如果在这个函数里面多个外部扩展中断对应返回一个逻辑中断号时,就需要在自己的程序里面来判断这多个中断中是哪个发生了,这时是不是就得把OEMInterruptHandler()中的清EINTSPEND的语句去除呢,然后在自己的程序里面判断哪个中断发生,最后再自己清中断、或是在中断完成函数OEMIntrruptDone()中清除。
上面的方法证明是可以的,不知道大家是怎么做的。

------------------------------
还有一个问题,我的问题可能多了点,呵呵。
是关于IO PORT的:
在S3C2410中GPF和GPG中包含外部中断的的管脚,那么当我把其中的一个设置成中断模式的时候,他的输入功能还存在吗,这句话看起来可能自相矛盾,不过我看到有的程序是这样做的,先配置成中断模式,然后还会有语句去读其对应的GPFDAT,以检测这个管脚电平的状态,这时的GPFDAT应该是无效的才对啊,怎么还可以去操作呢?
这一点尤其不明,还请各位前辈释疑。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表