当前位置: 技术问答>linux和unix
linux kernel module中,怎样进行dma转送
来源: 互联网 发布时间:2016-09-12
本文导语: linux kernel module中,怎样支持dma的设备寄存器中数据通过dma转送到kernel内存? 能否给个例子或者步骤? | 分两种情况: 一、软件对数据的请求: 1、当进程调用read,驱动程序函数分配一个DMA缓冲区,并...
linux kernel module中,怎样支持dma的设备寄存器中数据通过dma转送到kernel内存?
能否给个例子或者步骤?
能否给个例子或者步骤?
|
分两种情况:
一、软件对数据的请求:
1、当进程调用read,驱动程序函数分配一个DMA缓冲区,并让硬件将数据传输到这个缓冲区中。进程处于睡眠状态。
2、硬件将数据写到DMA缓冲区,写入完毕后,产生一个中断。
3、中断处理程序获得输入的数据,应答中断,并唤醒进程。此时,进程可以读取数据。
一、软件对数据的请求:
1、当进程调用read,驱动程序函数分配一个DMA缓冲区,并让硬件将数据传输到这个缓冲区中。进程处于睡眠状态。
2、硬件将数据写到DMA缓冲区,写入完毕后,产生一个中断。
3、中断处理程序获得输入的数据,应答中断,并唤醒进程。此时,进程可以读取数据。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。