Raspberry Pi Pico W で SDK を使用したプログラム開発
Raspberry Pi Pico W で SDK を使用したプログラム開発方法のメモ
以下を参考すれば大体分かります。
公式スタートアップガイド(日本語版)
公式スタートアップガイド
以下は作業メモ。
環境はWSL2上のubuntu20.04。
[!NOTE] RaspberryPi用のセットアップのスクリプトはここ にある
pico_setup.sh
それ以外のLinuxでもうごくっぽいですが、余計なものまで入ってしまいそうなので、ここでは手動でセットアップします。
以下のコマンドでインストールできます。 gitとかは既に入ってるものとして。
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential
ますは作業ディレクトリを作成してSDKをダウンロードします。
以下では /work/Pico
を作業ディレクトリとしています。
mkdir -p /work/Pico && cd /work/Pico
git clone https://github.com/raspberrypi/pico-sdk.git
cd pico-sdk/
git submodule update --init
cd ..
以下のコマンドを実行し、環境変数を設定します。
上でSDKのダウンロード先を変更している場合はそれにあわせて変更してください。
export PICO_SDK_PATH=/work/Pico/pico-sdk
次回起動時にそなえて、~/.bashrc
に同様のコマンドを追加しておきます。
git clone https://github.com/raspberrypi/pico-examples.git
公式スタートアップガイドの
「Chapter 3. Blinking an LED in C」にあるのはPico用のサンプルなので、Pico Wでは使えません。
(正確にはGPIO端子にLEDを接続すれば使えるが、オンボードのLEDは点滅しない)
で、Pico W 用の手順をまとめてみました。
cd pico-examples
mkdir build && cd build
cmake .. -DPICO_BOARD=pico_w
[!NOTE] cmake のオプションに
-DPICO_BOARD=pico_w
を追加することでPico W用の設定が有効になります。
その場でmakeするとすべてのサンプルプログラムがビルドされますが、時間がかかるので Lチカプログラムだけビルドします。
cd pico_w/wifi/blink/
make
これで pico-examples/build/pico_w/wifi/blink
の picow_blink.uf2
をpicoに書き込めばボード上のLEDが点滅するはず。
[!NOTE] Pico W のLチカのソースは
pico-examples/pico_w/wifi/blink
pico-examples\pico
はpico用(Wなし)なので、実行してもオンボードのLEDが点灯しません。 これを実行するには外付けLEDが必要です。
デフォルトでコンソール入出力はUART0に割り当てられています(端子はGP0(TX)/GP1(RX))。
UARTに接続するのが面倒なときはUSBから仮想COMポートに入出力できます。
手順は、ソースディレクトリの CMakeLists.txt
に以下を追加してmakeします。
例ではターゲット名にpicow_blink
を使用していますが、使用するターゲットに合わせて変更してください。
# enable usb output, disable uart output
pico_enable_stdio_usb(picow_blink 1)
pico_enable_stdio_uart(picow_blink 0)
[!NOTE]
CMakeLists.txt
を変更した場合でもmake
を実行すればこの変更も反映されます。
出来上がったuf2ファイルをPicoに書き込んだら自動的にリブートされるので、
PCに仮想COMポートドライバがインストールされたらTeratermで対象のCOMポートに接続します。
サンプルプログラムを改造してうんぬんするのはダサいので、自作のプロジェクトを作ってみます。
一から作るのは面倒なので、プロジェクト生成ツールを使います。
githubにプロジェクト生成ツールのリポジトリがあるのでダウンロードします。
以下では 前に作成した作業ディレクトリ /work/Pico
をダウンロードディレクトリとしています。
cd /work/Pico
git clone https://github.com/raspberrypi/pico-project-generator.git
ダウロードしたプログラムを直接起動しても良いですが、
オプション指定など忘れっぽいので起動スクリプトを用意しておきます。
pathの通ったディレクトリ(~/bin
など)に以下の内容でファイルを作成し、実行属性を付与します。
ファイル名はpico_project
とでもしておいてください。
実行ファイルのパスはダウンロード先に合わせて変更してね。
追加したいオプションがあったらご自由にどうぞ。
GUIを起動するので、最後に & をつけてバックグラウンド実行します。
/work/Pico/pico-project-generator/pico_project.py --nouart --usb --gui &
上で作成したスクリプトを実行するとProject Generator のウィンドウが表示されます。
このウィンドウで必要な設定を行います。
OKボタンをクリックしたらプロジェクトが作成され、cmakeが実行されます。
実行結果を表示するウィンドウが表示されますので、確認してOKボタンでクローズしてください。
Locationで指定したディレクトリ下のProjectNameで指定した名前のディレクトリに
ProjectNameで指定した名前.c が生成されているので必要な変更を行います。
あとはコンソールでLocationで指定したディレクトリ下のProjectNameで指定したディレクトリ下の
buildディレクトリに移動し、make
を実行します。