Skip to content

Commit ea9368c

Browse files
ficetoficeto
ficeto
authored and
ficeto
committed
enhance board flash handling and eeprom location
1 parent 540fdb0 commit ea9368c

File tree

2 files changed

+43
-28
lines changed

2 files changed

+43
-28
lines changed

boards.txt

+41-27
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ menu.UploadSpeed=Upload Speed
22
menu.CpuFrequency=CPU Frequency
33
menu.FlashSize=Flash Size
44
menu.FlashFreq=Flash Frequency
5-
menu.FlashMode=Flash Mode
65

76
##############################################################
87
generic.name=Generic ESP8266 Module
@@ -24,6 +23,8 @@ generic.build.flash_mode=qio
2423
generic.build.flash_size=512K
2524
generic.build.flash_freq=40
2625
generic.build.flash_ld=eagle.flash.512k.ld
26+
generic.build.spiffs_start=0x6B000
27+
generic.build.spiffs_end=0x7B000
2728

2829
generic.menu.CpuFrequency.80=80 MHz
2930
generic.menu.CpuFrequency.80.build.f_cpu=80000000L
@@ -49,39 +50,46 @@ generic.menu.UploadSpeed.512000.upload.speed=512000
4950
generic.menu.UploadSpeed.921600=921600
5051
generic.menu.UploadSpeed.921600.upload.speed=921600
5152

52-
generic.menu.FlashSize.512K=512K
53+
generic.menu.FlashSize.512K=512K (64K SPIFFS)
5354
generic.menu.FlashSize.512K.build.flash_size=512K
5455
generic.menu.FlashSize.512K.build.flash_ld=eagle.flash.512k.ld
55-
generic.menu.FlashSize.256K=256K
56-
generic.menu.FlashSize.256K.build.flash_size=256K
57-
generic.menu.FlashSize.256K.build.flash_ld=eagle.flash.256k.ld
58-
generic.menu.FlashSize.1M=1M
59-
generic.menu.FlashSize.1M.build.flash_size=1M
60-
generic.menu.FlashSize.1M.build.flash_ld=eagle.flash.1m.ld
61-
generic.menu.FlashSize.2M=2M
56+
generic.menu.FlashSize.512K.build.spiffs_start=0x6B000
57+
generic.menu.FlashSize.512K.build.spiffs_end=0x7B000
58+
generic.menu.FlashSize.1M512=1M (512K SPIFFS)
59+
generic.menu.FlashSize.1M512.build.flash_size=1M
60+
generic.menu.FlashSize.1M512.build.flash_ld=eagle.flash.1m512.ld
61+
generic.menu.FlashSize.1M512.build.spiffs_start=0x6B000
62+
generic.menu.FlashSize.1M512.build.spiffs_end=0xFB000
63+
generic.menu.FlashSize.1M256=1M (256K SPIFFS)
64+
generic.menu.FlashSize.1M256.build.flash_size=1M
65+
generic.menu.FlashSize.1M256.build.flash_ld=eagle.flash.1m256.ld
66+
generic.menu.FlashSize.1M256.build.spiffs_start=0xAB000
67+
generic.menu.FlashSize.1M256.build.spiffs_end=0xFB000
68+
generic.menu.FlashSize.1M128=1M (128K SPIFFS)
69+
generic.menu.FlashSize.1M128.build.flash_size=1M
70+
generic.menu.FlashSize.1M128.build.flash_ld=eagle.flash.1m128.ld
71+
generic.menu.FlashSize.1M128.build.spiffs_start=0xCB000
72+
generic.menu.FlashSize.1M128.build.spiffs_end=0xFB000
73+
generic.menu.FlashSize.1M64=1M (64K SPIFFS)
74+
generic.menu.FlashSize.1M64.build.flash_size=1M
75+
generic.menu.FlashSize.1M64.build.flash_ld=eagle.flash.1m64.ld
76+
generic.menu.FlashSize.1M64.build.spiffs_start=0xEB000
77+
generic.menu.FlashSize.1M64.build.spiffs_end=0xFB000
78+
generic.menu.FlashSize.2M=2M (1M SPIFFS)
6279
generic.menu.FlashSize.2M.build.flash_size=2M
6380
generic.menu.FlashSize.2M.build.flash_ld=eagle.flash.2m.ld
64-
generic.menu.FlashSize.4M=4M
81+
generic.menu.FlashSize.2M.build.spiffs_start=0x100000
82+
generic.menu.FlashSize.2M.build.spiffs_end=0x1FB000
83+
generic.menu.FlashSize.4M=4M (3M SPIFFS)
6584
generic.menu.FlashSize.4M.build.flash_size=4M
6685
generic.menu.FlashSize.4M.build.flash_ld=eagle.flash.4m.ld
86+
generic.menu.FlashSize.4M.build.spiffs_start=0x100000
87+
generic.menu.FlashSize.4M.build.spiffs_end=0x3FB000
6788

68-
generic.menu.FlashFreq.40=40MHz
69-
generic.menu.FlashFreq.40.build.flash_freq=40
70-
generic.menu.FlashFreq.20=20MHz
71-
generic.menu.FlashFreq.20.build.flash_freq=20
72-
generic.menu.FlashFreq.26=26.7MHz
73-
generic.menu.FlashFreq.26.build.flash_freq=26.7
74-
generic.menu.FlashFreq.80=80MHz
75-
generic.menu.FlashFreq.80.build.flash_freq=80
76-
77-
generic.menu.FlashMode.qio=QIO
78-
generic.menu.FlashMode.qio.build.flash_mode=qio
79-
generic.menu.FlashMode.qout=QOUT
80-
generic.menu.FlashMode.qout.build.flash_mode=qout
81-
generic.menu.FlashMode.dio=DIO
82-
generic.menu.FlashMode.dio.build.flash_mode=dio
83-
generic.menu.FlashMode.dout=DOUT
84-
generic.menu.FlashMode.dout.build.flash_mode=dout
89+
# generic.menu.FlashFreq.40=40MHz
90+
# generic.menu.FlashFreq.40.build.flash_freq=40
91+
# generic.menu.FlashFreq.80=80MHz
92+
# generic.menu.FlashFreq.80.build.flash_freq=80
8593

8694
##############################################################
8795
modwifi.name=Olimex MOD-WIFI-ESP8266(-DEV)
@@ -104,6 +112,8 @@ modwifi.build.flash_mode=qio
104112
modwifi.build.flash_size=2M
105113
modwifi.build.flash_freq=40
106114
modwifi.build.flash_ld=eagle.flash.2m.ld
115+
modwifi.build.spiffs_start=0x100000
116+
modwifi.build.spiffs_end=0x1FB000
107117

108118
modwifi.menu.CpuFrequency.80=80 MHz
109119
modwifi.menu.CpuFrequency.80.build.f_cpu=80000000L
@@ -150,6 +160,8 @@ nodemcu.build.flash_mode=qio
150160
nodemcu.build.flash_size=4M
151161
nodemcu.build.flash_freq=40
152162
nodemcu.build.flash_ld=eagle.flash.4m.ld
163+
nodemcu.build.spiffs_start=0x100000
164+
nodemcu.build.spiffs_end=0x3FB000
153165

154166
nodemcu.menu.CpuFrequency.80=80 MHz
155167
nodemcu.menu.CpuFrequency.80.build.f_cpu=80000000L
@@ -197,6 +209,8 @@ nodemcu.menu.FlashSize.4M.build.flash_size=4M
197209
# wifio.build.flash_size=512K
198210
# wifio.build.flash_freq=40
199211
# wifio.build.flash_ld=eagle.flash.512k.ld
212+
# wifio.build.spiffs_start=0x6B000
213+
# wifio.build.spiffs_end=0x7B000
200214
#
201215
# wifio.menu.CpuFrequency.80=80MHz
202216
# wifio.menu.CpuFrequency.80.build.f_cpu=80000000L

libraries/EEPROM/EEPROM.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,10 @@
2828
#include "os_type.h"
2929
#include "osapi.h"
3030
#include "spi_flash.h"
31+
extern uint32_t _SPIFFS_end;
3132
}
3233

33-
#define CONFIG_START_SECTOR 0x7b
34+
#define CONFIG_START_SECTOR (((uint32_t)_SPIFFS_end - 0x40200000) / 4096)
3435
#define CONFIG_SECTOR (CONFIG_START_SECTOR + 0)
3536
#define CONFIG_ADDR (SPI_FLASH_SEC_SIZE * CONFIG_SECTOR)
3637

0 commit comments

Comments
 (0)