Raspberry Pi PicoでUSBシリアルを使ったHello Worldプログラムを試してみます。
まずはLinux Mint 20にシリアルターミナルプログラムをインストールします。今回はgtktermを使います。
~$ sudo apt install gtkterm
シリアルターミナルを使えるようにユーザーをdialoutグループに追加します。
~$ sudo addgroup xxx dialout
ユーザー `xxx' をグループ `dialout' に追加しています...
ユーザ xxx をグループ dialout に追加
完了。
~$
有効にするには一旦ログアウトしてログインし直しますが、ここではそのまま進めています。
引き続き、helloworldプログラムをビルドします。
~/pico/pico-examples/build$ cd hello_world/
~/pico/pico-examples/build/hello_world$ make -j4
[ 0%] Built target bs2_default
(中略)
[100%] Linking CXX executable hello_usb.elf
[100%] Built target hello_usb
~/pico/pico-examples/build/hello_world$
このディレクトリの下のusbディレクトリに生成された、hello_usb.uf2 を RPI-RP2ディレクトリにドラッグアンドドロップします。
その後、USBシリアルのデバイスファイルを確認します。
~$ dmesg | tail
[20457.063661] usb 3-4.1: new full-speed USB device number 8 using xhci_hcd
[20457.187659] usb 3-4.1: New USB device found, idVendor=2e8a, idProduct=000a, bcdDevice= 1.00
[20457.187661] usb 3-4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[20457.187663] usb 3-4.1: Product: Pico
[20457.187664] usb 3-4.1: Manufacturer: Raspberry Pi
[20457.187665] usb 3-4.1: SerialNumber: 000000000000
[20457.239178] FAT-fs (sdb1): unable to read boot sector to mark fs as dirty
[20457.293371] cdc_acm 3-4.1:1.0: ttyACM0: USB ACM device
[20457.295851] usbcore: registered new interface driver cdc_acm
[20457.295851] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
~$
ttyACM0としてデバイスファイルが生成されているようです。
gtktermを開いて、「Configration」⇒「Port」でttyACM0を設定します。(※スクリーンキャプチャではユーザーをdialoutグループに追加した後一旦ログアウトしていないので、gtktermをスーパーユーザーで起動しています)
OKをクリックすると、hello_worldのメッセージが1秒毎に表示されます。