yjhleaf
驱动小牛
驱动小牛
  • 注册日期2001-11-04
  • 最后登录2005-11-23
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1153回复:4

驱动程序紧急求助!

楼主#
更多 发布于:2002-09-29 11:24
 pci控制器是5933。
 我是通过5933收到中断,然后置事件来通知用户程序读(用的是deviceiocontrl),在驱动程序里面是系统排队的。用户程序用deviceiocontrl来向设备写数据。假如中断来的很快,不停的叫我读,而我这时又在写数据。这样会死机吗?怎样才能够合理的安排一下?大家给点意见吧。
 
忽如一夜春风来,千树万树梨花开。
lu0
lu0
论坛版主
论坛版主
  • 注册日期2001-06-10
  • 最后登录2016-04-05
  • 粉丝2
  • 关注0
  • 积分-6311分
  • 威望21111点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-09-29 13:49
会不会死机看你的写作技巧.写个SYSTEM THREAD来处理可以减少你的麻烦. 将所有的读写都交给他.这样就不会有RACE出现了.
Regards, Lu Lin Webmaster of Inside Programming http://www.lu0s1.com
yjhleaf
驱动小牛
驱动小牛
  • 注册日期2001-11-04
  • 最后登录2005-11-23
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-09-29 19:34
 我是用ds做的,使用的系统排队。这样可以吗?
忽如一夜春风来,千树万树梨花开。
minsoft
驱动小牛
驱动小牛
  • 注册日期2001-07-30
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-09-30 17:58
如果你使用StartIo dispatch 线程是可以将所有来自用户层的I/O request如Read/Write/DeviceIoConrotl等进行串行化的,保证不会引起混乱。但这样一来为了应付硬件的要求,你需要一个内部缓冲用于让驱动程序先读取硬件数据并缓冲起来,到底缓冲多大就视你的硬件中断频率和数据流量而定。
少了e,就少了全部
yjhleaf
驱动小牛
驱动小牛
  • 注册日期2001-11-04
  • 最后登录2005-11-23
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-10-01 11:04
非常感谢,给分了。
忽如一夜春风来,千树万树梨花开。
游客

返回顶部