日期:2014-05-16  浏览次数:20730 次

驱动程序中的dma操作问题?
最近在学习linux的驱动开发,介绍了实现dma的方法。比如建立缓冲区之类的函数,但是我一直没有搞清楚当建立好缓冲区后,对dma控制设置好后,下一步又该怎么做呢?怎么让主存和设备之间开始进行dma传输呢?

请高人指点一下,最好能给点例子。。谢谢~!

------解决方案--------------------
有一个内核函数来启动DMA传输
------解决方案--------------------
DMA的开始,是和硬件设备有关系的,具体可以了解具体的设备的DMA开始的寄存器及其值.
------解决方案--------------------
DMA控制器会有一个寄存器位Disable和Enable DMA。
Enable后就开始传输了