1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-19 23:22:16 +03:00

Make exceptions a configurable menu (#5434)

* Make exceptions a configurable menu

Add a menu, Exceptions, which allows exceptions to be disabled for ROM
sensitive scripts.  Default is enabled.

* Update to latest JSON builder
This commit is contained in:
Earle F. Philhower, III 2018-12-04 17:31:40 -08:00 committed by Develo
parent aacc6edf69
commit e44bcfe8e4
6 changed files with 293 additions and 95 deletions

View File

@ -17,6 +17,7 @@ menu.dbg=Debug port
menu.lvl=Debug Level menu.lvl=Debug Level
menu.ip=lwIP Variant menu.ip=lwIP Variant
menu.vt=VTables menu.vt=VTables
menu.exception=Exceptions
menu.led=Builtin Led menu.led=Builtin Led
menu.wipe=Erase Flash menu.wipe=Erase Flash
@ -45,6 +46,12 @@ generic.menu.vt.heap=Heap
generic.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM generic.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
generic.menu.vt.iram=IRAM generic.menu.vt.iram=IRAM
generic.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM generic.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
generic.menu.exception.enabled=Enabled
generic.menu.exception.enabled.build.exception_flags=-fexceptions
generic.menu.exception.enabled.build.stdcpp_lib=-lstdc++
generic.menu.exception.disabled=Disabled
generic.menu.exception.disabled.build.exception_flags=-fno-exceptions
generic.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
generic.menu.ResetMethod.ck=ck generic.menu.ResetMethod.ck=ck
generic.menu.ResetMethod.ck.upload.resetmethod=ck generic.menu.ResetMethod.ck.upload.resetmethod=ck
generic.menu.ResetMethod.nodemcu=nodemcu generic.menu.ResetMethod.nodemcu=nodemcu
@ -475,6 +482,12 @@ esp8285.menu.vt.heap=Heap
esp8285.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM esp8285.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
esp8285.menu.vt.iram=IRAM esp8285.menu.vt.iram=IRAM
esp8285.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM esp8285.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
esp8285.menu.exception.enabled=Enabled
esp8285.menu.exception.enabled.build.exception_flags=-fexceptions
esp8285.menu.exception.enabled.build.stdcpp_lib=-lstdc++
esp8285.menu.exception.disabled=Disabled
esp8285.menu.exception.disabled.build.exception_flags=-fno-exceptions
esp8285.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
esp8285.menu.ResetMethod.ck=ck esp8285.menu.ResetMethod.ck=ck
esp8285.menu.ResetMethod.ck.upload.resetmethod=ck esp8285.menu.ResetMethod.ck.upload.resetmethod=ck
esp8285.menu.ResetMethod.nodemcu=nodemcu esp8285.menu.ResetMethod.nodemcu=nodemcu
@ -743,6 +756,12 @@ espduino.menu.vt.heap=Heap
espduino.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM espduino.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
espduino.menu.vt.iram=IRAM espduino.menu.vt.iram=IRAM
espduino.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM espduino.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
espduino.menu.exception.enabled=Enabled
espduino.menu.exception.enabled.build.exception_flags=-fexceptions
espduino.menu.exception.enabled.build.stdcpp_lib=-lstdc++
espduino.menu.exception.disabled=Disabled
espduino.menu.exception.disabled.build.exception_flags=-fno-exceptions
espduino.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
espduino.build.flash_mode=dio espduino.build.flash_mode=dio
espduino.build.flash_freq=40 espduino.build.flash_freq=40
espduino.menu.eesz.4M=4M (no SPIFFS) espduino.menu.eesz.4M=4M (no SPIFFS)
@ -919,6 +938,12 @@ huzzah.menu.vt.heap=Heap
huzzah.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM huzzah.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
huzzah.menu.vt.iram=IRAM huzzah.menu.vt.iram=IRAM
huzzah.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM huzzah.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
huzzah.menu.exception.enabled=Enabled
huzzah.menu.exception.enabled.build.exception_flags=-fexceptions
huzzah.menu.exception.enabled.build.stdcpp_lib=-lstdc++
huzzah.menu.exception.disabled=Disabled
huzzah.menu.exception.disabled.build.exception_flags=-fno-exceptions
huzzah.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
huzzah.upload.resetmethod=nodemcu huzzah.upload.resetmethod=nodemcu
huzzah.build.flash_mode=qio huzzah.build.flash_mode=qio
huzzah.build.flash_freq=40 huzzah.build.flash_freq=40
@ -1096,6 +1121,12 @@ inventone.menu.vt.heap=Heap
inventone.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM inventone.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
inventone.menu.vt.iram=IRAM inventone.menu.vt.iram=IRAM
inventone.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM inventone.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
inventone.menu.exception.enabled=Enabled
inventone.menu.exception.enabled.build.exception_flags=-fexceptions
inventone.menu.exception.enabled.build.stdcpp_lib=-lstdc++
inventone.menu.exception.disabled=Disabled
inventone.menu.exception.disabled.build.exception_flags=-fno-exceptions
inventone.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
inventone.upload.resetmethod=nodemcu inventone.upload.resetmethod=nodemcu
inventone.build.flash_mode=dio inventone.build.flash_mode=dio
inventone.build.flash_freq=40 inventone.build.flash_freq=40
@ -1273,6 +1304,12 @@ cw01.menu.vt.heap=Heap
cw01.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM cw01.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
cw01.menu.vt.iram=IRAM cw01.menu.vt.iram=IRAM
cw01.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM cw01.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
cw01.menu.exception.enabled=Enabled
cw01.menu.exception.enabled.build.exception_flags=-fexceptions
cw01.menu.exception.enabled.build.stdcpp_lib=-lstdc++
cw01.menu.exception.disabled=Disabled
cw01.menu.exception.disabled.build.exception_flags=-fno-exceptions
cw01.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
cw01.upload.resetmethod=nodemcu cw01.upload.resetmethod=nodemcu
cw01.menu.CrystalFreq.26=26 MHz cw01.menu.CrystalFreq.26=26 MHz
cw01.menu.CrystalFreq.40=40 MHz cw01.menu.CrystalFreq.40=40 MHz
@ -1453,6 +1490,12 @@ espresso_lite_v1.menu.vt.heap=Heap
espresso_lite_v1.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM espresso_lite_v1.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
espresso_lite_v1.menu.vt.iram=IRAM espresso_lite_v1.menu.vt.iram=IRAM
espresso_lite_v1.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM espresso_lite_v1.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
espresso_lite_v1.menu.exception.enabled=Enabled
espresso_lite_v1.menu.exception.enabled.build.exception_flags=-fexceptions
espresso_lite_v1.menu.exception.enabled.build.stdcpp_lib=-lstdc++
espresso_lite_v1.menu.exception.disabled=Disabled
espresso_lite_v1.menu.exception.disabled.build.exception_flags=-fno-exceptions
espresso_lite_v1.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
espresso_lite_v1.build.flash_mode=dio espresso_lite_v1.build.flash_mode=dio
espresso_lite_v1.build.flash_freq=40 espresso_lite_v1.build.flash_freq=40
espresso_lite_v1.menu.eesz.4M=4M (no SPIFFS) espresso_lite_v1.menu.eesz.4M=4M (no SPIFFS)
@ -1633,6 +1676,12 @@ espresso_lite_v2.menu.vt.heap=Heap
espresso_lite_v2.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM espresso_lite_v2.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
espresso_lite_v2.menu.vt.iram=IRAM espresso_lite_v2.menu.vt.iram=IRAM
espresso_lite_v2.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM espresso_lite_v2.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
espresso_lite_v2.menu.exception.enabled=Enabled
espresso_lite_v2.menu.exception.enabled.build.exception_flags=-fexceptions
espresso_lite_v2.menu.exception.enabled.build.stdcpp_lib=-lstdc++
espresso_lite_v2.menu.exception.disabled=Disabled
espresso_lite_v2.menu.exception.disabled.build.exception_flags=-fno-exceptions
espresso_lite_v2.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
espresso_lite_v2.build.flash_mode=dio espresso_lite_v2.build.flash_mode=dio
espresso_lite_v2.build.flash_freq=40 espresso_lite_v2.build.flash_freq=40
espresso_lite_v2.menu.eesz.4M=4M (no SPIFFS) espresso_lite_v2.menu.eesz.4M=4M (no SPIFFS)
@ -1813,6 +1862,12 @@ phoenix_v1.menu.vt.heap=Heap
phoenix_v1.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM phoenix_v1.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
phoenix_v1.menu.vt.iram=IRAM phoenix_v1.menu.vt.iram=IRAM
phoenix_v1.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM phoenix_v1.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
phoenix_v1.menu.exception.enabled=Enabled
phoenix_v1.menu.exception.enabled.build.exception_flags=-fexceptions
phoenix_v1.menu.exception.enabled.build.stdcpp_lib=-lstdc++
phoenix_v1.menu.exception.disabled=Disabled
phoenix_v1.menu.exception.disabled.build.exception_flags=-fno-exceptions
phoenix_v1.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
phoenix_v1.build.flash_mode=dio phoenix_v1.build.flash_mode=dio
phoenix_v1.build.flash_freq=40 phoenix_v1.build.flash_freq=40
phoenix_v1.menu.eesz.4M=4M (no SPIFFS) phoenix_v1.menu.eesz.4M=4M (no SPIFFS)
@ -1993,6 +2048,12 @@ phoenix_v2.menu.vt.heap=Heap
phoenix_v2.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM phoenix_v2.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
phoenix_v2.menu.vt.iram=IRAM phoenix_v2.menu.vt.iram=IRAM
phoenix_v2.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM phoenix_v2.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
phoenix_v2.menu.exception.enabled=Enabled
phoenix_v2.menu.exception.enabled.build.exception_flags=-fexceptions
phoenix_v2.menu.exception.enabled.build.stdcpp_lib=-lstdc++
phoenix_v2.menu.exception.disabled=Disabled
phoenix_v2.menu.exception.disabled.build.exception_flags=-fno-exceptions
phoenix_v2.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
phoenix_v2.build.flash_mode=dio phoenix_v2.build.flash_mode=dio
phoenix_v2.build.flash_freq=40 phoenix_v2.build.flash_freq=40
phoenix_v2.menu.eesz.4M=4M (no SPIFFS) phoenix_v2.menu.eesz.4M=4M (no SPIFFS)
@ -2173,6 +2234,12 @@ nodemcu.menu.vt.heap=Heap
nodemcu.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM nodemcu.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
nodemcu.menu.vt.iram=IRAM nodemcu.menu.vt.iram=IRAM
nodemcu.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM nodemcu.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
nodemcu.menu.exception.enabled=Enabled
nodemcu.menu.exception.enabled.build.exception_flags=-fexceptions
nodemcu.menu.exception.enabled.build.stdcpp_lib=-lstdc++
nodemcu.menu.exception.disabled=Disabled
nodemcu.menu.exception.disabled.build.exception_flags=-fno-exceptions
nodemcu.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
nodemcu.upload.resetmethod=nodemcu nodemcu.upload.resetmethod=nodemcu
nodemcu.build.flash_mode=qio nodemcu.build.flash_mode=qio
nodemcu.build.flash_freq=40 nodemcu.build.flash_freq=40
@ -2350,6 +2417,12 @@ nodemcuv2.menu.vt.heap=Heap
nodemcuv2.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM nodemcuv2.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
nodemcuv2.menu.vt.iram=IRAM nodemcuv2.menu.vt.iram=IRAM
nodemcuv2.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM nodemcuv2.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
nodemcuv2.menu.exception.enabled=Enabled
nodemcuv2.menu.exception.enabled.build.exception_flags=-fexceptions
nodemcuv2.menu.exception.enabled.build.stdcpp_lib=-lstdc++
nodemcuv2.menu.exception.disabled=Disabled
nodemcuv2.menu.exception.disabled.build.exception_flags=-fno-exceptions
nodemcuv2.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
nodemcuv2.upload.resetmethod=nodemcu nodemcuv2.upload.resetmethod=nodemcu
nodemcuv2.build.flash_mode=dio nodemcuv2.build.flash_mode=dio
nodemcuv2.build.flash_freq=40 nodemcuv2.build.flash_freq=40
@ -2527,6 +2600,12 @@ modwifi.menu.vt.heap=Heap
modwifi.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM modwifi.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
modwifi.menu.vt.iram=IRAM modwifi.menu.vt.iram=IRAM
modwifi.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM modwifi.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
modwifi.menu.exception.enabled=Enabled
modwifi.menu.exception.enabled.build.exception_flags=-fexceptions
modwifi.menu.exception.enabled.build.stdcpp_lib=-lstdc++
modwifi.menu.exception.disabled=Disabled
modwifi.menu.exception.disabled.build.exception_flags=-fno-exceptions
modwifi.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
modwifi.upload.resetmethod=ck modwifi.upload.resetmethod=ck
modwifi.build.flash_mode=qio modwifi.build.flash_mode=qio
modwifi.build.flash_freq=40 modwifi.build.flash_freq=40
@ -2714,6 +2793,12 @@ thing.menu.vt.heap=Heap
thing.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM thing.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
thing.menu.vt.iram=IRAM thing.menu.vt.iram=IRAM
thing.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM thing.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
thing.menu.exception.enabled=Enabled
thing.menu.exception.enabled.build.exception_flags=-fexceptions
thing.menu.exception.enabled.build.stdcpp_lib=-lstdc++
thing.menu.exception.disabled=Disabled
thing.menu.exception.disabled.build.exception_flags=-fno-exceptions
thing.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
thing.upload.resetmethod=ck thing.upload.resetmethod=ck
thing.build.flash_mode=qio thing.build.flash_mode=qio
thing.build.flash_freq=40 thing.build.flash_freq=40
@ -2891,6 +2976,12 @@ thingdev.menu.vt.heap=Heap
thingdev.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM thingdev.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
thingdev.menu.vt.iram=IRAM thingdev.menu.vt.iram=IRAM
thingdev.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM thingdev.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
thingdev.menu.exception.enabled=Enabled
thingdev.menu.exception.enabled.build.exception_flags=-fexceptions
thingdev.menu.exception.enabled.build.stdcpp_lib=-lstdc++
thingdev.menu.exception.disabled=Disabled
thingdev.menu.exception.disabled.build.exception_flags=-fno-exceptions
thingdev.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
thingdev.upload.resetmethod=nodemcu thingdev.upload.resetmethod=nodemcu
thingdev.build.flash_mode=dio thingdev.build.flash_mode=dio
thingdev.build.flash_freq=40 thingdev.build.flash_freq=40
@ -3068,6 +3159,12 @@ esp210.menu.vt.heap=Heap
esp210.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM esp210.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
esp210.menu.vt.iram=IRAM esp210.menu.vt.iram=IRAM
esp210.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM esp210.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
esp210.menu.exception.enabled=Enabled
esp210.menu.exception.enabled.build.exception_flags=-fexceptions
esp210.menu.exception.enabled.build.stdcpp_lib=-lstdc++
esp210.menu.exception.disabled=Disabled
esp210.menu.exception.disabled.build.exception_flags=-fno-exceptions
esp210.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
esp210.upload.resetmethod=ck esp210.upload.resetmethod=ck
esp210.build.flash_mode=qio esp210.build.flash_mode=qio
esp210.build.flash_freq=40 esp210.build.flash_freq=40
@ -3245,6 +3342,12 @@ d1_mini.menu.vt.heap=Heap
d1_mini.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM d1_mini.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
d1_mini.menu.vt.iram=IRAM d1_mini.menu.vt.iram=IRAM
d1_mini.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM d1_mini.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
d1_mini.menu.exception.enabled=Enabled
d1_mini.menu.exception.enabled.build.exception_flags=-fexceptions
d1_mini.menu.exception.enabled.build.stdcpp_lib=-lstdc++
d1_mini.menu.exception.disabled=Disabled
d1_mini.menu.exception.disabled.build.exception_flags=-fno-exceptions
d1_mini.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
d1_mini.upload.resetmethod=nodemcu d1_mini.upload.resetmethod=nodemcu
d1_mini.build.flash_mode=dio d1_mini.build.flash_mode=dio
d1_mini.build.flash_freq=40 d1_mini.build.flash_freq=40
@ -3422,6 +3525,12 @@ d1_mini_pro.menu.vt.heap=Heap
d1_mini_pro.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM d1_mini_pro.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
d1_mini_pro.menu.vt.iram=IRAM d1_mini_pro.menu.vt.iram=IRAM
d1_mini_pro.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM d1_mini_pro.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
d1_mini_pro.menu.exception.enabled=Enabled
d1_mini_pro.menu.exception.enabled.build.exception_flags=-fexceptions
d1_mini_pro.menu.exception.enabled.build.stdcpp_lib=-lstdc++
d1_mini_pro.menu.exception.disabled=Disabled
d1_mini_pro.menu.exception.disabled.build.exception_flags=-fno-exceptions
d1_mini_pro.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
d1_mini_pro.upload.resetmethod=nodemcu d1_mini_pro.upload.resetmethod=nodemcu
d1_mini_pro.build.flash_mode=dio d1_mini_pro.build.flash_mode=dio
d1_mini_pro.build.flash_freq=40 d1_mini_pro.build.flash_freq=40
@ -3582,6 +3691,12 @@ d1_mini_lite.menu.vt.heap=Heap
d1_mini_lite.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM d1_mini_lite.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
d1_mini_lite.menu.vt.iram=IRAM d1_mini_lite.menu.vt.iram=IRAM
d1_mini_lite.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM d1_mini_lite.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
d1_mini_lite.menu.exception.enabled=Enabled
d1_mini_lite.menu.exception.enabled.build.exception_flags=-fexceptions
d1_mini_lite.menu.exception.enabled.build.stdcpp_lib=-lstdc++
d1_mini_lite.menu.exception.disabled=Disabled
d1_mini_lite.menu.exception.disabled.build.exception_flags=-fno-exceptions
d1_mini_lite.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
d1_mini_lite.upload.resetmethod=nodemcu d1_mini_lite.upload.resetmethod=nodemcu
d1_mini_lite.build.flash_mode=dout d1_mini_lite.build.flash_mode=dout
d1_mini_lite.build.flash_freq=40 d1_mini_lite.build.flash_freq=40
@ -3799,6 +3914,12 @@ d1.menu.vt.heap=Heap
d1.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM d1.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
d1.menu.vt.iram=IRAM d1.menu.vt.iram=IRAM
d1.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM d1.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
d1.menu.exception.enabled=Enabled
d1.menu.exception.enabled.build.exception_flags=-fexceptions
d1.menu.exception.enabled.build.stdcpp_lib=-lstdc++
d1.menu.exception.disabled=Disabled
d1.menu.exception.disabled.build.exception_flags=-fno-exceptions
d1.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
d1.upload.resetmethod=nodemcu d1.upload.resetmethod=nodemcu
d1.build.flash_mode=dio d1.build.flash_mode=dio
d1.build.flash_freq=40 d1.build.flash_freq=40
@ -3976,6 +4097,12 @@ espino.menu.vt.heap=Heap
espino.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM espino.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
espino.menu.vt.iram=IRAM espino.menu.vt.iram=IRAM
espino.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM espino.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
espino.menu.exception.enabled=Enabled
espino.menu.exception.enabled.build.exception_flags=-fexceptions
espino.menu.exception.enabled.build.stdcpp_lib=-lstdc++
espino.menu.exception.disabled=Disabled
espino.menu.exception.disabled.build.exception_flags=-fno-exceptions
espino.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
espino.menu.ResetMethod.ck=ck espino.menu.ResetMethod.ck=ck
espino.menu.ResetMethod.ck.upload.resetmethod=ck espino.menu.ResetMethod.ck.upload.resetmethod=ck
espino.menu.ResetMethod.nodemcu=nodemcu espino.menu.ResetMethod.nodemcu=nodemcu
@ -4156,6 +4283,12 @@ espinotee.menu.vt.heap=Heap
espinotee.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM espinotee.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
espinotee.menu.vt.iram=IRAM espinotee.menu.vt.iram=IRAM
espinotee.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM espinotee.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
espinotee.menu.exception.enabled=Enabled
espinotee.menu.exception.enabled.build.exception_flags=-fexceptions
espinotee.menu.exception.enabled.build.stdcpp_lib=-lstdc++
espinotee.menu.exception.disabled=Disabled
espinotee.menu.exception.disabled.build.exception_flags=-fno-exceptions
espinotee.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
espinotee.upload.resetmethod=nodemcu espinotee.upload.resetmethod=nodemcu
espinotee.build.flash_mode=qio espinotee.build.flash_mode=qio
espinotee.build.flash_freq=40 espinotee.build.flash_freq=40
@ -4350,6 +4483,12 @@ wifinfo.menu.vt.heap=Heap
wifinfo.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM wifinfo.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
wifinfo.menu.vt.iram=IRAM wifinfo.menu.vt.iram=IRAM
wifinfo.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM wifinfo.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
wifinfo.menu.exception.enabled=Enabled
wifinfo.menu.exception.enabled.build.exception_flags=-fexceptions
wifinfo.menu.exception.enabled.build.stdcpp_lib=-lstdc++
wifinfo.menu.exception.disabled=Disabled
wifinfo.menu.exception.disabled.build.exception_flags=-fno-exceptions
wifinfo.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
wifinfo.upload.resetmethod=nodemcu wifinfo.upload.resetmethod=nodemcu
wifinfo.build.flash_mode=qio wifinfo.build.flash_mode=qio
wifinfo.menu.FlashFreq.40=40MHz wifinfo.menu.FlashFreq.40=40MHz
@ -4582,6 +4721,12 @@ arduino-esp8266.menu.vt.heap=Heap
arduino-esp8266.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM arduino-esp8266.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
arduino-esp8266.menu.vt.iram=IRAM arduino-esp8266.menu.vt.iram=IRAM
arduino-esp8266.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM arduino-esp8266.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
arduino-esp8266.menu.exception.enabled=Enabled
arduino-esp8266.menu.exception.enabled.build.exception_flags=-fexceptions
arduino-esp8266.menu.exception.enabled.build.stdcpp_lib=-lstdc++
arduino-esp8266.menu.exception.disabled=Disabled
arduino-esp8266.menu.exception.disabled.build.exception_flags=-fno-exceptions
arduino-esp8266.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
arduino-esp8266.upload.resetmethod=ck arduino-esp8266.upload.resetmethod=ck
arduino-esp8266.build.flash_mode=qio arduino-esp8266.build.flash_mode=qio
arduino-esp8266.build.flash_freq=40 arduino-esp8266.build.flash_freq=40
@ -4760,6 +4905,12 @@ gen4iod.menu.vt.heap=Heap
gen4iod.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM gen4iod.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
gen4iod.menu.vt.iram=IRAM gen4iod.menu.vt.iram=IRAM
gen4iod.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM gen4iod.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
gen4iod.menu.exception.enabled=Enabled
gen4iod.menu.exception.enabled.build.exception_flags=-fexceptions
gen4iod.menu.exception.enabled.build.stdcpp_lib=-lstdc++
gen4iod.menu.exception.disabled=Disabled
gen4iod.menu.exception.disabled.build.exception_flags=-fno-exceptions
gen4iod.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
gen4iod.upload.resetmethod=nodemcu gen4iod.upload.resetmethod=nodemcu
gen4iod.build.flash_mode=dio gen4iod.build.flash_mode=dio
gen4iod.build.flash_freq=80 gen4iod.build.flash_freq=80
@ -4938,6 +5089,12 @@ oak.menu.vt.heap=Heap
oak.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM oak.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
oak.menu.vt.iram=IRAM oak.menu.vt.iram=IRAM
oak.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM oak.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
oak.menu.exception.enabled=Enabled
oak.menu.exception.enabled.build.exception_flags=-fexceptions
oak.menu.exception.enabled.build.stdcpp_lib=-lstdc++
oak.menu.exception.disabled=Disabled
oak.menu.exception.disabled.build.exception_flags=-fno-exceptions
oak.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
oak.upload.resetmethod=none oak.upload.resetmethod=none
oak.build.flash_mode=dio oak.build.flash_mode=dio
oak.build.flash_freq=40 oak.build.flash_freq=40
@ -5115,6 +5272,12 @@ wifiduino.menu.vt.heap=Heap
wifiduino.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM wifiduino.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
wifiduino.menu.vt.iram=IRAM wifiduino.menu.vt.iram=IRAM
wifiduino.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM wifiduino.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
wifiduino.menu.exception.enabled=Enabled
wifiduino.menu.exception.enabled.build.exception_flags=-fexceptions
wifiduino.menu.exception.enabled.build.stdcpp_lib=-lstdc++
wifiduino.menu.exception.disabled=Disabled
wifiduino.menu.exception.disabled.build.exception_flags=-fno-exceptions
wifiduino.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
wifiduino.upload.resetmethod=nodemcu wifiduino.upload.resetmethod=nodemcu
wifiduino.build.flash_mode=dio wifiduino.build.flash_mode=dio
wifiduino.build.flash_freq=40 wifiduino.build.flash_freq=40
@ -5292,6 +5455,12 @@ wifi_slot.menu.vt.heap=Heap
wifi_slot.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM wifi_slot.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
wifi_slot.menu.vt.iram=IRAM wifi_slot.menu.vt.iram=IRAM
wifi_slot.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM wifi_slot.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
wifi_slot.menu.exception.enabled=Enabled
wifi_slot.menu.exception.enabled.build.exception_flags=-fexceptions
wifi_slot.menu.exception.enabled.build.stdcpp_lib=-lstdc++
wifi_slot.menu.exception.disabled=Disabled
wifi_slot.menu.exception.disabled.build.exception_flags=-fno-exceptions
wifi_slot.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
wifi_slot.upload.resetmethod=nodemcu wifi_slot.upload.resetmethod=nodemcu
wifi_slot.menu.FlashFreq.40=40MHz wifi_slot.menu.FlashFreq.40=40MHz
wifi_slot.menu.FlashFreq.40.build.flash_freq=40 wifi_slot.menu.FlashFreq.40.build.flash_freq=40
@ -5566,6 +5735,12 @@ wiolink.menu.vt.heap=Heap
wiolink.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM wiolink.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
wiolink.menu.vt.iram=IRAM wiolink.menu.vt.iram=IRAM
wiolink.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM wiolink.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
wiolink.menu.exception.enabled=Enabled
wiolink.menu.exception.enabled.build.exception_flags=-fexceptions
wiolink.menu.exception.enabled.build.stdcpp_lib=-lstdc++
wiolink.menu.exception.disabled=Disabled
wiolink.menu.exception.disabled.build.exception_flags=-fno-exceptions
wiolink.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
wiolink.upload.resetmethod=nodemcu wiolink.upload.resetmethod=nodemcu
wiolink.build.flash_mode=qio wiolink.build.flash_mode=qio
wiolink.build.flash_freq=40 wiolink.build.flash_freq=40
@ -5743,6 +5918,12 @@ espectro.menu.vt.heap=Heap
espectro.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM espectro.menu.vt.heap.build.vtable_flags=-DVTABLES_IN_DRAM
espectro.menu.vt.iram=IRAM espectro.menu.vt.iram=IRAM
espectro.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM espectro.menu.vt.iram.build.vtable_flags=-DVTABLES_IN_IRAM
espectro.menu.exception.enabled=Enabled
espectro.menu.exception.enabled.build.exception_flags=-fexceptions
espectro.menu.exception.enabled.build.stdcpp_lib=-lstdc++
espectro.menu.exception.disabled=Disabled
espectro.menu.exception.disabled.build.exception_flags=-fno-exceptions
espectro.menu.exception.disabled.build.stdcpp_lib=-lstdc++-nox
espectro.upload.resetmethod=nodemcu espectro.upload.resetmethod=nodemcu
espectro.build.flash_mode=dio espectro.build.flash_mode=dio
espectro.build.flash_freq=40 espectro.build.flash_freq=40

View File

@ -155,6 +155,9 @@ extern void __unhandled_exception(const char *str);
static void __unhandled_exception_cpp() static void __unhandled_exception_cpp()
{ {
#ifndef __EXCEPTIONS
abort();
#else
static bool terminating; static bool terminating;
if (terminating) if (terminating)
abort(); abort();
@ -167,6 +170,7 @@ static void __unhandled_exception_cpp()
} catch (...) { } catch (...) {
__unhandled_exception( "" ); __unhandled_exception( "" );
} }
#endif
} }
} }

View File

@ -24,6 +24,9 @@ build.lwip_flags=-DLWIP_OPEN_SRC
build.vtable_flags=-DVTABLES_IN_FLASH build.vtable_flags=-DVTABLES_IN_FLASH
build.exception_flags=-fexceptions
build.stdcpp_lib=-lstdc++
build.float=-u _printf_float -u _scanf_float build.float=-u _printf_float -u _scanf_float
build.led= build.led=
@ -33,7 +36,7 @@ compiler.libc.path={runtime.platform.path}/tools/sdk/libc/xtensa-lx106-elf
compiler.cpreprocessor.flags=-D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I{compiler.sdk.path}/include" "-I{compiler.sdk.path}/{build.lwip_include}" "-I{compiler.libc.path}/include" "-I{build.path}/core" compiler.cpreprocessor.flags=-D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I{compiler.sdk.path}/include" "-I{compiler.sdk.path}/{build.lwip_include}" "-I{compiler.libc.path}/include" "-I{build.path}/core"
compiler.c.cmd=xtensa-lx106-elf-gcc compiler.c.cmd=xtensa-lx106-elf-gcc
compiler.c.flags=-c {compiler.warning_flags} -Os -g -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -std=gnu99 -ffunction-sections -fdata-sections compiler.c.flags=-c {compiler.warning_flags} -Os -g -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -std=gnu99 {build.exception_flags} -ffunction-sections -fdata-sections {build.exception_flags}
compiler.S.cmd=xtensa-lx106-elf-gcc compiler.S.cmd=xtensa-lx106-elf-gcc
compiler.S.flags=-c -g -x assembler-with-cpp -MMD -mlongcalls compiler.S.flags=-c -g -x assembler-with-cpp -MMD -mlongcalls
@ -41,10 +44,10 @@ compiler.S.flags=-c -g -x assembler-with-cpp -MMD -mlongcalls
compiler.c.elf.flags=-g {compiler.warning_flags} -Os -nostdlib -Wl,--no-check-sections -u app_entry {build.float} -Wl,-static "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" "-L{compiler.libc.path}/lib" "-T{build.flash_ld}" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read compiler.c.elf.flags=-g {compiler.warning_flags} -Os -nostdlib -Wl,--no-check-sections -u app_entry {build.float} -Wl,-static "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" "-L{compiler.libc.path}/lib" "-T{build.flash_ld}" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read
compiler.c.elf.cmd=xtensa-lx106-elf-gcc compiler.c.elf.cmd=xtensa-lx106-elf-gcc
compiler.c.elf.libs=-lhal -lphy -lpp -lnet80211 {build.lwip_lib} -lwpa -lcrypto -lmain -lwps -lbearssl -laxtls -lespnow -lsmartconfig -lairkiss -lwpa2 -lstdc++ -lm -lc -lgcc compiler.c.elf.libs=-lhal -lphy -lpp -lnet80211 {build.lwip_lib} -lwpa -lcrypto -lmain -lwps -lbearssl -laxtls -lespnow -lsmartconfig -lairkiss -lwpa2 {build.stdcpp_lib} -lm -lc -lgcc
compiler.cpp.cmd=xtensa-lx106-elf-g++ compiler.cpp.cmd=xtensa-lx106-elf-g++
compiler.cpp.flags=-c {compiler.warning_flags} -Os -g -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections compiler.cpp.flags=-c {compiler.warning_flags} -Os -g -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections {build.exception_flags}
compiler.as.cmd=xtensa-lx106-elf-as compiler.as.cmd=xtensa-lx106-elf-as

View File

@ -880,6 +880,15 @@ macros = {
( '.menu.vt.iram.build.vtable_flags', '-DVTABLES_IN_IRAM'), ( '.menu.vt.iram.build.vtable_flags', '-DVTABLES_IN_IRAM'),
]), ]),
'exception_menu': collections.OrderedDict([
( '.menu.exception.enabled', 'Enabled' ),
( '.menu.exception.enabled.build.exception_flags', '-fexceptions' ),
( '.menu.exception.enabled.build.stdcpp_lib', '-lstdc++' ),
( '.menu.exception.disabled', 'Disabled' ),
( '.menu.exception.disabled.build.exception_flags', '-fno-exceptions' ),
( '.menu.exception.disabled.build.stdcpp_lib', '-lstdc++-nox' ),
]),
'crystalfreq_menu': collections.OrderedDict([ 'crystalfreq_menu': collections.OrderedDict([
( '.menu.CrystalFreq.26', '26 MHz' ), ( '.menu.CrystalFreq.26', '26 MHz' ),
( '.menu.CrystalFreq.40', '40 MHz' ), ( '.menu.CrystalFreq.40', '40 MHz' ),
@ -1346,6 +1355,7 @@ def all_boards ():
print('menu.lvl=Debug Level') print('menu.lvl=Debug Level')
print('menu.ip=lwIP Variant') print('menu.ip=lwIP Variant')
print('menu.vt=VTables') print('menu.vt=VTables')
print('menu.exception=Exceptions')
print('menu.led=Builtin Led') print('menu.led=Builtin Led')
print('menu.wipe=Erase Flash') print('menu.wipe=Erase Flash')
print('') print('')
@ -1361,7 +1371,7 @@ def all_boards ():
print(id + optname + '=' + board['opts'][optname]) print(id + optname + '=' + board['opts'][optname])
# macros # macros
macrolist = [ 'defaults', 'cpufreq_menu', 'vtable_menu' ] macrolist = [ 'defaults', 'cpufreq_menu', 'vtable_menu', 'exception_menu' ]
if 'macro' in board: if 'macro' in board:
macrolist += board['macro'] macrolist += board['macro']
if lwip == 2: if lwip == 2:

Binary file not shown.