1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-21 10:26:06 +03:00

boards generator: updates (#5103)

boards generator updates:
* simplified mapping description: only flash and spiffs sizes are needed
* some ldscripts are renamed due to autogenerated names
* +2M/0, +2M/512K spiffs, +4M0
* reduce length of hidden strings in boards.txt (#5100, https://github.com/arduino/arduino-builder/issues/284)
* give more details in ldscripts (address, size,  +rf-cal, +sdk-wifi-settings)
This commit is contained in:
david gauchard 2018-09-03 22:29:27 +02:00 committed by GitHub
parent c33ef89f60
commit cc0bfa04d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 4713 additions and 4301 deletions

8436
boards.txt

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,8 @@ UPLOAD_BAUD ?= 921600
UPLOAD_BOARD ?= nodemcu
BS_DIR ?= libraries/BSTest
DEBUG_LEVEL ?= DebugLevel=None____
FQBN ?= esp8266com:esp8266:generic:CpuFrequency=80,FlashFreq=40,FlashMode=dio,UploadSpeed=115200,FlashSize=4M1M,LwIPVariant=v2mss536,ResetMethod=none,Debug=Serial,$(DEBUG_LEVEL)
#FQBN ?= esp8266com:esp8266:generic:CpuFrequency=80,FlashFreq=40,FlashMode=dio,UploadSpeed=115200,FlashSize=4M1M,LwIPVariant=v2mss536,ResetMethod=none,Debug=Serial,$(DEBUG_LEVEL)
FQBN ?= esp8266com:esp8266:generic:xtal=80,FlashFreq=40,FlashMode=dio,baud=115200,eesz=4M1M,ip=lm2,ResetMethod=none,dbg=Serial,$(DEBUG_LEVEL)
BUILD_TOOL := $(ARDUINO_IDE_PATH)/arduino-builder
TEST_CONFIG := test_env.cfg
TEST_REPORT_XML := test_report.xml

View File

@ -826,19 +826,19 @@ macros = {
#######################
'cpufreq_menu': collections.OrderedDict([
( '.menu.CpuFrequency.80', '80 MHz' ),
( '.menu.CpuFrequency.80.build.f_cpu', '80000000L' ),
( '.menu.CpuFrequency.160', '160 MHz' ),
( '.menu.CpuFrequency.160.build.f_cpu', '160000000L' ),
( '.menu.xtal.80', '80 MHz' ),
( '.menu.xtal.80.build.f_cpu', '80000000L' ),
( '.menu.xtal.160', '160 MHz' ),
( '.menu.xtal.160.build.f_cpu', '160000000L' ),
]),
'vtable_menu': collections.OrderedDict([
( '.menu.VTable.flash', 'Flash'),
( '.menu.VTable.flash.build.vtable_flags', '-DVTABLES_IN_FLASH'),
( '.menu.VTable.heap', 'Heap'),
( '.menu.VTable.heap.build.vtable_flags', '-DVTABLES_IN_DRAM'),
( '.menu.VTable.iram', 'IRAM'),
( '.menu.VTable.iram.build.vtable_flags', '-DVTABLES_IN_IRAM'),
( '.menu.vt.flash', 'Flash'),
( '.menu.vt.flash.build.vtable_flags', '-DVTABLES_IN_FLASH'),
( '.menu.vt.heap', 'Heap'),
( '.menu.vt.heap.build.vtable_flags', '-DVTABLES_IN_DRAM'),
( '.menu.vt.iram', 'IRAM'),
( '.menu.vt.iram.build.vtable_flags', '-DVTABLES_IN_IRAM'),
]),
'crystalfreq_menu': collections.OrderedDict([
@ -930,75 +930,75 @@ macros = {
####################### lwip
'lwip2': collections.OrderedDict([
( '.menu.LwIPVariant.v2mss536', 'v2 Lower Memory' ),
( '.menu.LwIPVariant.v2mss536.build.lwip_include', 'lwip2/include' ),
( '.menu.LwIPVariant.v2mss536.build.lwip_lib', '-llwip2' ),
( '.menu.LwIPVariant.v2mss536.build.lwip_flags', '-DLWIP_OPEN_SRC -DTCP_MSS=536' ),
( '.menu.LwIPVariant.v2mss1460', 'v2 Higher Bandwidth' ),
( '.menu.LwIPVariant.v2mss1460.build.lwip_include', 'lwip2/include' ),
( '.menu.LwIPVariant.v2mss1460.build.lwip_lib', '-llwip2_1460' ),
( '.menu.LwIPVariant.v2mss1460.build.lwip_flags', '-DLWIP_OPEN_SRC -DTCP_MSS=1460' ),
( '.menu.ip.lm2', 'v2 Lower Memory' ),
( '.menu.ip.lm2.build.lwip_include', 'lwip2/include' ),
( '.menu.ip.lm2.build.lwip_lib', '-llwip2' ),
( '.menu.ip.lm2.build.lwip_flags', '-DLWIP_OPEN_SRC -DTCP_MSS=536' ),
( '.menu.ip.hb2', 'v2 Higher Bandwidth' ),
( '.menu.ip.hb2.build.lwip_include', 'lwip2/include' ),
( '.menu.ip.hb2.build.lwip_lib', '-llwip2_1460' ),
( '.menu.ip.hb2.build.lwip_flags', '-DLWIP_OPEN_SRC -DTCP_MSS=1460' ),
]),
'lwip': collections.OrderedDict([
( '.menu.LwIPVariant.Prebuilt', 'v1.4 Higher Bandwidth' ),
( '.menu.LwIPVariant.Prebuilt.build.lwip_lib', '-llwip_gcc' ),
( '.menu.LwIPVariant.Prebuilt.build.lwip_flags', '-DLWIP_OPEN_SRC' ),
#( '.menu.LwIPVariant.Espressif', 'v1.4 Espressif (xcc)' ),
#( '.menu.LwIPVariant.Espressif.build.lwip_lib', '-llwip' ),
#( '.menu.LwIPVariant.Espressif.build.lwip_flags', '-DLWIP_MAYBE_XCC' ),
( '.menu.LwIPVariant.OpenSource', 'v1.4 Compile from source' ),
( '.menu.LwIPVariant.OpenSource.build.lwip_lib', '-llwip_src' ),
( '.menu.LwIPVariant.OpenSource.build.lwip_flags', '-DLWIP_OPEN_SRC' ),
( '.menu.LwIPVariant.OpenSource.recipe.hooks.sketch.prebuild.1.pattern', 'make -C "{runtime.platform.path}/tools/sdk/lwip/src" install TOOLS_PATH="{runtime.tools.xtensa-lx106-elf-gcc.path}/bin/xtensa-lx106-elf-"' ),
( '.menu.ip.hb1', 'v1.4 Higher Bandwidth' ),
( '.menu.ip.hb1.build.lwip_lib', '-llwip_gcc' ),
( '.menu.ip.hb1.build.lwip_flags', '-DLWIP_OPEN_SRC' ),
#( '.menu.ip.Espressif', 'v1.4 Espressif (xcc)' ),
#( '.menu.ip.Espressif.build.lwip_lib', '-llwip' ),
#( '.menu.ip.Espressif.build.lwip_flags', '-DLWIP_MAYBE_XCC' ),
( '.menu.ip.src', 'v1.4 Compile from source' ),
( '.menu.ip.src.build.lwip_lib', '-llwip_src' ),
( '.menu.ip.src.build.lwip_flags', '-DLWIP_OPEN_SRC' ),
( '.menu.ip.src.recipe.hooks.sketch.prebuild.1.pattern', 'make -C "{runtime.platform.path}/tools/sdk/lwip/src" install TOOLS_PATH="{runtime.tools.xtensa-lx106-elf-gcc.path}/bin/xtensa-lx106-elf-"' ),
]),
####################### serial
's9': collections.OrderedDict([
( '.menu.UploadSpeed.9600', '9600' ),
( '.menu.UploadSpeed.9600.upload.speed', '9600' ),
( '.menu.baud.9600', '9600' ),
( '.menu.baud.9600.upload.speed', '9600' ),
]),
's57': collections.OrderedDict([
( '.menu.UploadSpeed.57600', '57600' ),
( '.menu.UploadSpeed.57600.upload.speed', '57600' ),
( '.menu.baud.57600', '57600' ),
( '.menu.baud.57600.upload.speed', '57600' ),
]),
's115': collections.OrderedDict([
( '.menu.UploadSpeed.115200', '115200' ),
( '.menu.UploadSpeed.115200.upload.speed', '115200' ),
( '.menu.baud.115200', '115200' ),
( '.menu.baud.115200.upload.speed', '115200' ),
]),
's256': collections.OrderedDict([
( '.menu.UploadSpeed.256000.windows', '256000' ),
( '.menu.UploadSpeed.256000.upload.speed', '256000' ),
( '.menu.baud.256000.windows', '256000' ),
( '.menu.baud.256000.upload.speed', '256000' ),
]),
's230': collections.OrderedDict([
( '.menu.UploadSpeed.230400.linux', '230400' ),
( '.menu.UploadSpeed.230400.macosx', '230400' ),
( '.menu.UploadSpeed.230400.upload.speed', '230400' ),
( '.menu.baud.230400.linux', '230400' ),
( '.menu.baud.230400.macosx', '230400' ),
( '.menu.baud.230400.upload.speed', '230400' ),
]),
's460': collections.OrderedDict([
( '.menu.UploadSpeed.460800.linux', '460800' ),
( '.menu.UploadSpeed.460800.macosx', '460800' ),
( '.menu.UploadSpeed.460800.upload.speed', '460800' ),
( '.menu.baud.460800.linux', '460800' ),
( '.menu.baud.460800.macosx', '460800' ),
( '.menu.baud.460800.upload.speed', '460800' ),
]),
's512': collections.OrderedDict([
( '.menu.UploadSpeed.512000.windows', '512000' ),
( '.menu.UploadSpeed.512000.upload.speed', '512000' ),
( '.menu.baud.512000.windows', '512000' ),
( '.menu.baud.512000.upload.speed', '512000' ),
]),
's921': collections.OrderedDict([
( '.menu.UploadSpeed.921600', '921600' ),
( '.menu.UploadSpeed.921600.upload.speed', '921600' ),
( '.menu.baud.921600', '921600' ),
( '.menu.baud.921600.upload.speed', '921600' ),
]),
####################### flash erase
'flash_erase_menu': collections.OrderedDict([
( '.menu.FlashErase.none', 'Only Sketch' ),
( '.menu.FlashErase.none.upload.erase_cmd', '' ),
( '.menu.FlashErase.sdk', 'Sketch + WiFi Settings' ),
( '.menu.FlashErase.sdk.upload.erase_cmd', '-ca "{build.rfcal_addr}" -cz 0x4000' ),
( '.menu.FlashErase.all', 'All Flash Contents' ),
( '.menu.FlashErase.all.upload.erase_cmd', '-ca 0x0 -cz "{build.flash_size_bytes}"' ),
( '.menu.wipe.none', 'Only Sketch' ),
( '.menu.wipe.none.upload.erase_cmd', '' ),
( '.menu.wipe.sdk', 'Sketch + WiFi Settings' ),
( '.menu.wipe.sdk.upload.erase_cmd', '-ca "{build.rfcal_addr}" -cz 0x4000' ),
( '.menu.wipe.all', 'All Flash Contents' ),
( '.menu.wipe.all.upload.erase_cmd', '-ca 0x0 -cz "{build.flash_size_bytes}"' ),
]),
}
@ -1041,14 +1041,14 @@ def all_debug ():
options += [ listcomb + listnocomb ]
options += [ listsingle ]
debugmenu = collections.OrderedDict([
( '.menu.Debug.Disabled', 'Disabled' ),
( '.menu.Debug.Disabled.build.debug_port', '' ),
( '.menu.Debug.Serial', 'Serial' ),
( '.menu.Debug.Serial.build.debug_port', '-DDEBUG_ESP_PORT=Serial' ),
( '.menu.Debug.Serial1', 'Serial1' ),
( '.menu.Debug.Serial1.build.debug_port', '-DDEBUG_ESP_PORT=Serial1' ),
( '.menu.DebugLevel.None____', 'None' ),
( '.menu.DebugLevel.None____.build.debug_level', '' ),
( '.menu.dbg.Disabled', 'Disabled' ),
( '.menu.dbg.Disabled.build.debug_port', '' ),
( '.menu.dbg.Serial', 'Serial' ),
( '.menu.dbg.Serial.build.debug_port', '-DDEBUG_ESP_PORT=Serial' ),
( '.menu.dbg.Serial1', 'Serial1' ),
( '.menu.dbg.Serial1.build.debug_port', '-DDEBUG_ESP_PORT=Serial1' ),
( '.menu.lvl.None____', 'None' ),
( '.menu.lvl.None____.build.debug_level', '' ),
])
for optlist in options:
@ -1071,30 +1071,57 @@ def all_debug ():
else:
debugdefs += ' -DDEBUG_ESP_' + opt
debugmenu.update(collections.OrderedDict([
( '.menu.DebugLevel.' + debugname, debugmenuname ),
( '.menu.DebugLevel.' + debugname + '.build.debug_level', debugdefs )
( '.menu.lvl.' + debugname, debugmenuname ),
( '.menu.lvl.' + debugname + '.build.debug_level', debugdefs )
]))
return { 'debug_menu': debugmenu }
################################################################
# flash size
def flash_size (size_bytes, display, optname, ld, desc, max_upload_size, spiffs_start = 0, spiffs_size = 0, spiffs_blocksize = 0):
menu = '.menu.FlashSize.' + optname
def flash_map (flashsize_kb, spiffs_kb = 0):
# mapping:
# flash | reserved | empty | spiffs | eeprom | rf-cal | sdk-wifi-settings
spi = 0x40200000 # https://github.com/esp8266/esp8266-wiki/wiki/Memory-Map
reserved = 4112
eeprom_size_kb = 4
rfcal_size_kb = 4
sdkwifi_size_kb = 12
spiffs_end = (flashsize_kb - sdkwifi_size_kb - rfcal_size_kb - eeprom_size_kb) * 1024
rfcal_addr = (flashsize_kb - sdkwifi_size_kb - rfcal_size_kb) * 1024
if flashsize_kb <= 1024:
max_upload_size = (flashsize_kb - (spiffs_kb + eeprom_size_kb + rfcal_size_kb + sdkwifi_size_kb)) * 1024 - reserved
spiffs_start = spiffs_end - spiffs_kb * 1024
spiffs_blocksize = 4096
else:
max_upload_size = 1024 * 1024 - reserved
spiffs_start = (flashsize_kb - spiffs_kb) * 1024
spiffs_blocksize = 8192
strsize = str(flashsize_kb / 1024) + 'M' if (flashsize_kb >= 1024) else str(flashsize_kb) + 'K'
strspiffs = str(spiffs_kb / 1024) + 'M' if (spiffs_kb >= 1024) else str(spiffs_kb) + 'K'
strspiffs_strip = str(spiffs_kb / 1024) + 'M' if (spiffs_kb >= 1024) else str(spiffs_kb) if (spiffs_kb > 0) else ''
ld = 'eagle.flash.' + strsize.lower() + strspiffs_strip.lower() + '.ld'
menu = '.menu.eesz.' + strsize + strspiffs_strip
menub = menu + '.build.'
desc = 'no' if (spiffs_kb == 0) else strspiffs
d = collections.OrderedDict([
( menu, display + ' (' + desc + ')' ),
( menub + 'flash_size', display ),
( menub + 'flash_size_bytes', "0x%X" % size_bytes ),
( menu, strsize + ' (' + desc + ' SPIFFS)' ),
( menub + 'flash_size', strsize ),
( menub + 'flash_size_bytes', "0x%X" % (flashsize_kb * 1024)),
( menub + 'flash_ld', ld ),
( menub + 'spiffs_pagesize', '256' ),
( menu + '.upload.maximum_size', "%i" % max_upload_size ),
( menub + 'rfcal_addr', "0x%X" % (size_bytes - 0x4000))
( menub + 'rfcal_addr', "0x%X" % rfcal_addr)
])
if spiffs_size > 0:
if spiffs_kb > 0:
d.update(collections.OrderedDict([
( menub + 'spiffs_start', "0x%05X" % spiffs_start ),
( menub + 'spiffs_end', "0x%05X" % (spiffs_start + spiffs_size) ),
( menub + 'spiffs_end', "0x%05X" % spiffs_end ),
( menub + 'spiffs_blocksize', "%i" % spiffs_blocksize ),
]))
@ -1103,7 +1130,6 @@ def flash_size (size_bytes, display, optname, ld, desc, max_upload_size, spiffs_
checkdir()
lddir = "tools/sdk/ld/"
ldbackupdir = lddir + "backup/"
if not os.path.isdir(ldbackupdir):
os.mkdir(ldbackupdir)
@ -1112,24 +1138,26 @@ def flash_size (size_bytes, display, optname, ld, desc, max_upload_size, spiffs_
realstdout = sys.stdout
sys.stdout = open(lddir + ld, 'w')
if spiffs_size == 0:
if spiffs_kb == 0:
page = 0
block = 0
elif spiffs_size < 0x80000:
elif spiffs_kb < 0x80000 / 1024:
page = 0x100
block = 0x1000
else:
page = 0x100
block = 0x2000
print("/* Flash Split for %s chips */" % display)
print("/* sketch %dKB */" % (max_upload_size / 1024))
if spiffs_size > 0:
empty_size = spiffs_start - max_upload_size - 4096
print("/* Flash Split for %s chips */" % strsize)
print("/* sketch @0x%X (~%dKB) (%dB) */" % (spi, (max_upload_size / 1024), max_upload_size))
if spiffs_kb > 0:
empty_size = spiffs_start - max_upload_size
if empty_size > 1024:
print("/* empty %dKB */" % (empty_size / 1024))
print("/* spiffs %dKB */" % (spiffs_size / 1024))
print("/* eeprom 20KB */")
print("/* empty @0x%X (~%dKB) (%dB) */" % (spi + max_upload_size, empty_size / 1024, empty_size))
print("/* spiffs @0x%X (~%dKB) (%dB) */" % (spi + spiffs_start, ((spiffs_end - spiffs_start) / 1024), spiffs_end - spiffs_start))
print("/* eeprom @0x%X (=%dKB) */" % (spi + rfcal_addr - eeprom_size_kb * 1024, eeprom_size_kb))
print("/* rfcal @0x%X (=%dKB) */" % (spi + rfcal_addr, rfcal_size_kb))
print("/* wifi @0x%X (=%dKB) */" % (spi + rfcal_addr + rfcal_size_kb * 1024, sdkwifi_size_kb))
print("")
print("MEMORY")
print("{")
@ -1139,10 +1167,11 @@ def flash_size (size_bytes, display, optname, ld, desc, max_upload_size, spiffs_
print(" irom0_0_seg : org = 0x40201010, len = 0x%x" % max_upload_size)
print("}")
print("")
print("PROVIDE ( _SPIFFS_start = 0x%08X );" % (0x40200000 + spiffs_start))
print("PROVIDE ( _SPIFFS_end = 0x%08X );" % (0x40200000 + spiffs_start + spiffs_size))
print("PROVIDE ( _SPIFFS_page = 0x%X );" % page)
print("PROVIDE ( _SPIFFS_block = 0x%X );" % block)
if spiffs_kb > 0:
print("PROVIDE ( _SPIFFS_start = 0x%08X );" % (0x40200000 + spiffs_start))
print("PROVIDE ( _SPIFFS_end = 0x%08X );" % (0x40200000 + spiffs_end))
print("PROVIDE ( _SPIFFS_page = 0x%X );" % page)
print("PROVIDE ( _SPIFFS_block = 0x%X );" % block)
print("")
print('INCLUDE "eagle.app.v6.common.ld"')
@ -1152,25 +1181,49 @@ def flash_size (size_bytes, display, optname, ld, desc, max_upload_size, spiffs_
return d
def all_flash_size ():
f512 = flash_size(0x80000, '512K', '512K0', 'eagle.flash.512k0.ld', 'no SPIFFS', 499696, 0x7B000)
f512.update(flash_size(0x80000, '512K', '512K32', 'eagle.flash.512k32.ld', '32K SPIFFS', 466928, 0x73000, 0x8000, 4096))
f512.update(flash_size(0x80000, '512K', '512K64', 'eagle.flash.512k64.ld', '64K SPIFFS', 434160, 0x6B000, 0x10000, 4096))
f512.update(flash_size(0x80000, '512K', '512K128', 'eagle.flash.512k128.ld', '128K SPIFFS', 368624, 0x5B000, 0x20000, 4096))
f1m = flash_size(0x100000, '1M', '1M0', 'eagle.flash.1m0.ld', 'no SPIFFS', 1023984, 0xFB000)
f1m.update( flash_size(0x100000, '1M', '1M64', 'eagle.flash.1m64.ld', '64K SPIFFS', 958448, 0xEB000, 0x10000, 4096))
f1m.update( flash_size(0x100000, '1M', '1M128', 'eagle.flash.1m128.ld', '128K SPIFFS', 892912, 0xDB000, 0x20000, 4096))
f1m.update( flash_size(0x100000, '1M', '1M144', 'eagle.flash.1m144.ld', '144K SPIFFS', 876528, 0xD7000, 0x24000, 4096))
f1m.update( flash_size(0x100000, '1M', '1M160', 'eagle.flash.1m160.ld', '160K SPIFFS', 860144, 0xD3000, 0x28000, 4096))
f1m.update( flash_size(0x100000, '1M', '1M192', 'eagle.flash.1m192.ld', '192K SPIFFS', 827376, 0xCB000, 0x30000, 4096))
f1m.update( flash_size(0x100000, '1M', '1M256', 'eagle.flash.1m256.ld', '256K SPIFFS', 761840, 0xBB000, 0x40000, 4096))
f1m.update( flash_size(0x100000, '1M', '1M512', 'eagle.flash.1m512.ld', '512K SPIFFS', 499696, 0x7B000, 0x80000, 8192))
f2m = flash_size(0x200000, '2M', '2M', 'eagle.flash.2m.ld', '1M SPIFFS', 1044464, 0x100000, 0xFB000, 8192)
f4m = flash_size(0x400000, '4M', '4M1M', 'eagle.flash.4m1m.ld', '1M SPIFFS', 1044464, 0x300000, 0xFB000, 8192)
f4m.update( flash_size(0x400000, '4M', '4M2M', 'eagle.flash.4m2m.ld', '2M SPIFFS', 1044464, 0x200000, 0x1FB000, 8192))
f4m.update( flash_size(0x400000, '4M', '4M3M', 'eagle.flash.4m.ld', '3M SPIFFS', 1044464, 0x100000, 0x2FB000, 8192))
f8m = flash_size(0x800000, '8M', '8M7M', 'eagle.flash.8m.ld', '7M SPIFFS', 1044464, 0x100000, 0x6FB000, 8192)
f16m = flash_size(0x1000000, '16M', '16M15M', 'eagle.flash.16m.ld', '15M SPIFFS', 1044464, 0x100000, 0xEFB000, 8192)
def all_flash_map ():
f512 = collections.OrderedDict([])
f1m = collections.OrderedDict([])
f2m = collections.OrderedDict([])
f4m = collections.OrderedDict([])
f8m = collections.OrderedDict([])
f16m = collections.OrderedDict([])
# flash(KB) spiffs(KB)
f512.update(flash_map( 512))
f512.update(flash_map( 512, 32 ))
f512.update(flash_map( 512, 64 ))
f512.update(flash_map( 512, 128 ))
f1m.update( flash_map( 1024))
f1m.update( flash_map( 1024, 64 ))
f1m.update( flash_map( 1024, 128 ))
f1m.update( flash_map( 1024, 144 ))
f1m.update( flash_map( 1024, 160 ))
f1m.update( flash_map( 1024, 192 ))
f1m.update( flash_map( 1024, 256 ))
f1m.update( flash_map( 1024, 512 ))
f2m.update( flash_map( 2*1024))
f2m.update( flash_map( 2*1024, 512 ))
f2m.update( flash_map( 2*1024, 1024 ))
f4m.update( flash_map( 4*1024))
f4m.update( flash_map( 4*1024, 1024 ))
f4m.update( flash_map( 4*1024, 2*1024 ))
f4m.update( flash_map( 4*1024, 3*1024 ))
f8m.update( flash_map( 8*1024, 6*1024 ))
f8m.update( flash_map( 8*1024, 7*1024 ))
f16m.update(flash_map( 16*1024, 14*1024 ))
f16m.update(flash_map( 16*1024, 15*1024 ))
if ldgen:
print("generated: ldscripts (in %s)" % lddir)
return {
'512K': f512,
'1M': f1m,
@ -1212,7 +1265,7 @@ def all_boards ():
realstdout = sys.stdout
sys.stdout = open("boards.txt", 'w')
macros.update(all_flash_size())
macros.update(all_flash_map())
macros.update(all_debug())
macros.update(led(led_default, led_max))
@ -1223,20 +1276,20 @@ def all_boards ():
print('#')
print('')
print('menu.BoardModel=Model')
print('menu.UploadSpeed=Upload Speed')
print('menu.CpuFrequency=CPU Frequency')
print('menu.baud=Upload Speed')
print('menu.xtal=CPU Frequency')
print('menu.CrystalFreq=Crystal Frequency')
print('menu.FlashSize=Flash Size')
print('menu.eesz=Flash Size')
print('menu.FlashMode=Flash Mode')
print('menu.FlashFreq=Flash Frequency')
print('menu.ResetMethod=Reset Method')
print('menu.ESPModule=Module')
print('menu.Debug=Debug port')
print('menu.DebugLevel=Debug Level')
print('menu.LwIPVariant=lwIP Variant')
print('menu.VTable=VTables')
print('menu.dbg=Debug port')
print('menu.lvl=Debug Level')
print('menu.ip=lwIP Variant')
print('menu.vt=VTables')
print('menu.led=Builtin Led')
print('menu.FlashErase=Erase Flash')
print('menu.wipe=Erase Flash')
print('')
for id in boards:
@ -1280,6 +1333,7 @@ def all_boards ():
if boardsgen:
sys.stdout.close()
sys.stdout = realstdout
print("generated: boards.txt")
################################################################
@ -1311,6 +1365,7 @@ def package ():
if packagegen:
with open(pkgfname, 'w') as package_file:
package_file.write(newfilestr)
print("updated: %s" % pkgfname)
else:
sys.stdout.write(newfilestr)
@ -1352,6 +1407,7 @@ def doc ():
if docgen:
sys.stdout.close()
sys.stdout = realstdout
print("generated: doc/boards.rst")
################################################################
# help / usage
@ -1421,6 +1477,7 @@ packagegen = False
docshow = False
docgen = False
customspeeds = []
lddir = "tools/sdk/ld/"
#### vvvv cmdline parsing starts
@ -1450,8 +1507,8 @@ for o, a in opts:
elif o in ("--customspeed"):
customspeeds += [
'.menu.UploadSpeed.' + a + '=' + a,
'.menu.UploadSpeed.' + a + '.upload.speed' + '=' + a ]
'.menu.baud.' + a + '=' + a,
'.menu.baud.' + a + '.upload.speed' + '=' + a ]
elif o in ("--board"):
if not a in boards:
@ -1520,7 +1577,7 @@ for o, a in opts:
did = False
if ldshow:
all_flash_size()
all_flash_map()
did = True
if boardsshow:

View File

@ -45,14 +45,14 @@ def compile(tmp_dir, sketch, tools_dir, hardware_dir, ide_path, f, args):
cmd += '-hardware "' + hardware_dir + '" '
# Debug=Serial,DebugLevel=Core____
cmd += '-fqbn=esp8266com:esp8266:{board_name}:' \
'CpuFrequency={cpu_freq},' \
'xtal={cpu_freq},' \
'FlashFreq={flash_freq},' \
'FlashMode={flash_mode},' \
'UploadSpeed=921600,' \
'FlashSize={flash_size},' \
'baud=921600,' \
'eesz={flash_size},' \
'ResetMethod=nodemcu'.format(**vars(args))
if args.debug_port and args.debug_level:
cmd += 'Debug={debug_port},DebugLevel={debug_level}'.format(**vars(args))
cmd += 'dbg={debug_port},lvl={debug_level}'.format(**vars(args))
cmd += ' '
cmd += '-ide-version=10607 '
cmd += '-warnings={warnings} '.format(**vars(args))

View File

@ -0,0 +1,22 @@
/* Flash Split for 16M chips */
/* sketch @0x40200000 (~1019KB) (1044464B) */
/* empty @0x402FEFF0 (~1028KB) (1052688B) */
/* spiffs @0x40400000 (~14316KB) (14659584B) */
/* eeprom @0x411FB000 (=4KB) */
/* rfcal @0x411FC000 (=4KB) */
/* wifi @0x411FD000 (=12KB) */
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 = 0xfeff0
}
PROVIDE ( _SPIFFS_start = 0x40400000 );
PROVIDE ( _SPIFFS_end = 0x411FB000 );
PROVIDE ( _SPIFFS_page = 0x100 );
PROVIDE ( _SPIFFS_block = 0x2000 );
INCLUDE "eagle.app.v6.common.ld"

View File

@ -1,7 +1,10 @@
/* Flash Split for 16M chips */
/* sketch 1019KB */
/* spiffs 15340KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~1019KB) (1044464B) */
/* empty @0x402FEFF0 (~4KB) (4112B) */
/* spiffs @0x40300000 (~15340KB) (15708160B) */
/* eeprom @0x411FB000 (=4KB) */
/* rfcal @0x411FC000 (=4KB) */
/* wifi @0x411FD000 (=12KB) */
MEMORY
{

View File

@ -1,6 +1,8 @@
/* Flash Split for 1M chips */
/* sketch 999KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~999KB) (1023984B) */
/* eeprom @0x402FB000 (=4KB) */
/* rfcal @0x402FC000 (=4KB) */
/* wifi @0x402FD000 (=12KB) */
MEMORY
{
@ -10,9 +12,5 @@ MEMORY
irom0_0_seg : org = 0x40201010, len = 0xf9ff0
}
PROVIDE ( _SPIFFS_start = 0x402FB000 );
PROVIDE ( _SPIFFS_end = 0x402FB000 );
PROVIDE ( _SPIFFS_page = 0x0 );
PROVIDE ( _SPIFFS_block = 0x0 );
INCLUDE "eagle.app.v6.common.ld"

View File

@ -1,7 +1,10 @@
/* Flash Split for 1M chips */
/* sketch 871KB */
/* spiffs 128KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~871KB) (892912B) */
/* empty @0x402D9FF0 (~4KB) (4112B) */
/* spiffs @0x402DB000 (~128KB) (131072B) */
/* eeprom @0x402FB000 (=4KB) */
/* rfcal @0x402FC000 (=4KB) */
/* wifi @0x402FD000 (=12KB) */
MEMORY
{

View File

@ -1,7 +1,10 @@
/* Flash Split for 1M chips */
/* sketch 855KB */
/* spiffs 144KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~855KB) (876528B) */
/* empty @0x402D5FF0 (~4KB) (4112B) */
/* spiffs @0x402D7000 (~144KB) (147456B) */
/* eeprom @0x402FB000 (=4KB) */
/* rfcal @0x402FC000 (=4KB) */
/* wifi @0x402FD000 (=12KB) */
MEMORY
{

View File

@ -1,7 +1,10 @@
/* Flash Split for 1M chips */
/* sketch 839KB */
/* spiffs 160KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~839KB) (860144B) */
/* empty @0x402D1FF0 (~4KB) (4112B) */
/* spiffs @0x402D3000 (~160KB) (163840B) */
/* eeprom @0x402FB000 (=4KB) */
/* rfcal @0x402FC000 (=4KB) */
/* wifi @0x402FD000 (=12KB) */
MEMORY
{

View File

@ -1,7 +1,10 @@
/* Flash Split for 1M chips */
/* sketch 807KB */
/* spiffs 192KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~807KB) (827376B) */
/* empty @0x402C9FF0 (~4KB) (4112B) */
/* spiffs @0x402CB000 (~192KB) (196608B) */
/* eeprom @0x402FB000 (=4KB) */
/* rfcal @0x402FC000 (=4KB) */
/* wifi @0x402FD000 (=12KB) */
MEMORY
{

View File

@ -1,7 +1,10 @@
/* Flash Split for 1M chips */
/* sketch 743KB */
/* spiffs 256KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~743KB) (761840B) */
/* empty @0x402B9FF0 (~4KB) (4112B) */
/* spiffs @0x402BB000 (~256KB) (262144B) */
/* eeprom @0x402FB000 (=4KB) */
/* rfcal @0x402FC000 (=4KB) */
/* wifi @0x402FD000 (=12KB) */
MEMORY
{

View File

@ -1,7 +1,10 @@
/* Flash Split for 1M chips */
/* sketch 487KB */
/* spiffs 512KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~487KB) (499696B) */
/* empty @0x40279FF0 (~4KB) (4112B) */
/* spiffs @0x4027B000 (~512KB) (524288B) */
/* eeprom @0x402FB000 (=4KB) */
/* rfcal @0x402FC000 (=4KB) */
/* wifi @0x402FD000 (=12KB) */
MEMORY
{

View File

@ -1,7 +1,10 @@
/* Flash Split for 1M chips */
/* sketch 935KB */
/* spiffs 64KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~935KB) (958448B) */
/* empty @0x402E9FF0 (~4KB) (4112B) */
/* spiffs @0x402EB000 (~64KB) (65536B) */
/* eeprom @0x402FB000 (=4KB) */
/* rfcal @0x402FC000 (=4KB) */
/* wifi @0x402FD000 (=12KB) */
MEMORY
{

View File

@ -1,7 +1,8 @@
/* Flash Split for 2M chips */
/* sketch 1019KB */
/* spiffs 1004KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~1019KB) (1044464B) */
/* eeprom @0x403FB000 (=4KB) */
/* rfcal @0x403FC000 (=4KB) */
/* wifi @0x403FD000 (=12KB) */
MEMORY
{
@ -11,9 +12,5 @@ MEMORY
irom0_0_seg : org = 0x40201010, len = 0xfeff0
}
PROVIDE ( _SPIFFS_start = 0x40300000 );
PROVIDE ( _SPIFFS_end = 0x403FB000 );
PROVIDE ( _SPIFFS_page = 0x100 );
PROVIDE ( _SPIFFS_block = 0x2000 );
INCLUDE "eagle.app.v6.common.ld"

View File

@ -0,0 +1,22 @@
/* Flash Split for 2M chips */
/* sketch @0x40200000 (~1019KB) (1044464B) */
/* empty @0x402FEFF0 (~4KB) (4112B) */
/* spiffs @0x40300000 (~1004KB) (1028096B) */
/* eeprom @0x403FB000 (=4KB) */
/* rfcal @0x403FC000 (=4KB) */
/* wifi @0x403FD000 (=12KB) */
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 = 0xfeff0
}
PROVIDE ( _SPIFFS_start = 0x40300000 );
PROVIDE ( _SPIFFS_end = 0x403FB000 );
PROVIDE ( _SPIFFS_page = 0x100 );
PROVIDE ( _SPIFFS_block = 0x2000 );
INCLUDE "eagle.app.v6.common.ld"

View File

@ -0,0 +1,22 @@
/* Flash Split for 2M chips */
/* sketch @0x40200000 (~1019KB) (1044464B) */
/* empty @0x402FEFF0 (~516KB) (528400B) */
/* spiffs @0x40380000 (~492KB) (503808B) */
/* eeprom @0x403FB000 (=4KB) */
/* rfcal @0x403FC000 (=4KB) */
/* wifi @0x403FD000 (=12KB) */
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 = 0xfeff0
}
PROVIDE ( _SPIFFS_start = 0x40380000 );
PROVIDE ( _SPIFFS_end = 0x403FB000 );
PROVIDE ( _SPIFFS_page = 0x100 );
PROVIDE ( _SPIFFS_block = 0x2000 );
INCLUDE "eagle.app.v6.common.ld"

View File

@ -1,7 +1,8 @@
/* Flash Split for 4M chips */
/* sketch 1019KB */
/* spiffs 3052KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~1019KB) (1044464B) */
/* eeprom @0x405FB000 (=4KB) */
/* rfcal @0x405FC000 (=4KB) */
/* wifi @0x405FD000 (=12KB) */
MEMORY
{
@ -11,9 +12,5 @@ MEMORY
irom0_0_seg : org = 0x40201010, len = 0xfeff0
}
PROVIDE ( _SPIFFS_start = 0x40300000 );
PROVIDE ( _SPIFFS_end = 0x405FB000 );
PROVIDE ( _SPIFFS_page = 0x100 );
PROVIDE ( _SPIFFS_block = 0x2000 );
INCLUDE "eagle.app.v6.common.ld"

View File

@ -1,8 +1,10 @@
/* Flash Split for 4M chips */
/* sketch 1019KB */
/* empty 2048KB */
/* spiffs 1004KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~1019KB) (1044464B) */
/* empty @0x402FEFF0 (~2052KB) (2101264B) */
/* spiffs @0x40500000 (~1004KB) (1028096B) */
/* eeprom @0x405FB000 (=4KB) */
/* rfcal @0x405FC000 (=4KB) */
/* wifi @0x405FD000 (=12KB) */
MEMORY
{

View File

@ -1,8 +1,10 @@
/* Flash Split for 4M chips */
/* sketch 1019KB */
/* empty 1024KB */
/* spiffs 2028KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~1019KB) (1044464B) */
/* empty @0x402FEFF0 (~1028KB) (1052688B) */
/* spiffs @0x40400000 (~2028KB) (2076672B) */
/* eeprom @0x405FB000 (=4KB) */
/* rfcal @0x405FC000 (=4KB) */
/* wifi @0x405FD000 (=12KB) */
MEMORY
{

View File

@ -0,0 +1,22 @@
/* Flash Split for 4M chips */
/* sketch @0x40200000 (~1019KB) (1044464B) */
/* empty @0x402FEFF0 (~4KB) (4112B) */
/* spiffs @0x40300000 (~3052KB) (3125248B) */
/* eeprom @0x405FB000 (=4KB) */
/* rfcal @0x405FC000 (=4KB) */
/* wifi @0x405FD000 (=12KB) */
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 = 0xfeff0
}
PROVIDE ( _SPIFFS_start = 0x40300000 );
PROVIDE ( _SPIFFS_end = 0x405FB000 );
PROVIDE ( _SPIFFS_page = 0x100 );
PROVIDE ( _SPIFFS_block = 0x2000 );
INCLUDE "eagle.app.v6.common.ld"

View File

@ -1,6 +1,8 @@
/* Flash Split for 512K chips */
/* sketch 487KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~487KB) (499696B) */
/* eeprom @0x4027B000 (=4KB) */
/* rfcal @0x4027C000 (=4KB) */
/* wifi @0x4027D000 (=12KB) */
MEMORY
{
@ -10,9 +12,5 @@ MEMORY
irom0_0_seg : org = 0x40201010, len = 0x79ff0
}
PROVIDE ( _SPIFFS_start = 0x4027B000 );
PROVIDE ( _SPIFFS_end = 0x4027B000 );
PROVIDE ( _SPIFFS_page = 0x0 );
PROVIDE ( _SPIFFS_block = 0x0 );
INCLUDE "eagle.app.v6.common.ld"

View File

@ -1,7 +1,10 @@
/* Flash Split for 512K chips */
/* sketch 359KB */
/* spiffs 128KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~359KB) (368624B) */
/* empty @0x40259FF0 (~4KB) (4112B) */
/* spiffs @0x4025B000 (~128KB) (131072B) */
/* eeprom @0x4027B000 (=4KB) */
/* rfcal @0x4027C000 (=4KB) */
/* wifi @0x4027D000 (=12KB) */
MEMORY
{

View File

@ -1,7 +1,10 @@
/* Flash Split for 512K chips */
/* sketch 455KB */
/* spiffs 32KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~455KB) (466928B) */
/* empty @0x40271FF0 (~4KB) (4112B) */
/* spiffs @0x40273000 (~32KB) (32768B) */
/* eeprom @0x4027B000 (=4KB) */
/* rfcal @0x4027C000 (=4KB) */
/* wifi @0x4027D000 (=12KB) */
MEMORY
{

View File

@ -1,7 +1,10 @@
/* Flash Split for 512K chips */
/* sketch 423KB */
/* spiffs 64KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~423KB) (434160B) */
/* empty @0x40269FF0 (~4KB) (4112B) */
/* spiffs @0x4026B000 (~64KB) (65536B) */
/* eeprom @0x4027B000 (=4KB) */
/* rfcal @0x4027C000 (=4KB) */
/* wifi @0x4027D000 (=12KB) */
MEMORY
{

View File

@ -0,0 +1,22 @@
/* Flash Split for 8M chips */
/* sketch @0x40200000 (~1019KB) (1044464B) */
/* empty @0x402FEFF0 (~1028KB) (1052688B) */
/* spiffs @0x40400000 (~6124KB) (6270976B) */
/* eeprom @0x409FB000 (=4KB) */
/* rfcal @0x409FC000 (=4KB) */
/* wifi @0x409FD000 (=12KB) */
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 = 0xfeff0
}
PROVIDE ( _SPIFFS_start = 0x40400000 );
PROVIDE ( _SPIFFS_end = 0x409FB000 );
PROVIDE ( _SPIFFS_page = 0x100 );
PROVIDE ( _SPIFFS_block = 0x2000 );
INCLUDE "eagle.app.v6.common.ld"

View File

@ -1,7 +1,10 @@
/* Flash Split for 8M chips */
/* sketch 1019KB */
/* spiffs 7148KB */
/* eeprom 20KB */
/* sketch @0x40200000 (~1019KB) (1044464B) */
/* empty @0x402FEFF0 (~4KB) (4112B) */
/* spiffs @0x40300000 (~7148KB) (7319552B) */
/* eeprom @0x409FB000 (=4KB) */
/* rfcal @0x409FC000 (=4KB) */
/* wifi @0x409FD000 (=12KB) */
MEMORY
{