2015-08-26 41 views
0

我運行一個BBB直接運行debian的框。內核版本是3.8.13-bone-47。Beaglebone黑色自定義音頻海角DMA/IRQ故障

我正在與一個非常相似的斗篷here。不同之處在於我使用的是TLV320AIC3106而不是AIC3104,而且我只啓用了音頻輸出,我對此應用程序中的音頻錄製不感興趣。

我的應用程序的引腳與上面鏈接中的斗篷相同。

我跟着鏈接here得到了開始和運行。在我嘗試播放示例波形文件之前,我所有的東西都與教程的輸出相匹配。

當我打一個樣本波形文件,我得到以下信息: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

您可能想要檢查編解碼器是否已被驅動程序初始化。 – marko

回答

0

我意識到它已被覆蓋在多個地方之前,但它永遠不能強調。確保在發送信息時,確保它通過I2C傳輸到正確的地址。今天早上我發現音頻編解碼器的地址是0x1B,而驅動程序的地址是0x18。小而關鍵的區別。

簡單的修復方法是編輯BB-BONE-AUDI-02-00A0.dts文件。

  • 將第65行編輯爲<0x1B>。重新編譯使用行:dtc -O dtb -o BB-BONE-AUDI-02-00A0.dtbo -b 0 [email protected] BB-BONE-AUDI-02-00A0.dts
  • 移動使用echo BB-BONE-AUDI-02 > /sys/devices/bone_capemgr*/slots

應用這種簡單的解決方法似乎工作後生成的文件到/ lib/firmware目錄

  • 插入。我不能肯定地說,因爲我必須讓音頻放大器電路繼續運行。至少aplay會在沒有崩潰的情況下播放該文件,這是一個開始。

  • +0

    嗨,我也遇到了hikey的問題。有什麼你可以建議我看看? – AQU