Beaglebone Black(UART 1-5)ですべてのUARTを有効にしようとしています。私はDebian 9.3を実行しており、BeagleBone Black rev Cを使用しています。 uEnv.txtファイルを変更してすべてのUARTを有効にしてみました(このファイルをルートディレクトリと/ bootディレクトリの両方に配置しましたが、どちらも同じ結果が表示されます)。
これは私のuEnv.txtファイルです。
uname_r=4.9.82-ti-r102
enable_uboot_overlays=1
uboot_overlay_addr0=/lib/firmware/BB-UART1-00A0.dtbo
uboot_overlay_addr1=/lib/firmware/BB-UART2-00A0.dtbo
uboot_overlay_addr2=/lib/firmware/BB-UART4-00A0.dtbo
uboot_overlay_addr3=/lib/firmware/BB-UART5-00A0.dtbo
uboot_overlay_addr4=/lib/firmware/BB-UART3-00A0.dtbo
cmdline=coherent_pool=1M net.ifnames=0 quiet cape_universal=enable
cape_disable=bone_capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMINN
cape_enable=bone_capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART3,BB-UART4,BB-UART5
私はいくつかのBeagleBone Blackでこのファイルを試しました。そのうちの2つではファイルが動作し、5つのUARTデバイスがすべてアクティブになります(すべての/ dev / ttyO1-5が表示されます)。ただし、他のBeagleBone BlackではUART 1-4のみが有効になっています(/dev/ttyO1-O4で表示され、使用可能ですが、/dev/ttyO5は使用できません)。
私の実験では、OSイメージは他の違いを作りませんでした。私はSDカードで新しいdebian 9.3を使用しており、唯一の修正はuEnv.txtです。実際に実行しているBeagleBoneから同じSDカードを取り出し、5つのUARTをすべてアクティブにしないカードに入れましたが、同じ結果で起動するとUART 5がアクティブになりませんでした。私はこれがオペレーティングシステムではなく、私が使用している非常に特定のBeagleBone blackに固有のように見えるので、これがブートローダの問題である可能性があると思います。
このファイルがあるビーグルボーンでは動作しますが、別のビーグルボーンでは動作しない理由を知っている人はいますか?残念ながら、私が開発しているアプリケーションのために動作するビーグルボーンだけでは、この問題を解決することはできません。信頼できるソリューションを見つける必要があります。
前に述べたように、これはブートローダの問題かもしれないと思いますが、私はわかりません。私が考えている次のステップは、ブートローダを更新するか、別のDebianバージョンに移動することです。
助けてくれてありがとう!
編集:追加の調査を行った後、これはHDMIの問題かもしれません。 uEnv.txtファイルでHDMIを無効にしようとしましたが、/sys/devices/platform/bone_capemgr/slotsを確認するときにHDMIを無効にする行がないようです。私が正しく覚えているなら、UART 5が無効になっていない場合はHDMIインターフェースに接続されているので、これは意味があります。しかし、この問題を解決する方法がわかりません。