僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
ドキュメント(Chapter3)を頼りに試行錯誤。
本体のblink(Lチカ)は、pico-examples/blink/の下にソースがあった。
RasPi3にUSB接続すると、/media/pi/RPI-RP2 の下にマウント
される(Bootselモード)。
$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/root 15G 7.5G 6.3G 55% /
devtmpfs 404M 0 404M 0% /dev
tmpfs 437M 42M 395M 10% /dev/shm
tmpfs 437M 18M 420M 4% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 437M 0 437M 0% /sys/fs/cgroup
/dev/mmcblk0p1 253M 48M 205M 19% /boot
tmpfs 88M 8.0K 88M 1% /run/user/1000
/dev/sda1 128M 8.0K 128M 1% /media/pi/RPI-RP2
blinkのバイナリは、
epico-examples/build/blink/の下でmake -j4 すると
できた。
blink.uf2 を/media/pi/RPI-RP2 にコピーすれば、アンマウント、そして実行
にと、自動で流れた。
このあたり、micro:bitと同じか。
別のプログラムをインストールしたかったら、一旦抜いて、
Pico本体のリセットボタンを押しながらUSB接続する。
また最初同様にBootselモードになり、マウントされた。
実は一昨日ぐらいにここまでやっていた。
そう考えることは、ドキュメントはお見通しであった。
Chapter5へ。
Picoでリセットとプログラムのインストールが同時にできるよう、
Debugポートを通じて操作する。
ついでにシリアルポート接続もできるようにする。
RasPiとの接続はこんな風に。
例によって
思いっきり汚くできた。
PI PICO 8(GPIO 14: TXD) 2(GPIO 1) 10(GPIO 15: RXD) 1(GPIO 0) 14(Ground) 3(Ground) 18(GPIO 24) D3(SWDIO) 20(Ground) D2(Ground) 22(GPIO 25) D1(SWCLK)
pico/openocd/tcl $ openocd \ > -f interface/raspberrypi-swd.cfg \ > -f target/rp2040.cfg \ > -c "program ../../pico-examples/build/blink/blink.elf \ > verify reset exit"
すると
このようなメッセージが出て、新しいblink
(少し書き換えて確認)がインストールされた。
ドキュメントはこのあたり、少々分かりづらかった。
[土 5月 22 14:28:25 2021] Under-voltage detected! (0x00050005) [土 5月 22 14:28:29 2021] Voltage normalised (0x00000000)
のような警告が。
セルフパワーのUSBハブを経由すると出ないけど。
ちなみに電流/電圧計を介してみたら、ずっと"0.00A"であった。
USBとSerialのふた通りが用意されていた。
ビルドしてインストール。
USBなら特に何も用意することなくできた。
$ minicom -b 115200 -o -D /dev/ttyACM0 minicom へようこそ 2.7.1 オプション: I18n コンパイルされた日時は: Aug 13 2017, 15:25:34. ポート /dev/ttyACM0, 18:19:10 CTRL-A Z を押すと、説明画面になります。 Hello, usb world! Hello, usb world! Hello, usb world! . .
Serialもできた。raspi-configでシリアルログインを不可にして 再起動。
$ minicom -b 115200 -o -D /dev/serial0 minicom へようこそ 2.7.1 オプション: I18n コンパイルされた日時は: Aug 13 2017, 15:25:34. ポート /dev/serial0, 18:40:00 CTRL-A Z を押すと、説明画面になります。 Hello, serial world! Hello, serial world! Hello, serial world! . .
汚いながらもはんだがうまくできたことを、ようやく確認。
BootselモードのPicoにインストールしたプログラムの様子を見たり、 uf2でダウンロードしたりできるらしい。
$ sudo picotool info -a Program Information name: blink web site: https://github.com/raspberrypi/pico-examples/tree/HEAD/blink binary start: 0x10000000 binary end: 0x10005014 Fixed Pin Information none Build Information sdk version: 1.1.2 pico_board: pico boot2_name: boot2_w25q080 build date: May 22 2021 build attributes: Debug Device Information flash size: 2048K ROM version: 2
$ sudo picotool save newblink.uf2 Saving file: [==============================] 100% Wrote 41472 bytes to newblink.uf2 $ sha256sum newblink.uf2 49f70919cf086c5ddb66a919908e3046fca6f62db281f6b8ac8f4ab427534aa3 newblink.uf2 $ sha256sum pico-examples/build/blink/blink.uf2 49f70919cf086c5ddb66a919908e3046fca6f62db281f6b8ac8f4ab427534aa3 pico-examples/build/blink/blink.uf2
elf形式は駄目だった。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。