如何测试自己编写的 linux 声音驱动程序?

Posted

技术标签:

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

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

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

非常感谢!

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

如何编译 ALSA 示例 (pcm.c)?使用具有正确 CC 的新生成文件?然后在命令行中make?? 如果 alsalib make 文件中没有 make 规则,也许。由于它们是单个编译单元程序,您可能会发现 gcc pcm.c -llibasound 可以解决问题。显然,如果你在本地构建带有调试符号的 libasound,你需要做更多的工作才能使用暂存版本。

以上是关于如何测试自己编写的 linux 声音驱动程序?的主要内容,如果未能解决你的问题,请参考以下文章

求一段运用matlab把俩个声音文件混合成一个文件的程序!我只会编写一小段声音读取和播放的程序。混合就不会

如何编写驱动程序?

C++如何播放wav声音文件.Linux系统

Linux远程开发

急!!!!如何通过python制作一个简单的录音机,录制自己的声音采用8k采样,16位量化编码,观察其数值?

怎样编写Linux设备驱动程序?