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秒毎に表示されます。
