阅读:1439回复:0
请问: 在DPC中启动 DMA没问题吧要在驱动中设立缓冲,驱动先把采集到的数据放在这个缓冲中, 然后在寻找合适的时机通知应用层,要应用层来从中读取。 这样只能是驱动自己去发起DMA,而且是commom buffer型的, 读取后先把数据放到缓冲中。这样的话,只能是在FIFO半满中断来到时,在DPC中启动DMA,这样应该没啥问题吧? /************************************************************************************************************************************************************************/ I am writing a dirver of a PCI AD card. The design of the card is common .It based on the PLX9054 , and there is a FIFO on the local side, when the fifo is half full, it triges the interrupt , then the dirver launch a DMA to get the data. At first , I followed the Packet Based DMA method , and the upper application writer told me their software can't responds enough quickly. They ask me to setup a buffer in my dirver, then the gathering data stored in the buffe firstly, when the upper application need, it read the buffer. If I adhibit this method , It is the driver , not the application become the original DMA launcher. So , the dirver must perform a DMA opertion automatically after each "half full interrupt" occurs. The only way and the only palace I can imaging is the DPC where begin a DMA Read opertion. IS IT Workability? thanks. |
|