🧠 MTK内存 & DMA
实战·30章
🎯 友好色系
01
MTK平台内存架构概览
L1/L2 Cache、SRAM、DRAM层次,访问延迟与功耗特性
02
物理内存与虚拟内存
MMU原理,物理/虚拟地址映射,/proc/iomem查看布局
03
DMA基础概念
为什么需要DMA?四种传输模式:内存⇄外设等
04
MTK DMA控制器硬件详解
GCE、MDP_DMA寄存器布局,描述符链机制
05
DMA描述符与链表编程
手写描述符结构体,单向链表实现多块搬运
06
内存分配器入门
kmalloc/vmalloc/dma_alloc_coherent/dma_pool对比
07
DMA缓冲区同步
Cache Coherency,dma_map/unmap/sync 使用时机
08
MTK ION内存管理器
ION heap类型,分配连续物理内存给DMA
09
DMA Engine框架
dma_request_channel, prep_slave_sg, submit, issue_pending
10
MTK GCE(Global Command Engine)实战
命令序列,无需CPU干预的DMA传输链
11
MDP_DMA与显示通路
从内存搬运帧数据到DSI,低延迟显示刷新
12
DMA与中断协同
注册传输完成中断,轮询 vs 中断性能差异
13
Scatter-Gather DMA
SG表处理不连续物理内存,MTK平台支持
14
DMA性能调优
测量带宽/延迟,burst size、优先级、通道绑定
15
内存碎片化问题
compaction、CMA在MTK上的应用
16
CMA(Contiguous Memory Allocator)深入
配置CMA区域,分配流程与系统卡顿优化
17
DMA与电源管理
DMA传输影响CPU频率/功耗,Idle & Suspend/Resume
18
多核环境下的DMA并发
spinlock/mutex保护DMA通道资源
19
DMA调试技巧
ftrace、dma_debug模块、MTK专有调试节点
20
MTK M4U(IOMMU)与DMA
为DMA设备配置M4U映射,设备虚拟地址隔离
21
DMA与多媒体框架
Codec、ISP中DMA配合MDP/VENC/VDEC零拷贝
22
用户态DMA
V4L2、ALSA、UDMABUF,减少内核态切换
23
DMA与网络子系统
Ethernet GMAC/WiFi DMA加速,NAPI配合
24
DMA与存储子系统
eMMC/UFS DMA引擎,IO调度器影响
25
DMA错误处理
超时、总线错误、描述符错误检测与恢复
26
MTK TrustZone与安全DMA
TEE/OP-TEE下配置DMA保护敏感数据
27
DMA与虚拟化
KVM/Xen直通MTK DMA设备,IOMMU隔离
28
DMA驱动开发实战(上)
虚拟DMA设备驱动:probe/remove,通道申请释放
29
DMA驱动开发实战(下)
数据传输、中断、SG传输、性能统计与测试
30
综合项目:音频环路测试
基于GCE+DMA,I2S采集→输出→回采,零拷贝
⚡ 点击卡片标题跳转对应章节 · 30章全