組み込み開発を、実機で体系的に学びませんか?
クミタテでは、ESP32・電子回路・IoT開発を学べる オンライン教材を公開しています。無料会員向け教材も利用できます。
無料会員登録して教材を見る Googleアカウントなら簡単に登録できます
こんにちは。今回は ESP32-S3 を VS Code と PlatformIO でデバッグする方法 を紹介します。
最近、ESP32-S3 や C3 など JTAGデバッガを内蔵したモデル が登場しており、外付けデバッガなしでパソコンと接続してデバッグできるようになりました。
以前は M5Stamp のようにデバッグアダプタを介して接続する必要がありましたが、S3 では USB 直結でデバッグできるのが大きなメリットです。
VS Code と PlatformIO の環境構築については、別途紹介している記事をご覧ください。
まずは VS Code を開き、PlatformIO の拡張機能画面を表示します。
これでプロジェクトの雛形が生成されます。
生成されたプロジェクトの src/main.cpp を開きます。
まずはビルドしておきましょう。
これで実行ファイルが生成されました。
次に、簡単なデバッグ用コードを追加します。
例として、loop() 内で int i = 0; を宣言し、i を2回インクリメントする処理を入れておきます。
行番号の左側をクリックすると赤い点が付きます。 これが ブレークポイント で、プログラムがその行で停止します。
左側の虫アイコン(デバッグタブ)を開きます。
デバッグが開始されると、まずプログラムの先頭で停止します。 そこから「続行」ボタンでブレークポイントまで進めます。
ブレークポイントで停止すると、ローカル変数が確認できます。
例:
i = 0 で宣言i = 1i = 2PlatformIO のデバッガでは、変数の値をその場で書き換えることも可能 です。
たとえば i = 1 の状態で 3 に変更し、そのまま実行を続けることができます。
これは「今プログラムがどんな状態か確認したい」「途中で動作を変えてみたい」というときに非常に便利です。
以前紹介した ESP32 Rover ではデバッグができませんでしたが、 今回の ESP32-S3 では USB 直結でデバッグが可能になり、開発効率が大きく向上します。
付属の取扱説明書は英語で少し分かりづらい部分もあるため、 必要であれば日本語版の資料も作成しようと思っています。 もし「欲しい!」という方がいれば、コメントで教えていただけると嬉しいです。
以上で今回の解説は終わります。ありがとうございました。