justchc
驱动牛犊
驱动牛犊
  • 注册日期2001-08-31
  • 最后登录2003-11-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1451回复:1

PCI图象传输卡(用PCI9054)

楼主#
更多 发布于:2002-08-14 20:08
目前小弟驱动用WinDriver 5.04做的,开了一块2M的内核内存,用WinDriver的Kernel Plugin中在ISR中DMA从卡上获得数据,20MByte/s,每次DMA长度为64KByte, 用户态程序从这块内核内存将数据memcpy到另一处,发现用户态搬移数据的速度(仅作搬移)始终比内核慢,导致溢出。我想问一下如何解决这个问题?
gung
驱动中牛
驱动中牛
  • 注册日期2001-06-10
  • 最后登录2008-04-21
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-15 10:12
windriver不懂
这么大的数据量用memcpy肯定很慢,如果你的卡支持scatter/gather可以在用户态申请内存,将内存传递到内核,直接dma到该内存上,如果不支持,也可以在内核申请两块内存,一块dma时将另一块虚拟地址传递给用户态,交给用户态处理,两块交替使用
游客

返回顶部