drowsy
驱动牛犊
驱动牛犊
  • 注册日期2003-07-20
  • 最后登录2004-11-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:680回复:0

关于同步对象的几个问题,谢谢

楼主#
更多 发布于:2003-10-29 11:47
  我现在在做PCI设备的驱动。因为应用程序是多线程发送命令请求的,所以我在驱动中将它们排入队列。在STARTIO函数中分派它们到相应的串行化处理函数中去。选用芯片是PCI2040和C6201。
  对于写数据的请求,直接把数据写到DSP的某个地址单元。这样有一个问题,对于串行化的请求,我应该在上一次请求数据已经被取走后,再往这个地址单元写,这就要用到同步对象和硬件查询。
  现行的方案是,在写数据的串行化处理函数中,先pEvent.wait()进入等待,再启动定时器,在定时器的DPC中对该地址单元进行查询,如果已经被取走就取消掉定时器,将pEvent设置成信号态。函数继续执行数据的传送。
  对于读数据的请求,先m_pEvent.wait()等待,DSP程序在输出数据准备好后,发中断给驱动,在ISR中m_pEvent置成信号态。函数继续执行数据的读取。
  上面是我的思路,不知可行与否,请各位大师指点。初次编写驱动,感到还有好多东西要学的。我的问题是:
  1 可以在设备驱动程序中使用同步对象么?找了好久,没找到相应的例子,有的也是在系统线程中运用的。
  2 上述方案是否可行。如果不可行,能否指点一下。十分感谢。

游客

返回顶部