Beaglebone BlackでUARTを有効にすることはできません。

Beaglebone BlackでUARTを有効にすることはできません。

短い一般的な質問

私はカーネル4.9がインストールされているBeaglebone BlackでDebian 9(Stretch)を実行しています。オンラインで見つけた指示に従おうとしましたが、これまでUARTデバイスを設定できないようです。自分のデバイスをどのように設定しますか?構成の問題をデバッグ/トラブルシューティングするにはどうすればよいですか?私の設定が正しいことをどうやって確認しますか?

長くて詳細な質問

私は通常、組み込みLinux、特にBeagleboneに初めて触れました。私はここで提供された指示に従いました。

最新の「MicroSDカードからBeagleBoneおよびPocketBeagle用Stretch IoT(グラフィックスデスクトップなし)」画像をダウンロードしました(具体的には骨-debian-9.3-iot-armhf-2018-03-05-4gb.img)から最新の写真ページSDカードからBeagleboardをフラッシュします。インストール後、シリアルUSBケーブルを介してLinuxデスクトップからBeagleboneにアクセスできました。これは、次の記事で説明されている方法と似ています。

screen次のコマンドを正常に使用できます。

screen /dev/ttyUSB0 115200

Micro-USB-USBケーブルを使用してSSH経由で接続することもできます。

ssh [email protected]

Beagleboneに接続した後、私のカーネルバージョンがあることを確認したLinux beaglebone 4.9.82-ti-r102後、Beaglebone UARTの設定に関するいくつかの記事を読んでください。

私の結論は、(通常)OSとカーネルのバージョンに応じて確認する必要があるいくつかの設定ファイルがあることです。これには以下が含まれます。

  • /boot/uEnv.txt
  • /boot/uboot/uEnv.txt
  • /etc/default/capemgr
  • /media/BEAGLEBONE/uEnv.txt

次のようないくつかのデバイスファイルも言及されています。

  • /sys/devices/bone_capemgr.*/slots

各ファイルに次の行を追加してみましたuEnv.txt

  • cape_enable=capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART4,BB-UART5

  • optargs=capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART3,BB-UART5

また、次の行を追加してみました/etc/default/capemgr

CAPE=BB-SPI-01,BB-UART1,BB-UART2,BB-UART4

再起動後、次を使用してUARTデバイスが表示されることを確認しました。

ls -l /dev/ttyO*

残念ながら、私は次のような結果を得ました(予想外の結果):

debian@beaglebone:~$ ls -l /dev/ttyO*
lrwxrwxrwx 1 root root 5 Jan  1 00:00 /dev/ttyO0 -> ttyS0

注:気にしませんttyO0。気にしませんttyO1, ..., ttyO5

また、いくつかの異なる試みも試しましたが(時間とスペースを節約するために)要求しない限り、すべての試みを説明するわけではありません。

私がここで何を間違っているのか? UARTデバイスを有効にする正しい方法は何ですか?

ベストアンサー1

以下は、カーネル4.14を含むDebian 9.9に適用されます(Debian 9.3ではなくDebian 8.3にも適用されます)。

起動後、/dev/ttyO1、O2、O4ファイルが表示されますが、ピンを正しいpinmuxに設定するまでは機能しません。

#ttyO1:
config-pin P9_24 uart
config-pin P9_26 uart
#ttyO2:
config-pin P9_21 uart
config-pin P9_22 uart
#ttyO4:
config-pin P9_11 uart
config-pin P9_13 uart

この手順は再起動するたびに実行する必要があります。一種の起動スクリプトに属します。

UART4のような簡単なループバックテストにより、UARTが正しく動作していることを確認できます。

  1. P9_11と​​P9_13の間にワイヤを配置

  2. 画面/開発者/ttyO4

  3. ウィンドウに入力したテキストが表示され、ワイヤを外すと入力が表示されなくなります。 UARTが動作しています。

おすすめ記事