ことのはじまり
PlatformIO経由でM5Stackにプログラムを流し込もうとしたところ、以下のようなメッセージが出て書き込み失敗しました。
Error: The program size (xxxxxxxxxx bytes) is greater than maximum allowed (1310720 bytes)
どうも、プログラム書き込み可能領域を超えてしまっていたようです。
対応内容
ESP32にはOTA(over the air)というwifi経由でプログラムを書き込む機能があります。
この部分を無効化し、その分を書き込み領域に充てることで領域を増やすことができるようです。
私はOTAを使用していなかったので、この方法を採用しました。
具体的には、platformio.ini に以下を記載することで領域を増やすことができました。
platformio.ini
board_build.partitions = no_ota.csv
参考URL
以下の記事が大変参考になりました。より詳しい説明や、ArduinoIDEにおける対処方法も記載されています。
ESP32-WROOM-32のプログラム領域が足りなくなった時に、パーティションの設定を変更(OTAを無効化)して領域を増やす方法