6440/6443 SD controller DMA传输异常

hanxu   2010-3-4 11:22 楼主
自己写了个简单的SD Driver,从SD外设以DMA方式读取数据时,碰到个奇怪的问题。
block size是512字节,传输的block是1024个block,DMA buffer boundary 是512KB。

对于所使用的DMA buffer,如果使用config.bib中Reserve的RAM,则可以正常进行DMA传输,并且会产生有Transfer Done中断。
但如果使用AllocPhysMem或者HalAllocateCommonBuffer进行动态分配时,启动DMA传输后,刚读取七八百个block时就自动停止了。。。不能产生DMA中断或Transfer Done中断。

同样是连续的物理内存,为什么差别这么大呢?有没有大哥碰到过类似的问题,稍微指点迷津,谢谢!

回复评论 (2)

这个必须顶。回复内容太短了!
点赞  2010-3-4 21:05
没有遇到过。
MARK。

帮顶下。
点赞  2010-3-6 23:46
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复