前々回、Windows11上のVScodeからESP-IDF開発環境をインストールしてみました。代表品種のESP32についてはビルド、オブジェクトのFlash書き込みともにOK、動作もOK。しかしRISC-V搭載品種のESP32C3についてはビルド以前の設定でコケてました。トホホ。ようやく問題解決できたのでご報告。
※「トホホな疑問」投稿順Indexはこちら
※トホホだった前々回の記事は以下です。
トホホな疑問(53) VScodeからESP-IDFインストール、ターゲットによる?
問題解決
単刀直入、問題が発生した理由は、ESP-IDFをインストールした先、「esp-idf」フォルダ内の以下のバッチファイルを実行していないためでした。
install.bat
上記のインストール用バッチファイルを実行するとESP32C3などESP32の標準品種以外のためのアレコレをダウンロードしたらりセットアップしてくれたりするようです。これが抜けていたために ESP32C3用にビルドできないでいたのでした。VScodeのイクステンションからESP-IDFを入れたら簡単だろ、みたいに思って前々回やってましたが、Windows上に素のままインストールする手順どおりにやっていたらトホホにならなかった気がします。ま、後の祭り。
なお、上記のバッチの実行は1回キリですが、ESP-IDFを利用する場合には毎回、同じフォルダ内にある以下のバッチを実行しておく必要があります。
export.bat
なお、上記batはシェルに伝統のcmd.exeを使っているとき用ですが、PowerShell用には同名で .ps1、MSYSなどでBashなど使う場合は、.sh も用意されとります。
install.bat に気づかないなんてお馬鹿さん。
ESP32C3用にESP-IDF環境でHello Worldをビルドして実行
ちゃんと終了すると以下のように done で完了しますです。
続いて menuconfig。実行すると青色画面のTUIウインドウが現れるのでいろいろ(いろいろすぎるケド)設定できます。以下は、TUIから抜けたところ。
そしてビルドだと。
途中省略。ビルドが完了すると以下のようです。
そして書き込み。Windowsからであると直接ESP32C3を接続したポートを操作できるので、らくちん。
Flashへの書き込みが完了すると以下のようです。 Done、 よい響きだな。
シリアルモニタには伝統のTeratermでもよいのですが、今回はidfツールのシリアルモニタを使ってみました。実はこの使い方がよくわからないデス。
ESP-IDFでビルドしたオブジェクトに共通するところですが、書き込まれたOSから各種のメッセージが大量に出力されてきます。そのメッセージの「隙間」にアプリケーションから出力する Hello world! が挟まってます。よく見ないと見落としそう。。。
まあ、これでWindows上で ESP-IDF使って ESP32-C3のオブジェクトを作ることもできるようになったと。一歩前進?