heartofdra
驱动牛犊
驱动牛犊
  • 注册日期2003-03-11
  • 最后登录2016-09-21
  • 粉丝0
  • 关注0
  • 积分443分
  • 威望88点
  • 贡献值0点
  • 好评度43点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1439回复:0

请问: 在DPC中启动 DMA没问题吧

楼主#
更多 发布于:2009-05-26 10:50


要在驱动中设立缓冲,驱动先把采集到的数据放在这个缓冲中, 然后在寻找合适的时机通知应用层,要应用层来从中读取。

这样只能是驱动自己去发起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.
游客

返回顶部