说明:
- Kernel版本:4.14
- ARM64处理器,Contex-A53,双核
- 使用工具:Source Insight 3.5, Visio
1. 概述
DMA(Direct Memory Access):直接存储器访问;
先看问题的引入:
- Non-DMA:CPU直接与设备进行数据交互,CPU的负载会随着数据的读写而增加;
- DMA:CPU不参与数据的直接传输,DMA Controller负责Device与Memory之间的数据搬运,并以中断信号的形式通知CPU;
- 可以看出,使用DMA的最大优点是可以提高CPU的使用率;
2. address mapping
DMA涉及三种地址空间:
- CPU虚拟地址:CPU使用的地址空间;
- CPU物理地址:CPU使用的虚拟地址通过MMU转换成物理地址;
- 总线地址&#x