| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |
DMA 内存搬运示例
本示例使用 DMA 完成 16 个 32 位数据的内存到内存搬运,通过完成回调和数据比对判断结果。源、目标缓冲区按缓存行对齐,CPU 比较前会失效目标缓冲区缓存。
代码与构建
- 源码入口:
dma_demo.c中的diting_dma_demo_run() - 组件:
diting_dma_sample - 构建开关:
CONFIG_ENABLE_DMA_SAMPLE - AT 指令:
AT+DMATEST
推荐按 一站式 CLI 开发环境使用指南构建 pack_diting_community 并烧录生成的固件。DMA 的接口说明、缓存处理和扩展示例参见 DMA 开发指南。
运行结果
以 750000 波特率打开 UART2 串口并执行:
AT+DMATEST
预期输出:
[DRV][DMA] PASS
OK
如果回调成功但出现 data mismatch,应检查缓冲区缓存行对齐以及 DMA 完成后的目标缓存失效处理。