关于DMA的疑惑,请大家指点!

wide   2009-2-17 15:04 楼主
最近要做DMA,有点疑惑向大家请教。

我有一个ARM处理器,支持外部DMA,我的ARM会和一个FPGA相连,从FPGA里面DMA出数据来。从硬件上来说,ARM的片选3接到了FPGA上面,我想应该是基于片选3的地址空间来读数据,对吧。如果从FPGA来DMA数据,我是不是应该等待FPGA发出DMA的request,然后我回复一个ACK,然后就开始从FPGA中DMA数据了?等完成后,我发送一个Complete信号,是这样么?这些应该是DMA控制器自动完成的吧?

还有就是DMA数据的多少是不是在ARM的DMA控制器中设定啊?从软件上来说,我在ARM这边设置了DMA的源物理地址和目的物理地址,以及DMA的大小,然后启动DMA是不是就可以了?如果FPGA一直没有给我数据,我是不是就不可能接收到DMA完成的中断?我的意思是说,如果FPGA压根就没准备好,它没发出DMA的request,我是不是就永远接收不到DMA完成的中断?

在这方面我有点疑惑,问得问题可能有点多,请大家指点一下。

多谢了。

回复评论 (4)

没人了解么?可能是我没说清楚。

希望了解的人能给介绍一下,感谢了。
点赞  2009-2-17 16:41
ding
点赞  2009-2-19 16:29
看起来基本是这样,没有什么问题。
点赞  2009-3-3 16:33
学习中!
点赞  2009-3-23 09:35
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复