阅读:1125回复:4
s5933的传输速度,急
我用s5933作数据输出。在应用程序和驱动中各开辟一个缓冲区。数据从硬盘上拷贝下来。通过deviceioctl从应用态拷贝到驱动(用memcpy函数),利用总线主控dma输出(用5933的fifo方式,fifo由外设读出)。
应用态和驱动通过事件通讯。 现在无论一次拷贝多少数据,总的速度只能到2.**MBytes/s。 到底时间耗费在那里呢? 还有什么办法提高速度? [编辑 - 7/26/02 by brucezh] [编辑 - 7/26/02 by brucezh] |
|
|
沙发#
发布于:2002-07-26 19:01
你是用的BufferIO?DMA一般都用DirectIO方式的,比bufferIO快了很多。
|
|
板凳#
发布于:2002-07-26 19:28
那要怎么做呢?我用的deviceioctl是METHOD_IN_DIRECT方式阿。
因为要用5933的总线主控,所以要开辟一个物理连续的缓冲区。 |
|
|
地板#
发布于:2002-07-26 21:32
brucezh兄:
不好意思,又遇到您了,我的电路设计凡是PCI所能提供的功能我基本上都使用到了,我是接受卫星来的数据并发命令给卫星,数据接收时采用DMA方式,数据传输可以达到平均80MBs/S的流量,任务切换时通过PASSTHRU方式给FPGA和DSP通过PCI/CPCI总线进行在线配置,我想知道你在那里工作,是干什么的,如果安全,我可以考虑是否将我的源代码发给你参考,一人独乐孰与人同乐。 |
|
地下室#
发布于:2002-07-29 11:00
无限高兴,我给你发个信息,在论坛首页上的收件箱里。
|
|
|