私はBeaglebone Blackを使用しており、プリロードされたAngstrom v2012.12バージョンを実行しています。 GPIOヘッダのUART接続を介して他のデバイスをシリアルポートに接続できるようにしたいです。問題は、/dev/tty
これがどのデバイスにマッピングされているかわからないことです。/dev/ttyS?
デバイスにアクセスしようとすると(たとえばodを使用/dev/ttyS2
)、「読み取りエラー:入力/出力エラー」が表示されます。
UARTSがデフォルトでttyデバイスにマッピングされているかどうかを知らせる人はいますか?それでは、どのデバイスなのか、そうでない場合は正しいデバイスを作成する方法は?
答え1
確認できます。それは簡単なはずです。 http://hipster Circuits.com/enable-serialuarttty-on-beaglebone-black/
一部の人は、新しいカーネルでシリアルポートを有効にするには、Ångströmを再構築する必要があると言います。そうする必要はありません。 DTC(Device Tree Compiler)が私のBBBにインストールされているので、コンパイルはかなり簡単でした(スコープが正しいBeagleBoneに接続されていることを理解した後は..)。 BBB_SRMのUART4はデバイスツリーシステムのUART5で、ttyO4は骨です。 TXD(デバイスから送信)ピンはP9_13、RXD(デバイスから受信)ピンはP9_11です。その後、上記のように会話するか、1つのBeagleBoneを使用して起動時に別のBeagleBoneからのデバッグメッセージを表示できます。デバッグに最適です。
ビーグルボーンで以下を始めてくださいnano
。
nano enable-uart5.dts
以下をコピーしてナノに貼り付けます。
/*
* Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;
/plugin/;
/ {
compatible = "ti,beaglebone", "ti,beaglebone-black";
/* identification */
part-number = "uart5";
fragment@0 {
target = <&am33xx_pinmux>;
__overlay__ {
pinctrl_uart5: pinctrl_uart5_pins {
pinctrl-single,pins = <
0x070 0x26 /* P9_11 = GPIO0_30 = GPMC_WAIT0 , MODE6 */
0x074 0x06 /* P9_13 = GPIO0_31 = GPMC_WPN, MODE6 */
>;
};
};
};
fragment@1{
target = <&uart5>;
__overlay__ {
status = "okay";
};
};
fragment@2 {
target = <&ocp>;
__overlay__ {
test_helper: helper {
compatible = "bone-pinmux-helper";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart5>;
status = "okay";
};
};
};
};
ファイルを保存する(Ctrl-o)
nano 終了 (Ctrl-x)
BeagleBone Blackがある場合は、Squatをインストールせずにデバイスツリーオーバーレイ用のファームウェアをコンパイルできます。
dtc -O dtb -o enable-uart5-00A0.dtbo -b 0 -@ enable-uart5.dts
これで、Activate-uart5-00A0.dtboというファイルが必要です。
このファイルをファームウェアディレクトリにコピーします。
cp enable-uart5-00A0.dtbo /lib/firmware/
その後、上書きを有効にします。
echo enable-uart5 > /sys/devices/bone_capemgr.*/slots
これで/ devにttyO4というファイルがあります。猫を通して聞くことができます:
cat /dev/ttyO4
または何かを送信することができます:
echo test > /dev/ttyO4
ファイルが存在しない場合は、/dev/ttyO4
カーネルログを確認してください。
dmesg
ピンが正しく多重化されていることを確認するには、ピングループのリストを確認してください。
cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pingroups
uart5のピンセットが表示されます。