调试指南
DMA 调试包含以下步骤:
调试开关
在 Luban-Lite 中 DMA 驱动的 Log 控制接口共用了全局的 aic_log.h 接口。
为了更方便调试,DMA 模块另外增加了一个 dump 控制开关,可以在运行时 dump 每次 DMA 请求的任务链表详细信息。需要在 menuconfig 中配置:
Drivers options ---> Drivers debug ---> [*] Enable DMA driver debug
注解
DMA 驱动并没有用到 RT-Thread 的设备框架,所以在目标板上使用命令 list_device
不会看到 DMA 设备。
dma_dump 命令
DMA 驱动会在命令行中注册了一个查询通道状态的命令:dma_dump。使用方法:
aic /> aic /> dma_dump 0 DMA Ch0: desc= 0x0 Common register: IRQ_EN 0x4, IRQ_STA 0x0, CH_STA 0x0, GATE 0x0 Ch0 register: Enable 0x0, Mode 0x0, Pause 0x0 Task 0xfffff800, Config 0x4c004c0, Src 0x4177a204, Sink 0x42165384 Left 0x0, Package_cnt 1