我想启动一个 DMA 传输进行测试。
我在内核源代码(驱动程序/dma)中偶然发现了一个 dmatest.c。我用这个模块编译了一个内核,并在没有任何参数的情况下进行了尝试。
sudo modprobe dmatest
我得到了 dmesg
__dma_request_channel: fail ((null))
dmatest.ko 的先决条件是什么?我应该加载一个特殊的 DMA 引擎吗?是否需要 dmatest.ko 的特殊参数(默认应该探测任何东西!?)?
我想启动一个 DMA 传输进行测试。
我在内核源代码(驱动程序/dma)中偶然发现了一个 dmatest.c。我用这个模块编译了一个内核,并在没有任何参数的情况下进行了尝试。
sudo modprobe dmatest
我得到了 dmesg
__dma_request_channel: fail ((null))
dmatest.ko 的先决条件是什么?我应该加载一个特殊的 DMA 引擎吗?是否需要 dmatest.ko 的特殊参数(默认应该探测任何东西!?)?
我认为您可以参考https://www.kernel.org/doc/Documentation/dmatest.txt获取指南。
当然,你应该在dmatest之前运行一个DMA-Engine(模块或内置),在drivers/dma/下有很多DMA Controller驱动,如amba-pl08x.c、dw_dmac.c、pl330.c等上。
您可以使用命令“ls -1 /sys/class/dma/”来打印可用的频道列表。