当前位置: 技术问答>linux和unix
驱动程序中的dma操作问题?
来源: 互联网 发布时间:2016-01-08
本文导语: 最近在学习linux的驱动开发,介绍了实现dma的方法。比如建立缓冲区之类的函数,但是我一直没有搞清楚当建立好缓冲区后,对dma控制设置好后,下一步又该怎么做呢?怎么让主存和设备之间开始进行dma传输呢? 请...
最近在学习linux的驱动开发,介绍了实现dma的方法。比如建立缓冲区之类的函数,但是我一直没有搞清楚当建立好缓冲区后,对dma控制设置好后,下一步又该怎么做呢?怎么让主存和设备之间开始进行dma传输呢?
请高人指点一下,最好能给点例子。。谢谢~!
请高人指点一下,最好能给点例子。。谢谢~!
|
有一个内核函数来启动DMA传输
|
DMA的开始,是和硬件设备有关系的,具体可以了解具体的设备的DMA开始的寄存器及其值.
|
DMA控制器会有一个寄存器位Disable和Enable DMA。
Enable后就开始传输了
Enable后就开始传输了