From b3221c8c4984ebdb62266ff8429b5873af0b3863 Mon Sep 17 00:00:00 2001 From: Martin Mueller Date: Wed, 2 Feb 2022 16:32:17 -0500 Subject: [PATCH] Modifications to support a custom partition scheme for ESP32 builds allowing a larger configuration set. --- ESP32_partitions.csv | 6 ++++++ ESP8266_loader.ld | 29 +++++++++++++++++++++++++++++ platformio.ini | 5 +++-- 3 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 ESP32_partitions.csv create mode 100644 ESP8266_loader.ld diff --git a/ESP32_partitions.csv b/ESP32_partitions.csv new file mode 100644 index 000000000..176e23b1c --- /dev/null +++ b/ESP32_partitions.csv @@ -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, 0x1D0000, +app1, app, ota_1, 0x1E0000,0x1D0000, +spiffs, data, spiffs, 0x3B0000,0x50000, diff --git a/ESP8266_loader.ld b/ESP8266_loader.ld new file mode 100644 index 000000000..18f4e217e --- /dev/null +++ b/ESP8266_loader.ld @@ -0,0 +1,29 @@ +/* +# Name, Type, SubType, Offset, Size, Flags +nvs, data, nvs, 0x009000, 0x004000, +otadata, data, ota, 0x00E000, 0x002000, +phy_init, data, phy, 0x00F000, 0x001000 +app0, app, ota_0, 0x010000, 0x1D0000, +app1, app, ota_1, 0x1E0000, 0x1D0000, +spiffs, data, spiffs, 0x3B0000, 0x050000, +*/ + +MEMORY +{ + dport0_0_seg : org = 0x3FF00000, len = 0x10 + dram0_0_seg : org = 0x3FFE8000, len = 0x14000 + irom0_0_seg : org = 0x40201010, len = 0x79ff0 +} + +PROVIDE ( _FS_start = 0x4027B000 ); +PROVIDE ( _FS_end = 0x402FB000 ); +PROVIDE ( _FS_page = 0x100 ); +PROVIDE ( _FS_block = 0x2000 ); +PROVIDE ( _EEPROM_start = 0x402fb000 ); +/* The following symbols are DEPRECATED and will be REMOVED in a future release */ +PROVIDE ( _SPIFFS_start = 0x4027B000 ); +PROVIDE ( _SPIFFS_end = 0x402FB000 ); +PROVIDE ( _SPIFFS_page = 0x100 ); +PROVIDE ( _SPIFFS_block = 0x2000 ); + +INCLUDE "local.eagle.app.v6.common.ld" \ No newline at end of file diff --git a/platformio.ini b/platformio.ini index 84a6881cb..6a89e8b27 100644 --- a/platformio.ini +++ b/platformio.ini @@ -40,7 +40,7 @@ extra_scripts = ; https://docs.platformio.org/en/latest/platforms/espressif8266.html ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; [esp8266] -platform = espressif8266 @ 3.2.0 ; Arduino Core 3.0.2 +platform = espressif8266 @ 3.2.0 ; Arduino Core board_build.f_cpu = 160000000L board_build.filesystem = littlefs board_build.ldscript = eagle.flash.4m2m.ld @@ -68,13 +68,14 @@ lib_deps = [esp32] platform = espressif32 board_build.filesystem = littlefs -board_build.partitions = min_spiffs.csv +board_build.partitions = ESP32_partitions.csv monitor_filters = esp32_exception_decoder build_flags = ${env.build_flags} lib_deps = ${env.lib_deps} esphome/AsyncTCP-esphome @ 1.2.2 +extra_scripts = .scripts/replace_fs.py ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ; ESP32 pulling from upstream core ;