🦁

Raspberry Pi 3/4 の UART に Ubuntu から Raspberry Pi Debug Probe で接続する

2024/05/10に公開

Background

Raspberry Pi Debug Probe は UART と Arm SWD に使える便利なケーブル。

Raspberry Pi 5 以降には専用の UART コネクタが存在しているので専用のケーブルで接続できる。

しかし、 Raspberry Pi 3/4 (およびそれより前) にはその端子がないのでピンヘッダに接続する必要がある。この記事ではその方法について記載する。

Raspberry Pi 側の設定

Raspberry Pi の microSD カードを PC などでマウントし、 /boots/config.txtenable_uart=1 を追記する。

ケーブル接続

Raspberry Pi Debug Probe の "U" (UART) 側に先が3本のメスピンのケーブルを接続し、

  • 黒のケーブル (GND) を Raspberry Pi の 8 pin (GND) に接続
  • 黄のケーブル (RX) を Raspberry Pi の 10 pin (TX) に接続
  • オレンジのケーブル (TX) を Raspberry Pi の 12 pin (RX) に接続する

PC と Raspberry Pi Debug Probe を microUSB ケーブルを接続する。 このとき赤色の LED が点灯することを確認すること。 筆者のケーブルが悪いのか、接触が悪いことがあるため。

Ubuntu の設定

Ubuntu 24.04 では Raspberry Pi Debug Probe は /dev/ttyACM0 として認識された。

$ ls -al /dev
...
crw-rw----   1 root   dialout 166,   0 May 10 22:34 ttyACM0
...

ここでは cu を使って接続するので cu をインストールし、ユーザを dialout グループに追加する。 (参考: https://zenn.dev/articles/2b55cb533d3ff9/edit)

$ sudo apt install cu
$ sudo adduser $USER dialout
$ groups $USER
tomoki : tomoki adm tty dialout cdrom sudo dip plugdev users lpadmin

cu で Raspberry Pi Debug Probe を開く。このときポートレートは 115200 を選択する。

$ cu -s 115200 -l /dev/ttyACM0

その後 Raspberry Pi に電源を入れたら起動のログが見えるはず。

$ cu -s 115200 -l /dev/ttyACM0
Connected.
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.1.61-v8 (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 13.2.0, GNU ld (GNU Binutils) 2.41.0.20231213) #1 SMP PREEMPT Thu Nov  9 14:54:02 UTC 2023
[    0.000000] random: crng init done
[    0.000000] Machine model: Raspberry Pi 3 Model B Plus Rev 1.3
[    0.000000] efi: UEFI not found.
[...

Discussion