前回パソコン更新でツール類再インストール。でもそれ以前に気になっていたことがあるのです。ラズパイPico用のC/C++SDKの開発環境です。ラズパイ4を母艦にしていたのですが、ラズパイ4のOSを32ビットから64ビットに変更したときにラズパイPicoの開発環境はインストールしませんでした。メンドイけれどもやらないとな。
※「鳥なき里のマイコン屋」投稿順Indexはこちら
ラズパイPicoのC/C++SDKの開発環境を整えたのは昨年(2021)のGW頃でした。すでに一年半ほど経過しているのでいろいろ更新されているハズ。実際、以下のページへ行ってみると、各種のデータシート、マニュアル類が更新されており、内容もいろいろ追加されているみたいです。いそいそとダウンロードをばいたしました。
メンドイ、メンドイと顔を背けていたラズパイPicoのC/C++SDKの開発環境の再構築については、以下のマニュアルを見れば「バッチリ」です。
Getting started with Raspberry Pi Pico
なんだ、インストール用のスクリプトがあるじゃん、
「これがあれば一撃だね」
メンドイ、メンドイと思って心の中で避けていたのがウソのようです(その時点では。)そのとき、昨年自分で書いた以下の記事をちらっとでも読み返していればその後のメンドさは大幅軽減だったのですが、またやっちまいましたぜ。
鳥なき里のマイコン屋(122) Raspberry Pi 4到着、ラズパイPicoの母艦化
一撃でダウンロード、実行属性つけて実行、次々と必要なファイルがダウンロードされ、設定されていきます。総計約2.5Gバイトになるらしいので、それなりに時間がかかります。しかけた後は別なことをやっていました。
おや止まっている。見れば、
Failed to clone 'lib/lwip' a second time, aborting
どうもlwipというライブラリを拾ってくるところで落ちて、スクリプトの途中で止まってしまったみたいです。「lwip」light weight IPだっけ?IPのプロトコル・スタック?なぜか記憶の奥底に残るライブラリ名だったのですが。
「とりあえず無くても動くっしょ」という浅はかな考えで、「できたところまでの動作確認」に入ってしまいました。そうです後で昨年の記事を読み返して気づいたのですが、昨年も lwipで止まっていたのです。そのときの対処は、今回よりも合理的でした。lwipを含む extras(追加的なものなので優先度は低いと判断)をパスして、末尾までスクリプトを通してました。今回は昨年よりもダメ。途中のよくわからないところでスクリプトは中断してます。
動作確認は以下の通り。
-
- blinkのビルド …OK、ツールチェーンは問題なさそう。
- ラズパイPicoをストレージにして uf2 ファイル書き込み … OK
- Hello worldのビルド … OK
- ラズパイPicoをストレージにして uf2 ファイル書き込み … OK
- minicomでUART通信 … OK
- openocd無いじゃん!
あれま、大事な openocdが無いです。これがないとデバッグできません。またopenocd無しではファイル書き込みはuf2をストレージに転送する方法になるので、BOOTSELボタンを押してRESET(スイッチとりつけてあるので楽にはなってますが)しないとなりません。
Getting Startedには、OpenOCDをビルドするための手順も書かれてました。メンドイとブツブツ言いながら、手順通りにリポジトリからソース持ってきて openocdのビルドとインストールを行いました。ノーエラー。
早速 openocdを立ち上げて、SWDの配線経由で blink.elf(デバッグビルド) を書き込んでみます。こんな感じ。
OpenOCD動いた。よかった。
続いてデバッガです。gdb-multiarch は元からあったのか、ファイル存在してました。早速 OpenOCDをサーバで動かして、gdb-multiarchから接続してみました。OpenOCD側の起動の様子が以下に。
動きました。なんとかgdb使ってデバッグもできそうだな。
ついでといちゃなんですが、スクリプトがインストールしてくれない、pico-project-generatorもおろしてきました。起動すればこんな感じ。これだね。
でもメンドイ! ここまでやって本日は力つきましたです。また今度。
結局インストールできていなかったもの
結局、スクリプトが途中で止まってしまったことで、まだ以下のツールは未インストールです。
-
- VScode と関連ファイル
- picotool
- picoprobe
1は、ローカルなラズパイ4環境にVScodeをインストールするものなので、PCからリモートでラズパイ4にVScodeするには余計、ま、無い方がよいか、というところ。でも後でリモートVScodeでC/C++SDKのビルドができることを確かめないと。メンドイぜ。
2は必要になるかもな~。別途、手作業でインストールするしかあるまいなあ。メンドイ。
3は、ラズパイPicoをラズパイPicoの開発プローブとして使うツールです。当方、ラズパイ4をラズパイPicoの母艦にしてSWDデバッグしているので不要かも。1個端折れた。
自分で書いた記録を読まず、なんだかな~、メンドイことになったな~