![](https://img-blog.csdnimg.cn/9f67d7c76cfd4f5bab9cd196c4557857.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux DMA子系统
文章平均质量分 94
Linux DMA子系统
MisakiMe1
这个作者很懒,什么都没留下…
展开
-
Linux DMA子系统(3):DMA设备驱动(consumer)
上文从DMA控制器驱动的角度去分析了DMA Engine,即从provider的角度,本文将从需要使用DMA传输的设备驱动的角度,即consumer的角度去分析DMA Engine,看看DMA Engine为client driver提供了哪些功能和API。原创 2022-09-22 20:48:27 · 2613 阅读 · 0 评论 -
Linux DMA子系统(2):DMA控制器驱动(provider)
本文将从DMA控制器驱动(provider)的角度来介绍DMA Engine,包括重要的结构体和API接口。DMA控制器驱动主要作用是管理channel并响应client driver(consumer)的传输请求并控制DMA 控制器执行传输。原创 2022-09-22 16:45:23 · 1834 阅读 · 0 评论 -
Linux DMA子系统(1):DMA Engine体系结构
DMA(direct memory access),即不经过CPU,直接访问内存。因为不管是memory和memory之间还是memory和设备之间进行数据搬运,对CPU来说都是枯燥乏味的,且非常浪费CPU的时间,造成CPU无法及时处理一些实时的事件。因此,为了解放CPU,可以让CPU在搬运数据的这段时间可以去做更有意义的事情,工程师们就设计出来一种专门用来搬运数据的器件,即DMA控制器,让它来协助CPU进行数据搬运工作,下图是DMA的硬件示意图。原创 2022-09-21 17:48:01 · 2273 阅读 · 0 评论