xinyancode
驱动小牛
驱动小牛
  • 注册日期2003-08-15
  • 最后登录2008-09-30
  • 粉丝1
  • 关注1
  • 积分3分
  • 威望14点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
阅读:1933回复:12

请教中断清除的难题――windriver

楼主#
更多 发布于:2004-12-23 13:29
请教中断清除的难题――windriver


各位高人:

我做的板子是pci9052+FPGA结构的,用的是电平触发中断的方式,根据9052的databook的说法,清除中断的方法有3种:其中之一是使中断触发电平无效,中断也就清除了,我是这样做得,触发中断的脉冲很短,两次之间的间隔特别大,但是机器反映特别慢,这肯定是中断的使用问题。


我想在进入中断处理程序后,就清除中断,应该访问pci9052的INTCSR寄存器吧,可是我不会访问,应该怎样访问呢?


我用的是Windriver自动生成的用户模式的代码。


请多多指教,我不胜感激!
xucongqi
驱动牛犊
驱动牛犊
  • 注册日期2003-12-17
  • 最后登录2008-01-04
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-23 14:15
你说的没错肯定事先要清除中断!!
长沙PCI开发、WDM驱动开发请联系!!xucongqi1981@163.com
xinyancode
驱动小牛
驱动小牛
  • 注册日期2003-08-15
  • 最后登录2008-09-30
  • 粉丝1
  • 关注1
  • 积分3分
  • 威望14点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-23 14:39
谢谢上面的大侠的相助,

那我就采用pci9052databook中说的另外一种清除中断的方法,访问pci9052的INTCSR寄存器,禁止中断,可是如何访问呢?



请继续指教!
xucongqi
驱动牛犊
驱动牛犊
  • 注册日期2003-12-17
  • 最后登录2008-01-04
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-12-23 15:14
谢谢上面的大侠的相助,

那我就采用pci9052databook中说的另外一种清除中断的方法,访问pci9052的INTCSR寄存器,禁止中断,可是如何访问呢?



请继续指教!


哈哈,这个应该很容易吧
读中断寄存器!!
应该使用到READ_PORT_ULONG这个函数!!
长沙PCI开发、WDM驱动开发请联系!!xucongqi1981@163.com
xinyancode
驱动小牛
驱动小牛
  • 注册日期2003-08-15
  • 最后登录2008-09-30
  • 粉丝1
  • 关注1
  • 积分3分
  • 威望14点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-12-23 15:24
谢谢上面的大哥,您好,您说的这个函数READ_PORT_ULONG是在什么环境使用的呀!


我用的是Windriver生成的代码,里面没有这样的函数呀?


请继续指教,我不胜感激!
xucongqi
驱动牛犊
驱动牛犊
  • 注册日期2003-12-17
  • 最后登录2008-01-04
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-12-23 15:28
阿,
这个函数是DDK下面的
至于WINDRIVER我就不知道用哪个了?!!
长沙PCI开发、WDM驱动开发请联系!!xucongqi1981@163.com
xinyancode
驱动小牛
驱动小牛
  • 注册日期2003-08-15
  • 最后登录2008-09-30
  • 粉丝1
  • 关注1
  • 积分3分
  • 威望14点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-12-23 15:38
多谢xucongqi的细心指教,祝圣诞快乐!



热烈欢迎各位继续指教!
xinyancode
驱动小牛
驱动小牛
  • 注册日期2003-08-15
  • 最后登录2008-09-30
  • 粉丝1
  • 关注1
  • 积分3分
  • 威望14点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-12-24 17:34
继续指教!
niggasmokey
驱动牛犊
驱动牛犊
  • 注册日期2004-03-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-12-30 09:21
XXX_WriteDWord(.....);addressspace多半是2(bar2)。地址就是INTCSR寄存器的偏移地址。
dingling0027
驱动牛犊
驱动牛犊
  • 注册日期2004-11-30
  • 最后登录2005-08-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-12-30 12:48
自动生成的代码里有个函数:×××_IntDisable
xinyancode
驱动小牛
驱动小牛
  • 注册日期2003-08-15
  • 最后登录2008-09-30
  • 粉丝1
  • 关注1
  • 积分3分
  • 威望14点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-12-30 13:04
高人云集,争相指点,
我心飞扬,多谢相帮!
mapofl
驱动牛犊
驱动牛犊
  • 注册日期2003-10-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-12-31 15:15
很简单,先在windriver添加寄存器intcsr,产生的代码中就会有寄存器intcsr的读写了
xinyancode
驱动小牛
驱动小牛
  • 注册日期2003-08-15
  • 最后登录2008-09-30
  • 粉丝1
  • 关注1
  • 积分3分
  • 威望14点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-12-31 21:18
风雨送春归,飞雪迎春到!


谢谢各位!我要尝试尝试!
游客

返回顶部