diff --git a/boards.txt b/boards.txt index 22a168c5b..d5ca569be 100644 --- a/boards.txt +++ b/boards.txt @@ -65,13 +65,18 @@ generic.menu.UploadSpeed.512000.upload.speed=512000 generic.menu.UploadSpeed.921600=921600 generic.menu.UploadSpeed.921600.upload.speed=921600 -generic.menu.FlashSize.512K=512K (64K SPIFFS) -generic.menu.FlashSize.512K.build.flash_size=512K -generic.menu.FlashSize.512K.build.flash_ld=eagle.flash.512k.ld -generic.menu.FlashSize.512K.build.spiffs_start=0x6B000 -generic.menu.FlashSize.512K.build.spiffs_end=0x7B000 -generic.menu.FlashSize.512K.build.spiffs_blocksize=4096 -generic.menu.FlashSize.512K.upload.maximum_size=434160 +generic.menu.FlashSize.512K64=512K (64K SPIFFS) +generic.menu.FlashSize.512K64.build.flash_size=512K +generic.menu.FlashSize.512K64.build.flash_ld=eagle.flash.512k64.ld +generic.menu.FlashSize.512K64.build.spiffs_start=0x6B000 +generic.menu.FlashSize.512K64.build.spiffs_end=0x7B000 +generic.menu.FlashSize.512K64.build.spiffs_blocksize=4096 +generic.menu.FlashSize.512K64.upload.maximum_size=434160 + +generic.menu.FlashSize.512K0=512K (no SPIFFS) +generic.menu.FlashSize.512K0.build.flash_size=512K +generic.menu.FlashSize.512K0.build.flash_ld=eagle.flash.512k0.ld +generic.menu.FlashSize.512K0.upload.maximum_size=499696 generic.menu.FlashSize.1M512=1M (512K SPIFFS) generic.menu.FlashSize.1M512.build.flash_size=1M @@ -410,7 +415,7 @@ thing.build.variant=thing thing.build.flash_mode=qio # flash chip: AT25SF041 (512 kbyte, 4Mbit) thing.build.flash_size=512K -thing.build.flash_ld=eagle.flash.512k.ld +thing.build.flash_ld=eagle.flash.512k64.ld thing.build.flash_freq=40 thing.build.spiffs_start=0x6B000 thing.build.spiffs_end=0x7B000 @@ -526,7 +531,7 @@ esp210.menu.FlashSize.4M1M.build.spiffs_pagesize=256 # wifio.build.flash_mode=qio # wifio.build.flash_size=512K # wifio.build.flash_freq=40 -# wifio.build.flash_ld=eagle.flash.512k.ld +# wifio.build.flash_ld=eagle.flash.512k64.ld # wifio.build.spiffs_start=0x6B000 # wifio.build.spiffs_end=0x7B000 # diff --git a/cores/esp8266/spiffs_api.cpp b/cores/esp8266/spiffs_api.cpp index f60a2d094..364b788eb 100644 --- a/cores/esp8266/spiffs_api.cpp +++ b/cores/esp8266/spiffs_api.cpp @@ -100,6 +100,10 @@ public: if (SPIFFS_mounted(&_fs) != 0) { return true; } + if (_size == 0) { + DEBUGV("SPIFFS size is zero"); + return false; + } if (_tryMount()) { return true; } @@ -112,6 +116,11 @@ public: } bool format() override { + if (_size == 0) { + DEBUGV("SPIFFS size is zero"); + return false; + } + bool wasMounted = (SPIFFS_mounted(&_fs) != 0); if (_tryMount()) { diff --git a/tools/sdk/ld/eagle.flash.512k0.ld b/tools/sdk/ld/eagle.flash.512k0.ld new file mode 100644 index 000000000..05e06d891 --- /dev/null +++ b/tools/sdk/ld/eagle.flash.512k0.ld @@ -0,0 +1,18 @@ +/* Flash Split for 512K chips, no SPIFFS */ +/* sketch 487KB */ +/* eeprom 20KB */ + +MEMORY +{ + dport0_0_seg : org = 0x3FF00000, len = 0x10 + dram0_0_seg : org = 0x3FFE8000, len = 0x14000 + iram1_0_seg : org = 0x40100000, len = 0x8000 + irom0_0_seg : org = 0x40201010, len = 0x79ff0 +} + +PROVIDE ( _SPIFFS_start = 0 ); +PROVIDE ( _SPIFFS_end = 0 ); +PROVIDE ( _SPIFFS_page = 0 ); +PROVIDE ( _SPIFFS_block = 0 ); + +INCLUDE "../ld/eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.512k.ld b/tools/sdk/ld/eagle.flash.512k64.ld similarity index 100% rename from tools/sdk/ld/eagle.flash.512k.ld rename to tools/sdk/ld/eagle.flash.512k64.ld