/

ESP32 のパーティションテーブルを指定した書き込み方法

TWELITE SPOT に搭載された ESP32 に対する書き込みにおいて、任意のパーティションテーブルを適用する方法
TWELITE SPOT に搭載された ESP32 へスケッチやファイルを書き込む際に、任意のパーティションテーブルを適用する方法をご案内します。

定義ファイルの作成

パーティションテーブルの定義は、csv ファイルに記述します。

下記の例では、16MB のフラッシュ領域のうち、8MB をファイルシステムで使うように指定しています。

# TWELITE SPOT 16MB with 8MB LittleFS
# Name,  Type, SubType, Offset,   Size,     Flags
nvs,     data, nvs,     0x9000,   0x5000,
otadata, data, ota,     0xE000,   0x2000,
app0,    app,  ota_0,   0x10000,  0x7F0000,
spiffs,  data, spiffs,  0x800000, 0x800000,
  • TWELITE SPOT 16MB with 8MB LittleFS Arduino IDE に表示される名前です。
  • nvs システムで使用する領域です。変更しません。
  • otadata OTA を使う際に使用する領域です。変更しません。
  • app0 ファームウェアを書き込む領域です。
  • spiffs LittleFS ファイルシステムで使用する領域です。

csv ファイル中の Offset および Size 列の単位はバイトで、16進数です。

したがって、上記の例では、ファームウェアとファイルシステムが使えるサイズは下記のように計算できます。

  • app0 のサイズ:0x7F0000 = 8323072 より、7.875MB
  • spiffs のサイズ:0x800000 = 8388608 より、8MB

定義ファイルの登録

Arduino15フォルダ を開き、下記のパスに csv ファイルを追加します。

Arduino15/packages/esp32/hardware/esp32/x.x.x/tools/partitions

x.x.x は Arduino core for the ESP32 のバージョン

パーティションテーブルの適用

Arduino IDE のツールバーから ツール -> Partition Scheme を開き、追加したパーティションテーブルを選びます。

選択したパーティションテーブルが次回以降のファームウェアの書き込みやファイルシステムの書き込みに反映されます。