シリアル出力のLinuxのターミナル表示

その他

FPGA開発キットやRaspberry PIのような小型コンピュータは、コンソール表示がシリアルで出力されるものがあります。これらのシリアル出力は、USBの仮想シリアル・ポートなどでPCに接続し、専用のソフトで表示することが一般的です。PCのOSがWindowsの場合、表示ソフトとしてはTeraTermが有名です。Linuxの場合、screenコマンドを使うと、xtermのようなターミナルにシリアル出力をそのまま表示できます。

LinuxでのUSB仮想シリアルの表示

Raspberry PIの場合

GPIO上にシリアルのTXとRXが出力されています。ここでは、USB仮想シリアル・ポートへの変換に、Sparkfunの FTDI Basic Breakout – 3.3Vを使用しています。図のように、Raspberry PIのGPIOとFTDIのコネクタを、ワイヤーで接続します。

Raspberry PIとFTDI Basicの接続

Raspberry PIとFTDI Basicの接続

SparkFun FTDI Basic Breakout - 3.3V

SparkFun FTDI Basic Breakout – 3.3V

FTDI Basic裏面

FTDI Basic裏面

接続する信号は、TX,RX,GNDの3本です。Raspberry PI側とFTDI側のTXとRXは、クロス接続にします。

GPIOとFTDI Basicの接続

GPIOとFTDI Basicの接続

接続確認

PC側でLinuxを起動し、FTDI BasicをUSBケーブルで接続します。FTDI Basicが認識されたかどうかは、dmesgで確認できます。

$dmesg | grep tty
[ 0.000000] console [tty0] enabled
[ 17.800229] systemd[1]: Created slice system-getty.slice.
[ 22.070046] usb 1-2: FTDI USB Serial Device converter now attached to ttyUSB0

FTDI Basicは、ttyUSB0として認識されているのがわかります。

表示方法

xtermなどのターミナルを起動します。ターミナルで、/dev/ttyUSB0を指定してscreenコマンドを実行します。ubuntuなど、Linuxのディストリビューションによってはsudoが必要かも知れません。

$screen /dev/ttyUSB0

成功すると、ターミナルにRaspberry PIのログイン画面が表示されます。何も表示されない時は、キーボードのリターンキーを数回押すと表示される場合があります。screenコマンドのデフォルトのボーレートは9600です。もし、ボーレートの変更が必要な場合は、screen /dev/ttyUSB0 115200といった形で指定できます。

Raspberry PI ログイン画面

Raspberry PI ログイン画面

screenを終了する時は、キーボードからCTRL-a kを入力します。画面に”Really Kill This Window [y/n]”と表示されるので、yを押すとscreenが終了します。

screenの終了

screenの終了

screenコマンドについて

screenコマンドは、一般的にはリモート・ホストとの通信時のセッション維持に利用されます。screenコマンドを使えば、リモート・ホストにログインし、シミュレーションの実行を指示た後で一旦リモート・ホストとの接続を終了し、シミュレーションが終わった頃で再度接続して実行結果を確認するといった使い方ができます。screenコマンドを利用しない場合、リモートホストとの接続を終了すると、その時にターミナル上で実行していたプログラムは終了してしまいますが、screenコマンドを利用すると、リモート・ホストとの接続を終了した後もプログラムの実行を維持できます。

タイトルとURLをコピーしました