【问题标题】:how to test a selfwritten linux sounddriver?如何测试自己编写的 linux 声音驱动程序?
【发布时间】:2013-01-10 15:20:24
【问题描述】:

我为 linux 编写了一个声音驱动程序。看起来效果很好。我使用 alsa 应用程序对其进行了测试:aplay 和 arecord 当我尝试使用另一个应用程序 (PJSUA) 对其进行测试时,它无法按预期工作。 找出问题是应用程序还是我的驱动程序对我来说很复杂..

所以我的问题是: 谁能给我一个关于另一个简单应用程序的建议,我可以用它来测试我的驱动程序是否正常运行?

非常感谢!

【问题讨论】:

    标签: linux audio driver


    【解决方案1】:

    编写设备驱动程序的一半工作实际上是在用户空间编写测试工具以正确测试它们。您还应该在代码进入内核之前对其进行彻底的单元测试。

    你无法避免理解libasound 的复杂内情。您可能希望使用调试版本进行测试,以便可以通过它进行调试。

    我建议您从 ALSA examples - 可能是 pcm.c 开始,然后对其进行修改,使其模糊您的驱动程序。至少您需要检查每种传输方法(例如,写入、写入和轮询、DMA)、缓冲区大小、通知周期和采样率。

    【讨论】:

    • 如何编译 ALSA 示例 (pcm.c)?使用具有正确 CC 的新生成文件?然后在命令行中make??
    • 如果 alsalib make 文件中没有 make 规则,也许。由于它们是单个编译单元程序,您可能会发现 gcc pcm.c -llibasound 可以解决问题。显然,如果你在本地构建带有调试符号的 libasound,你需要做更多的工作才能使用暂存版本。
    猜你喜欢
    • 2014-04-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多