阅读:961回复:1
关于WINDRIVER内存分配问题
我使用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); |
|
最新喜欢:HuYugu... |
沙发#
发布于: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的连续空间 |
|