这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » x86 下 DMA传输4K限制

共1条 1/1 1 跳转至

x86 下 DMA传输4K限制

菜鸟
2004-12-17 23:59:21     打赏

以下为DMA代码 :

UINT32 Length=0x2000;

UINT32 pbuffer=cacheDmaMalloc(Length*4);

*(UINT8*)(Base0Addr+0x8e) =0x01;/*open Dma inter Mask */ *(UINT32*)(Base0Addr+0x0) = pbuffer ;/*dma address*/

*(UINT32*)(Base0Addr+0x08) =Length*4; /*dma transmitte length*/

*(UINT32*)(Base0Addr+0x90)= 0x10000;/*DMA start;*/

semTake(DataReady,WAIT_FOREVER); /* wait for DMA Intrrupt Event*/

cacheDmaFree((char*)pbuffer);

发觉在4k下数据正常,>4K则不正常,中间老有一段乱数。

我想一次读取1M数据

我试过

1:将pbuffer &0xFFFFF000

结果:8k正常,但到0x256K 又不正常。。

2:指定Vxworks 下一段没用的空间 比如:0x6D00000

8K有时正常,有时不正常 ,1M就根本没成功过。

请各位大侠帮忙。




关键词: 传输     限制    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]