ESP32のパーティションテーブルに関するメモです。
ESP32 Dev Moduleの仕様は以下の通りです。
プログラム (FLASH): 4MB
データ (RAM): 320KB
パーティションテーブルを変更することでプログラム領域を1.28MBから3.07MBまで拡張できる。
platformio.iniに以下の設定を追加する。
board_build.partitions = no_ota.csv
[ツール]-[Partition Scheme]メニューで設定する。
※Huge Appは選択できない??
標準でいくつかのプリセットが用意されている。
| プリセット | プログラム | SPIFFS | EEPROM | OTA |
|---|---|---|---|---|
| default.csv | 1.28MB | 1.46MB | 4KB | 有効 |
| minimal.csv | 1.28MB | 700KB | 4KB | 無効 |
| no_ota.csv | 2MB | 1.98MB | 4KB | 無効 |
| huge_app.csv | 3.07MB | 956KB | 4KB | 無効 |
| min_spiffs.csv | 1.92MB | 188KB | 4KB | 有効 |
PlatformIOの場合は、C:\Users\<ユーザー名>\.platformio\packages\framework-arduinoespressif32\tools\partitionsフォルダーに格納されている。
| Name | Type | SubType | Offset | Size | Flags |
|---|---|---|---|---|---|
| nvs | data | nvs | 0x9000 | 0x5000 | |
| otadata | data | ota | 0xe000 | 0x2000 | |
| app0 | app | ota_0 | 0x10000 | 0x140000 | |
| app1 | app | ota_1 | 0x150000 | 0x140000 | |
| eeprom | data | 0x99 | 0x290000 | 0x1000 | |
| spiffs | data | spiffs | 0x291000 | 0x16F000 |
| Name | Type | SubType | Offset | Size | Flags |
|---|---|---|---|---|---|
| nvs | data | nvs | 0x9000 | 0x5000 | |
| otadata | data | ota | 0xe000 | 0x2000 | |
| app0 | app | ota_0 | 0x10000 | 0x140000 | |
| eeprom | data | 0x99 | 0x150000 | 0x1000 | |
| spiffs | data | spiffs | 0x151000 | 0xAF000 |
| Name | Type | SubType | Offset | Size | Flags |
|---|---|---|---|---|---|
| nvs | data | nvs | 0x9000 | 0x5000 | |
| otadata | data | ota | 0xe000 | 0x2000 | |
| app0 | app | ota_0 | 0x10000 | 0x200000 | |
| eeprom | data | 0x99 | 0x210000 | 0x1000 | |
| spiffs | data | spiffs | 0x211000 | 0x1EF000 |
| Name | Type | SubType | Offset | Size | Flags |
|---|---|---|---|---|---|
| nvs | data | nvs | 0x9000 | 0x5000 | |
| otadata | data | ota | 0xe000 | 0x2000 | |
| app0 | app | ota_0 | 0x10000 | 0x300000 | |
| eeprom | data | 0x99 | 0x310000 | 0x1000 | |
| spiffs | data | spiffs | 0x311000 | 0xEF000 |
| Name | Type | SubType | Offset | Size | Flags |
|---|---|---|---|---|---|
| nvs | data | nvs | 0x9000 | 0x5000 | |
| otadata | data | ota | 0xe000 | 0x2000 | |
| app0 | app | ota_0 | 0x10000 | 0x1E0000 | |
| app1 | app | ota_1 | 0x1F0000 | 0x1E0000 | |
| eeprom | data | 0x99 | 0x3D0000 | 0x1000 | |
| spiffs | data | spiffs | 0x3D1000 | 0x2F000 |