M5Stack、ESP32の開発を行う環境はいくつかあります。
組み込みプログラムの経験がある方であれば、C/C++で開発が可能なArduinoを利用されている方が多いのではないかと思います。
Arduinoは、初心者には使いやすい開発環境です。しかし、M5StackやESP32の開発を進めてくると、そのコンパイルの遅さが気になってきます。また、ライブラリがすべてのプロジェクトで共通に参照される仕組みとなっているため、プロジェクト間でライブラリのバージョンの互換性による問題が発生することがあります。
C/C++でM5Stack、ESP32の開発を行うのであれば、PlatformIO がおすすめです。
PlatformIOは、Make機能を利用しており、一度コンパイルしたソースなどは再コンパイルされないため、2回目以降のコンパイルが大幅に高速化されます。また、ライブラリもプロジェクトごとに設定できるため、ライブラリの管理が容易になります。
PlatformIOについて
PlatformIOのインストール、設定について説明します。
以下のHPも参考にしてください。
対応OS
PlatformIOの対応OSですが、Windows、macOS、Linuxなど、さまざまなオペレーティングシステム(OS)で動作します。
- Windows
- macOS
- Linux 等主要なOSに対応しています。
Windowsへのインストール
PlatformIOのWindowsへのインストール方法は、以下の手順で行います。
- VSCode(Visual Studio Code)をインストール
- VSCodeの「拡張機能」から「platformio」をインストール
詳細は、以下のHPを参照ください。
デバッグ(ESP32)
M5Stackで使用するESP32は、JTAGを使用してデバッグが可能です。 しかし、ESP32のピン数が少なく、LCDなどのデバイスを接続している場合、ピン数が不足してJTAGのピンを別の目的に使用せざるを得ない場合がありますので注意してください。
以下は、ESP32のJTAG専用ピンです。(ESP32は色々な製品があり、一例です。)
ESP32 Pin | JTAG Signal |
---|---|
MTDO / GPIO15 | TDO |
MTDI / GPIO12 | TDI |
MTCK / GPIO13 | TCK |
MTMS / GPIO14 | TMS |
Adafruit FT232H搭載 変換基板が、デバッグ用に使用できるようです。
PlatformIOの設定
PlatformIOの設定は、platformio.iniファイルで行います。基本的には、プロジェクトの作成時、ライブラリのインストール時に、自動的に設定が書き込まれます。
以下の記事も参考にしてください。
Arduinoで、コンパイル時間を短縮するには
Arduinoのデフォルトの設定では、毎回テンポラリのフォルダを作成してフルコンパイルするため、コンパイルに時間がかかってしまいます。それを回避する方法が以下のHPで公開されています。