阅读:1152回复:4
驱动程序紧急求助!
pci控制器是5933。
我是通过5933收到中断,然后置事件来通知用户程序读(用的是deviceiocontrl),在驱动程序里面是系统排队的。用户程序用deviceiocontrl来向设备写数据。假如中断来的很快,不停的叫我读,而我这时又在写数据。这样会死机吗?怎样才能够合理的安排一下?大家给点意见吧。 |
|
|
沙发#
发布于:2002-09-29 13:49
会不会死机看你的写作技巧.写个SYSTEM THREAD来处理可以减少你的麻烦. 将所有的读写都交给他.这样就不会有RACE出现了.
|
|
|
板凳#
发布于:2002-09-29 19:34
我是用ds做的,使用的系统排队。这样可以吗?
|
|
|
地板#
发布于:2002-09-30 17:58
如果你使用StartIo dispatch 线程是可以将所有来自用户层的I/O request如Read/Write/DeviceIoConrotl等进行串行化的,保证不会引起混乱。但这样一来为了应付硬件的要求,你需要一个内部缓冲用于让驱动程序先读取硬件数据并缓冲起来,到底缓冲多大就视你的硬件中断频率和数据流量而定。
|
|
|
地下室#
发布于:2002-10-01 11:04
非常感谢,给分了。
|
|
|