我正在运行一个BBB直接运行debian。内核版本是3.8.13-bone-47。
我正在使用与here非常相似的斗篷。不同之处在于我使用的是TLV320AIC3106而不是AIC3104,我只启用了音频输出,我对此应用程序中的音频录制不感兴趣。
我的应用程序的引脚排列与上面链接中的cape相同。
我已按照here链接来启动并运行。在我尝试播放示例波形文件之前,我所拥有的所有内容都与教程的输出相匹配。
当我播放示例wave文件时,收到以下消息:aplay: pcm_write:1710: write error: Input/output error
正在运行dmesg
会给我ALSA sound/core/pcm_lib.c:1010 playback write error (DMA or IRQ trouble?)
我遇到麻烦的地方是我不明白DMA是如何发挥作用的。这是DMA问题吗?这是我的I2C出现其他问题的症状吗?我在其他地方错过了配置吗?
对于如何追踪这一点的任何想法都表示赞赏。
答案 0 :(得分:0)
我意识到它之前曾被多个地方所覆盖,但它永远不会被强调。确保在发送信息时,确保它通过I2C转到正确的地址。我今天早上发现音频编解码器位于地址0x1B,而驱动程序的地址为0x18。小而重要的区别。
简单的解决方法是编辑BB-BONE-AUDI-02-00A0.dts文件。
<0x1B>
。使用以下行重新编译:{{1}} dtc -O dtb -o BB-BONE-AUDI-02-00A0.dtbo -b 0 -@ BB-BONE-AUDI-02-00A0.dts
应用这个简单的修复后,它似乎工作。我不能肯定地说,因为我必须使音频放大器电路保持运行状态。至少aplay会播放文件而不会崩溃我,这是一个开始。