Edit online

测试指南

23 Dec 2024
Read time: 2 minute(s)

准备测试环境

  • 硬件
    • 开发板

  • 软件
    • PC 端的串口终端软件,用于 PC 和开发板进行串口通信

    • Luban-Lite 自带的 test-dma 工具

      注:
      test-dma 只限于测试 Mem To Mem 的数据传输操作类型。

使能 test-dma 命令工具

Luban-Lite 根目录下执行 scons --menuconfig,进入 menuconfig 的功能配置界面,按如下选择使能 DMA 驱动测试命令工具:
Drivers options  --->
    Drivers examples  --->
        [*] Enable DMA driver test command

执行 test-dma 测试

  • 执行下列命令测试 DMA 控制器的 Mem to Mem 的 copy 操作:
    test_dma_memcpy
    例如,使用 DMA 从源地址 (0x40d8f100) 拷贝 512 字节到目标地址 (0x40d8f380),执行下列命令:
    test_dma_memcpy 512
    输出示例如下,表示 DMA传输完成,并触发回调函数:
    DMA memcpy test: src = 0x40d8f100, dest = 0x40d8f380, len = 0x200
    DMA complete, callback....
    DMA test succeed!
    DMA memcpy 512 bytes, speed 0.08 MB/s
  • 使用 dma_dump 查看 DMA 通道状态,例如查看 DMA通道 0 的详细信息,包括寄存器状态和配置:
    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 0x40d8f304,     Sink 0x40d8f584
        Left 0x0,   Package_cnt 1
  • test_dma_memset:测试 DMA 控制器的 memset 功能