[Build] Add support for ESP32-S3 8MB units

This commit is contained in:
Ton Huisman
2023-07-02 19:07:04 +02:00
parent 273e620a77
commit 6a8d3db0f5
5 changed files with 85 additions and 14 deletions
+10 -8
View File
@@ -99,6 +99,7 @@ Flash size | Description |
4M2M | 4 MB with 2 MB filesystem |
16M | 16 MB with 14 MB filesystem |
4M316k | 4 MB with 316 kB filesystem |
8M2M | 8 MB with 2 MB filesystem |
16M1M | 16 MB with 1 MB filesystem |
16M8M | 16 MB with 8 MB filesystem |
@@ -113,18 +114,19 @@ Domoticz | Only Domoticz controllers (HTTP+MQTT) and plugins included
FHEM_HA | Only FHEM/OpenHAB/Home Assistant (MQTT) controllers and plugins included |
ETH | Ethernet interface enabled (ESP32 only) |
PSRAM | Specific configuration to enable PSRAM detection, ESP32-S3 only |
CDC | Support USBCDC/HWCDC-serial console on ESP32-C3, ESP32-S2 and ESP32-S3 |
Some example firmware names:
Firmware name | Hardware | Included plugins |
----------------------------------------------------|--------------------------------|----------------------------------|
ESPEasy_mega-20230508_normal_ESP8266_1M.bin | ESP8266/ESP8285 with 1MB flash | Stable |
ESPEasy_mega-20230508_normal_ESP8266_4M1M.bin | ESP8266 with 4MB flash | Stable |
ESPEasy_mega-20230508_collection_A_ESP8266_4M1M.bin | ESP8266 with 4MB flash | Stable + Collection base + set A |
ESPEasy_mega-20230508_normal_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable |
ESPEasy_mega-20230508_collection_A_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable + Collection base + set A |
ESPEasy_mega-20230508_collection_B_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable + Collection base + set B |
ESPEasy_mega-20230508_max_ESP32_16M1M.bin | ESP32 with 16MB flash | All available plugins |
ESPEasy_mega-20230508_max_ESP32_16M8M_LittleFS.bin | ESP32 with 16MB flash | All available plugins |
ESPEasy_mega-20230623_normal_ESP8266_1M.bin | ESP8266/ESP8285 with 1MB flash | Stable |
ESPEasy_mega-20230623_normal_ESP8266_4M1M.bin | ESP8266 with 4MB flash | Stable |
ESPEasy_mega-20230623_collection_A_ESP8266_4M1M.bin | ESP8266 with 4MB flash | Stable + Collection base + set A |
ESPEasy_mega-20230623_normal_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable |
ESPEasy_mega-20230623_collection_A_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable + Collection base + set A |
ESPEasy_mega-20230623_collection_B_ESP32_4M316k.bin | ESP32 with 4MB flash | Stable + Collection base + set B |
ESPEasy_mega-20230623_max_ESP32_16M1M.bin | ESP32 with 16MB flash | All available plugins |
ESPEasy_mega-20230623_max_ESP32_16M8M_LittleFS.bin | ESP32 with 16MB flash | All available plugins |
NB: Since 2023-05-10 the binary files for the different ESP32 variants (S2, C3, S3, 'Classic') are available in separate archives.
+6
View File
@@ -0,0 +1,6 @@
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x2F0000,
app1, app, ota_1, 0x300000, 0x2F0000,
spiffs, data, spiffs, 0x5F0000, 0x210000,
1 # Name Type SubType Offset Size Flags
2 nvs data nvs 0x9000 0x5000
3 otadata data ota 0xe000 0x2000
4 app0 app ota_0 0x10000 0x2F0000
5 app1 app ota_1 0x300000 0x2F0000
6 spiffs data spiffs 0x5F0000 0x210000
-6
View File
@@ -1,6 +0,0 @@
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x2F0000,
app1, app, ota_1, 0x300000, 0x2F0000,
spiffs, data, spiffs, 0x5F0000,0x210000,
1 # Name Type SubType Offset Size Flags
2 nvs data nvs 0x9000 0x5000
3 otadata data ota 0xe000 0x2000
4 app0 app ota_0 0x10000 0x2F0000
5 app1 app ota_1 0x300000 0x2F0000
6 spiffs data spiffs 0x5F0000 0x210000
+65
View File
@@ -119,10 +119,74 @@ build_flags = ${esp32s3_common.build_flags}
-DFEATURE_SD=1
-DPLUGIN_NEOPIXEL_COLLECTION
[env:custom_ESP32s3_8M2M_LittleFS_CDC]
extends = esp32s3_common
board = esp32s3cdc-qio_qspi
board_upload.flash_size = 8MB
board_name = "Espressif Generic ESP32-S3 8M Flash, ESPEasy 2944k Code/OTA 2112k FS"
build_flags = ${esp32s3_common_LittleFS.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DPLUGIN_BUILD_CUSTOM
-DFEATURE_SD=1
extra_scripts = ${esp32s3_common.extra_scripts}
pre:tools/pio/pre_custom_esp32.py
board_build.partitions = esp32_partition_app2944k_spiffs2112k.csv
[env:custom_ESP32s3_8M2M_LittleFS_OPI_PSRAM_CDC]
extends = env:custom_ESP32s3_8M2M_LittleFS_CDC
board = esp32s3cdc-qio_opi
board_name = "Espressif Generic ESP32-S3 8M Flash OPI PSRAM, ESPEasy 2944k Code/OTA 2112k FS"
[env:max_ESP32s3_8M2M_LittleFS_CDC]
extends = esp32s3_common
board = esp32s3cdc-qio_qspi
board_upload.flash_size = 8MB
board_name = "Espressif Generic ESP32-S3 8M Flash, ESPEasy 2944k Code/OTA 2112k FS"
lib_ignore = ${esp32_always.lib_ignore}
ESP32_ping
build_flags = ${esp32s3_common_LittleFS.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DPLUGIN_BUILD_MAX_ESP32
-DPLUGIN_BUILD_IR_EXTENDED
extra_scripts = ${esp32_common.extra_scripts}
board_build.partitions = esp32_partition_app2944k_spiffs2112k.csv
[env:max_ESP32s3_8M2M_LittleFS_OPI_PSRAM_CDC]
extends = env:max_ESP32s3_8M2M_LittleFS_CDC
board = esp32s3cdc-qio_opi
board_name = "Espressif Generic ESP32-S3 8M Flash OPI PSRAM, ESPEasy 2944k Code/OTA 2112k FS"
[env:custom_ESP32s3_16M8M_LittleFS_CDC]
extends = esp32s3_common
board = esp32s3cdc-qio_qspi
board_upload.flash_size = 16MB
board_name = "Espressif Generic ESP32-S3 16M Flash, ESPEasy 4096k Code/OTA 8124k FS"
lib_ignore = ${esp32_always.lib_ignore}
ESP32_ping
build_flags = ${esp32s3_common_LittleFS.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DPLUGIN_BUILD_CUSTOM
-DPLUGIN_BUILD_IR_EXTENDED
-DFEATURE_SD=1
extra_scripts = ${esp32s3_common.extra_scripts}
pre:tools/pio/pre_custom_esp32.py
board_build.partitions = esp32_partition_app4096k_spiffs8124k.csv
[env:custom_ESP32s3_16M8M_LittleFS_OPI_PSRAM_CDC]
extends = env:custom_ESP32s3_16M8M_LittleFS_CDC
board = esp32s3cdc-qio_opi
board_name = "Espressif Generic ESP32-S3 16M Flash OPI PSRAM, ESPEasy 4096k Code/OTA 8124k FS"
[env:max_ESP32s3_16M8M_LittleFS_CDC]
extends = esp32s3_common
board = esp32s3cdc-qio_qspi
board_upload.flash_size = 16MB
board_name = "Espressif Generic ESP32-S3 16M Flash, ESPEasy 4096k Code/OTA 8124k FS"
lib_ignore = ${esp32_always.lib_ignore}
ESP32_ping
build_flags = ${esp32s3_common.build_flags}
@@ -139,6 +203,7 @@ board_build.partitions = esp32_partition_app4096k_spiffs8124k.csv
extends = esp32s3_common
board = esp32s3cdc-qio_opi
board_upload.flash_size = 16MB
board_name = "Espressif Generic ESP32-S3 16M Flash OPI PSRAM, ESPEasy 4096k Code/OTA 8124k FS"
lib_ignore = ${esp32_always.lib_ignore}
ESP32_ping
build_flags = ${esp32s3_common.build_flags}
+4
View File
@@ -24,6 +24,10 @@ def get_max_bin_size(env_name, file_suffix):
if "factory" in file_suffix:
# Factory bin files include a part which is not overwritten via OTA
max_bin_size = max_bin_size + 65536
if "_ESP32_" in env_name or "_ESP32s2_" in env_name or "_ESP32s3_" in env_name:
if "_8M2M" in env_name:
# ESP32 with 2944k of sketch space.
max_bin_size = 3080192
if "_ESP32_" in env_name or "_ESP32c3_" in env_name or "_ESP32s2_" in env_name or "_ESP32s3_" in env_name:
if "_16M8M" in env_name or "_16M2M" in env_name or "_16M1M" in env_name:
# ESP32 with 4096k of sketch space.