Edit online

测试指南

4 Dec 2024
Read time: 2 minute(s)
DMA 测试所需的测试环境如下:
  • 硬件:开发板或 FPGA 板
  • 软件
    • PC 端的串口终端软件,用于 PC 和开发板进行串口通信

    • Linux 内核原生的 dmatest 模块

      注:
      dmatest 模块只限于测试 Mem To Mem 的数据传输操作。

配置软件

进入 Luban 的根目录,执行 make menuconfig 命令,按如下选择:
Linux
    Device Drivers
        [*] DMA Engine support
             <*>   DMA Test client

dmatest 测试

dmatest 模块初始化成功后,会在 Sysfs 目录创建一些节点,测试过程就是通过这些节点配置参数、启动测试。DMA 测试步骤如下所示:
  1. 进入 Sysfs 目录:
    cd /sys/module/dmatest/parameters/
  2. 执行下列命令查看参数文件列表:
    
    ls
    
    参数文件输出结果示例如下:
    alignment         max_channels      run               transfer_size
    channel           norandom          test_buf_size     verbose
    device            noverify          test_list         wait
    dmatest           polled            threads_per_chan  xor_sources
    iterations        pq_sources        timeout
    
  3. 根据需要配置参数,例如:
    
    echo 30 > iterations
    echo 8 > max_channels
    echo Y > polled
    echo Y > run
  4. 设置 run 参数为 Y 后,dmatest 模块会自动开始测试。测试过程中会输出每个通道的测试结果,包括 IOPS(每秒输入输出操作数)和传输速率等信息。示例输出描述如下:
    
    [  104.696480] dmatest: No channels configured, continue with any
    [  104.697377] dmatest: Added 1 threads using dma0chan2
    ...
    [  107.106044] dmatest: dma0chan9-copy0: summary 30 tests, 0 failures 106.81 iops 993 KB/s (0)