Pico三昧(18) picotool有、pico-project-generator要導入

Joseph Halfmoon

前々回、Windows11上にRaspberry Pi Pico のC/C++ SDK開発環境を設置、前回は2台目Picoを使ってPicoProbeもOKです。まだ足りぬものがありますな。ラズパイ4をホストにSDK使っていたときに多用したpico-project-generatorです。なぜか微妙に不整合なんだこれが。

※Pico関係投稿一覧は こちら 『Pico三昧』は一覧の末尾付近にひっそりと。

日本語ドキュメントに気づいてなかったです

ラズパイ財団の「公式」を漁っていたら、日本語のドキュメントもあることに気づきましたです。それは以下のページに

ラズベリーパイのデータシート

その中に、Getting Startedの日本語訳と思われるPDFファイルがありました。

pico/ピコ入門.pdf

あるならあるで早く言ってよ、という感じ。探さなかった私が悪いか。

何気に便利なpicotoolはインストール済だった

以下の過去記事で言及している picotool ですが、前々回使ったWindows版のインストーラでインストールすれば漏れなくついてくるみたいです。

鳥なき里のマイコン屋(132) ラズパイPico、何気に便利なpicotool

実はまだWindows上では使ってないです。でもま、インストールされているのだから使えないことはないだろ~と。

pico_project.pyは見当たらない

もう一つ、ラズパイ4機をホストにしていたときにお世話になりっぱなしだったのが、pico_project.py というスクリプトです。CMakeLists.txt など、C/C++ SDKのプロジェクトに必須のファイルを簡単に作成してくれるもの。やはり以下の過去記事でとりあげさせていただいとります。

鳥なき里のマイコン屋(128) VS CodeでラズパイPico、プロジェクトファイル生成

2023-03-02版の英文版、Getting startedでは「8.3. Automating project ceration」、前述のページからダウンロードした日本語版pdfでも8.3で説明されているツールです。私なんぞ、CMake素人なので、このツール無しには手も足もでませぬ。Windows版のC/C++ SDKのインストールフォルダ配下を見て回ったのですが、それらしいファイルは見当たりませんでした。

8.3 に書いてある通りにすれば小さなスクリプトなので一撃で手に入ります。ダウンロードいたしました。

走らせてみました。ラズパイ4であれば即座に走ったのですが、Windows上のC/C++ SDK用に環境設定済のコマンドウインドウではエラーとなります。理由は簡単、C/C++ SDKと一緒にインストールされたpythonにはtkinterが含まれてなかったのであります。tkinterはtkベースのGUIをpythonから作るためのモジュールですな。標準的には入っている筈なのですが、どういうわけか、C/C++ SDKにバンドルのPythonでは不在です。それではということでPIPしようとしたら、PIPも不在でした。ダメじゃん。

しかし、目の前のPCにはWindows上で実行できるPythonがあと2種類も入ってます。そのうち普段使いしているWindowsアプリ版のPythonを使ってみたらpico-project.py をすんなり実行できました。当然のように C/C++ SDK環境では、C/C++ SDKにバンドルされたPythonが走るように設定してあったので、ちょっと愕然。pico-project.py を走らせるときだけWindowsアプリ版を使うように細工しましたです。

さて、pico-project.py、「Raspberry Pi Pico Project Generator」をGUIモードで起動し、テスト用の設定してみたところが以下に。

generator

上記のようにクリクリしていくだけで、メンドクセーCMakeLists.txtは勿論、各種のファイルを準備してくれる優れものです。一度これになれると、自力で書く気がしません。

作製されたプロジェクトをVSCodeで開いてみた

上記のように設定してOKするだけでプロジェクトフォルダの中にサンプルコードまで含めて準備してくれます。ほれこのように。generatedSources

上記で即座にCMakeしてビルドまでできるようになっているのですが、手元の環境の場合ちょっと引っかかったのが使用する gcc の選択です。手元環境には、やたらいろいろgcc が入ってます、DISKの肥やしか。最初、別件で使っているMSYS2上のArmのクロス環境版を選択してしまいました。C/C++ SDKにバンドルのArmのクロスが見えなかったのだもの。「GCCのスキャン」からもう一度やりなおしたらば C/C++ SDKにバンドルのgccが現れました。

そしてcmakeしているところの出力の末尾が以下に。cmake

続いて build しているところの末尾が以下に。build

サンプルコード、問題なくビルドできとるようです。ここまで出来れば後は自分のコードを書くだけじゃのう。それが一番メンドイ。

Pico三昧(17) PicoProbeが接続できなかったのは配線間違えてたせい へ戻る

Pico三昧(19) ADCをちょっと触ろうとしたらPicoprobe消えていた。いつもの? へ進む