ラズベリーパイ4にラズパイピコのビルド環境を作る
WindowsからTeratermでSSH接続したRaspberry Pi 4 (8GB)上でラズパイピコ向けのC言語ソースをビルドします。
Windows上でももちろんラズパイピコのビルド環境は作れるのですが、ラズベリーパイ(4)ではもっと簡単にできるらしい、ということでやってみました。
やってみる
以下を参考にしました。
note.com
tetsufuku-blog.com
まずは公式のシェルスクリプトをダウンロードします。
このシェルスクリプトを使うことで、簡単に環境構築できるようです。
wgetでシェルスクリプトをダウンロードするので、インストールされていないときはまずこちらをダウンロードします。
ダウンロードできたら続けてこのシェルスクリプトを実行します。
$ sudo apt install wget $ wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh $ sh pico_setup.sh
するとhomeディレクトリにpico
というフォルダができます。
このなかにpico-examples
pico-sdk
というフォルダができています。
(なぜかpico-examplesが生成されないことがありましたが、もう一度シェルスクリプトを実行すると生成されました。)
$ cd pico raspberrypi4@raspberrypi4:~/pico $ ls >>pico-examples pico-sdk
何やらPathの設定をします。
$ cd pico-examples $ mkdir build $ cd build $ export PICO_SDK_PATH=../../pico-sdk
サンプルをBuildしてみたいので以下のようにmakeします。
raspberrypi4@raspberrypi4:~/pico/pico-examples/build $ $ cmake .. $ make -j4 // jオプションは並列化、これで4並列
以下の場所にblink.uf2
が出来上がります。
/home/raspberrypi4/pico/pico-examples/build/blink
Gitで自動的にダウンロードされたこのサンプルソースの中にはいくつかの.c
ファイルがあるのですが、このやり方でmakeするとすべてがmakeされるようです。
そのためかmakeは結構時間がかかります。
引用元のnoteでは個別にビルドできるようなことが書かれていますが、Blinkのほかにhello_worldやpwm等の基本的なサンプルコードが入っているのですが、これらすべてがビルドされています。
しかし、2回目以降は、変更のあるファイルしかビルドされないのでこれでも大きな問題はないと思います。
あとは、このように出来上がったblink.uf2
をラズパイピコへ転送すればOKですが、ラズベリーパイ4にUSB接続して転送してもよいですが、TeraTermでWindowsへ転送しWindowsから転送してもOKです。
ラズパイピコへの接続はbootボタンを押しながらUSB接続します。
このようにするとあくまでラズベリーパイ4をビルドサーバーとして使うことができます。
CMakeLists.txtとは何なのか?
さて、これでビルドは一通りできたのですが、何をやっているのかさっぱりわからないですね。
まずはCMakeLists.txt
というファイルですが、「ビルドに際しての設定項目の仕様」が書かれているようです。
kamino.hatenablog.com