yiqiang
驱动牛犊
驱动牛犊
  • 注册日期2002-05-12
  • 最后登录2002-07-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:961回复:1

关于WINDRIVER内存分配问题

楼主#
更多 发布于:2002-07-16 00:39
我使用WINDRIVER开发程序,我想得到1M连续的物理内存,是否可用WINDRIVER的如下方法
WD_DMA Dma;
PVOID pBuffer = malloc (16L*16384L);
BZERO(Dma);
Dma.dwBytes = 16L*16384L;
Dma.pUserAddr = pBuffer;
Dma.dwOptions = 0;
WD_DMALock (hWD, &Dma);

最新喜欢:

HuYuguangHuYugu...
lqq
lqq
驱动牛犊
驱动牛犊
  • 注册日期2002-01-18
  • 最后登录2002-11-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-03 13:59
好像应该是:
WD_DMA dma;
  BZERO(dma);
  dma.pUserAddr = NULL;
  dma.dwBytes = 0x10000;  // allocate 16K //change here
  dma.dwOptions = DMA_KERNEL_BUFFER_ALLOC; // kernel contiguous
                                           // buffer
  WD_DMALock(hWD, &dma);
  if(!dma.hDma)
  {
     printf(\"failed allocating dma buffer\\n\");
     exit(1);
  }
我用这种方法成功得到过500多K的连续空间
游客

返回顶部