carryxt
驱动牛犊
驱动牛犊
  • 注册日期2001-09-21
  • 最后登录2009-01-27
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望13点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1119回复:1

windriver速率问题--奇怪的问题

楼主#
更多 发布于:2003-07-22 20:06
DWORD *my_pGetAddr=malloc(0x400000*sizeof(DWORD));

    BZERO(dma);  
dma.pUserAddr = NULL;  
dma.dwBytes = 16*4096;  // allocate 64K  
dma.dwOptions = DMA_KERNEL_BUFFER_ALLOC; // kernel contiguous buffer  
WD_DMALock(hWD, &dma);

     start=clock();
     for(n=0;n<260;n++)
     {
    for(m=0;m<16384;m++)
    {
             *(my_pGetAddr+m)=*(dma.pUserAddr+m);
    }
     }
     end1=clock()-start;

     start=clock();
     for(n=0;n<260;n++)
     {
    for(m=0;m<16384;m++)
    {
             *(dma.pUserAddr+m)=*(my_pGetAddr+m);
    }
     }
     end2=clock()-start;
在进行16M字节传输,end1用时1秒,end2用时0.2秒,为什么对WD_DMALock锁住的地址读时,速度会这么慢.


[编辑 -  7/22/03 by  carryxt]
e_benson
驱动牛犊
驱动牛犊
  • 注册日期2004-04-20
  • 最后登录2007-07-07
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-04-20 15:55
你好!我现在在做PCI9054的驱动,由于我对速度的要求高,所以要采用DMA 传输,但是我用我WinDriver作的,希望你能告诉我一些有关这方面的资料,尤其关于地址映射的,多谢
游客

返回顶部