找回密码
 注册
搜索
查看: 917|回复: 1

[讨论] 请教DMA内存分配失败是何原因

[复制链接]
发表于 2007-3-13 16:46:33 | 显示全部楼层 |阅读模式
俺目前在wince平台上做一200W 摄像头驱动,需要分配7.32M DMA buffer给CPU作帧的传输,发现当我把程序内存调到32M(此时存储内存为13M)的时候DMA buffer分配失败,请问有谁知道具体原因吗?我采用的DMA buffer分配的程序如下:

DMA_ADAPTER_OBJECT Adapter;
memset(&Adapter, 0, sizeof(DMA_ADAPTER_OBJECT));
Adapter.InterfaceType = Internal;
Adapter.ObjectSize  = sizeof(DMA_ADAPTER_OBJECT);

m_pVirtCodecAddr = (PBYTE)HalAllocateCommonBuffer(&Adapter, Size,&m_lnPhysCodecAddr, FALSE);
if (m_pVirtCodecAddr == NULL)
{
  hr = E_FAIL;

  RETAILMSG(1, (TEXT("Failed to allocate DMA buffer for Codec.\r\n")));
}
发表于 2007-3-19 12:51:37 | 显示全部楼层
请在系统启动时就分配出内存来。启动后再分配可能没有大的内存块了。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-10-1 07:44 , Processed in 0.043707 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表