测试指南
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
测试步骤如下所示:
-
进入 Sysfs 目录:
cd /sys/module/dmatest/parameters/
-
执行下列命令查看参数文件列表:
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
-
根据需要配置参数,例如:
echo 30 > iterations echo 8 > max_channels echo Y > polled echo Y > run
-
设置 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)