Skip to content

Commit e6184b1

Browse files
Add VTable menu, FLASH as default, remove Makefile
Convert from manual "make" operated app.ld creation to runtime creation whose options are selected from the build menu. Use a prelink recipe to create the output app.ld file each run, without need for any special tools. Update the boards.txt.py script to generate this new config.
1 parent 521f994 commit e6184b1

File tree

5 files changed

+167
-51
lines changed

5 files changed

+167
-51
lines changed

boards.txt

+151
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ menu.ESPModule=Module
1414
menu.Debug=Debug port
1515
menu.DebugLevel=Debug Level
1616
menu.LwIPVariant=lwIP Variant
17+
menu.VTable=VTables
1718
menu.led=Builtin Led
1819
menu.FlashErase=Erase Flash
1920

@@ -36,6 +37,12 @@ generic.menu.CpuFrequency.80=80 MHz
3637
generic.menu.CpuFrequency.80.build.f_cpu=80000000L
3738
generic.menu.CpuFrequency.160=160 MHz
3839
generic.menu.CpuFrequency.160.build.f_cpu=160000000L
40+
generic.menu.VTable.flash=Flash
41+
generic.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
42+
generic.menu.VTable.heap=Heap
43+
generic.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
44+
generic.menu.VTable.iram=IRAM
45+
generic.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
3946
generic.menu.ResetMethod.ck=ck
4047
generic.menu.ResetMethod.ck.upload.resetmethod=ck
4148
generic.menu.ResetMethod.nodemcu=nodemcu
@@ -370,6 +377,12 @@ esp8285.menu.CpuFrequency.80=80 MHz
370377
esp8285.menu.CpuFrequency.80.build.f_cpu=80000000L
371378
esp8285.menu.CpuFrequency.160=160 MHz
372379
esp8285.menu.CpuFrequency.160.build.f_cpu=160000000L
380+
esp8285.menu.VTable.flash=Flash
381+
esp8285.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
382+
esp8285.menu.VTable.heap=Heap
383+
esp8285.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
384+
esp8285.menu.VTable.iram=IRAM
385+
esp8285.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
373386
esp8285.menu.ResetMethod.ck=ck
374387
esp8285.menu.ResetMethod.ck.upload.resetmethod=ck
375388
esp8285.menu.ResetMethod.nodemcu=nodemcu
@@ -616,6 +629,12 @@ espduino.menu.CpuFrequency.80=80 MHz
616629
espduino.menu.CpuFrequency.80.build.f_cpu=80000000L
617630
espduino.menu.CpuFrequency.160=160 MHz
618631
espduino.menu.CpuFrequency.160.build.f_cpu=160000000L
632+
espduino.menu.VTable.flash=Flash
633+
espduino.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
634+
espduino.menu.VTable.heap=Heap
635+
espduino.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
636+
espduino.menu.VTable.iram=IRAM
637+
espduino.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
619638
espduino.build.flash_mode=dio
620639
espduino.build.flash_freq=40
621640
espduino.menu.FlashSize.4M1M=4M (1M SPIFFS)
@@ -763,6 +782,12 @@ huzzah.menu.CpuFrequency.80=80 MHz
763782
huzzah.menu.CpuFrequency.80.build.f_cpu=80000000L
764783
huzzah.menu.CpuFrequency.160=160 MHz
765784
huzzah.menu.CpuFrequency.160.build.f_cpu=160000000L
785+
huzzah.menu.VTable.flash=Flash
786+
huzzah.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
787+
huzzah.menu.VTable.heap=Heap
788+
huzzah.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
789+
huzzah.menu.VTable.iram=IRAM
790+
huzzah.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
766791
huzzah.upload.resetmethod=nodemcu
767792
huzzah.build.flash_mode=qio
768793
huzzah.build.flash_freq=40
@@ -911,6 +936,12 @@ espresso_lite_v1.menu.CpuFrequency.80=80 MHz
911936
espresso_lite_v1.menu.CpuFrequency.80.build.f_cpu=80000000L
912937
espresso_lite_v1.menu.CpuFrequency.160=160 MHz
913938
espresso_lite_v1.menu.CpuFrequency.160.build.f_cpu=160000000L
939+
espresso_lite_v1.menu.VTable.flash=Flash
940+
espresso_lite_v1.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
941+
espresso_lite_v1.menu.VTable.heap=Heap
942+
espresso_lite_v1.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
943+
espresso_lite_v1.menu.VTable.iram=IRAM
944+
espresso_lite_v1.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
914945
espresso_lite_v1.build.flash_mode=dio
915946
espresso_lite_v1.build.flash_freq=40
916947
espresso_lite_v1.menu.FlashSize.4M1M=4M (1M SPIFFS)
@@ -1062,6 +1093,12 @@ espresso_lite_v2.menu.CpuFrequency.80=80 MHz
10621093
espresso_lite_v2.menu.CpuFrequency.80.build.f_cpu=80000000L
10631094
espresso_lite_v2.menu.CpuFrequency.160=160 MHz
10641095
espresso_lite_v2.menu.CpuFrequency.160.build.f_cpu=160000000L
1096+
espresso_lite_v2.menu.VTable.flash=Flash
1097+
espresso_lite_v2.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
1098+
espresso_lite_v2.menu.VTable.heap=Heap
1099+
espresso_lite_v2.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
1100+
espresso_lite_v2.menu.VTable.iram=IRAM
1101+
espresso_lite_v2.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
10651102
espresso_lite_v2.build.flash_mode=dio
10661103
espresso_lite_v2.build.flash_freq=40
10671104
espresso_lite_v2.menu.FlashSize.4M1M=4M (1M SPIFFS)
@@ -1213,6 +1250,12 @@ phoenix_v1.menu.CpuFrequency.80=80 MHz
12131250
phoenix_v1.menu.CpuFrequency.80.build.f_cpu=80000000L
12141251
phoenix_v1.menu.CpuFrequency.160=160 MHz
12151252
phoenix_v1.menu.CpuFrequency.160.build.f_cpu=160000000L
1253+
phoenix_v1.menu.VTable.flash=Flash
1254+
phoenix_v1.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
1255+
phoenix_v1.menu.VTable.heap=Heap
1256+
phoenix_v1.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
1257+
phoenix_v1.menu.VTable.iram=IRAM
1258+
phoenix_v1.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
12161259
phoenix_v1.build.flash_mode=dio
12171260
phoenix_v1.build.flash_freq=40
12181261
phoenix_v1.menu.FlashSize.4M1M=4M (1M SPIFFS)
@@ -1364,6 +1407,12 @@ phoenix_v2.menu.CpuFrequency.80=80 MHz
13641407
phoenix_v2.menu.CpuFrequency.80.build.f_cpu=80000000L
13651408
phoenix_v2.menu.CpuFrequency.160=160 MHz
13661409
phoenix_v2.menu.CpuFrequency.160.build.f_cpu=160000000L
1410+
phoenix_v2.menu.VTable.flash=Flash
1411+
phoenix_v2.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
1412+
phoenix_v2.menu.VTable.heap=Heap
1413+
phoenix_v2.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
1414+
phoenix_v2.menu.VTable.iram=IRAM
1415+
phoenix_v2.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
13671416
phoenix_v2.build.flash_mode=dio
13681417
phoenix_v2.build.flash_freq=40
13691418
phoenix_v2.menu.FlashSize.4M1M=4M (1M SPIFFS)
@@ -1515,6 +1564,12 @@ nodemcu.menu.CpuFrequency.80=80 MHz
15151564
nodemcu.menu.CpuFrequency.80.build.f_cpu=80000000L
15161565
nodemcu.menu.CpuFrequency.160=160 MHz
15171566
nodemcu.menu.CpuFrequency.160.build.f_cpu=160000000L
1567+
nodemcu.menu.VTable.flash=Flash
1568+
nodemcu.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
1569+
nodemcu.menu.VTable.heap=Heap
1570+
nodemcu.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
1571+
nodemcu.menu.VTable.iram=IRAM
1572+
nodemcu.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
15181573
nodemcu.upload.resetmethod=nodemcu
15191574
nodemcu.build.flash_mode=qio
15201575
nodemcu.build.flash_freq=40
@@ -1663,6 +1718,12 @@ nodemcuv2.menu.CpuFrequency.80=80 MHz
16631718
nodemcuv2.menu.CpuFrequency.80.build.f_cpu=80000000L
16641719
nodemcuv2.menu.CpuFrequency.160=160 MHz
16651720
nodemcuv2.menu.CpuFrequency.160.build.f_cpu=160000000L
1721+
nodemcuv2.menu.VTable.flash=Flash
1722+
nodemcuv2.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
1723+
nodemcuv2.menu.VTable.heap=Heap
1724+
nodemcuv2.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
1725+
nodemcuv2.menu.VTable.iram=IRAM
1726+
nodemcuv2.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
16661727
nodemcuv2.upload.resetmethod=nodemcu
16671728
nodemcuv2.build.flash_mode=dio
16681729
nodemcuv2.build.flash_freq=40
@@ -1811,6 +1872,12 @@ modwifi.menu.CpuFrequency.80=80 MHz
18111872
modwifi.menu.CpuFrequency.80.build.f_cpu=80000000L
18121873
modwifi.menu.CpuFrequency.160=160 MHz
18131874
modwifi.menu.CpuFrequency.160.build.f_cpu=160000000L
1875+
modwifi.menu.VTable.flash=Flash
1876+
modwifi.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
1877+
modwifi.menu.VTable.heap=Heap
1878+
modwifi.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
1879+
modwifi.menu.VTable.iram=IRAM
1880+
modwifi.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
18141881
modwifi.upload.resetmethod=ck
18151882
modwifi.build.flash_mode=qio
18161883
modwifi.build.flash_freq=40
@@ -1939,6 +2006,12 @@ thing.menu.CpuFrequency.80=80 MHz
19392006
thing.menu.CpuFrequency.80.build.f_cpu=80000000L
19402007
thing.menu.CpuFrequency.160=160 MHz
19412008
thing.menu.CpuFrequency.160.build.f_cpu=160000000L
2009+
thing.menu.VTable.flash=Flash
2010+
thing.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
2011+
thing.menu.VTable.heap=Heap
2012+
thing.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
2013+
thing.menu.VTable.iram=IRAM
2014+
thing.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
19422015
thing.upload.resetmethod=ck
19432016
thing.build.flash_mode=qio
19442017
thing.build.flash_freq=40
@@ -2084,6 +2157,12 @@ thingdev.menu.CpuFrequency.80=80 MHz
20842157
thingdev.menu.CpuFrequency.80.build.f_cpu=80000000L
20852158
thingdev.menu.CpuFrequency.160=160 MHz
20862159
thingdev.menu.CpuFrequency.160.build.f_cpu=160000000L
2160+
thingdev.menu.VTable.flash=Flash
2161+
thingdev.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
2162+
thingdev.menu.VTable.heap=Heap
2163+
thingdev.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
2164+
thingdev.menu.VTable.iram=IRAM
2165+
thingdev.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
20872166
thingdev.upload.resetmethod=nodemcu
20882167
thingdev.build.flash_mode=dio
20892168
thingdev.build.flash_freq=40
@@ -2229,6 +2308,12 @@ esp210.menu.CpuFrequency.80=80 MHz
22292308
esp210.menu.CpuFrequency.80.build.f_cpu=80000000L
22302309
esp210.menu.CpuFrequency.160=160 MHz
22312310
esp210.menu.CpuFrequency.160.build.f_cpu=160000000L
2311+
esp210.menu.VTable.flash=Flash
2312+
esp210.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
2313+
esp210.menu.VTable.heap=Heap
2314+
esp210.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
2315+
esp210.menu.VTable.iram=IRAM
2316+
esp210.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
22322317
esp210.upload.resetmethod=ck
22332318
esp210.build.flash_mode=qio
22342319
esp210.build.flash_freq=40
@@ -2377,6 +2462,12 @@ d1_mini.menu.CpuFrequency.80=80 MHz
23772462
d1_mini.menu.CpuFrequency.80.build.f_cpu=80000000L
23782463
d1_mini.menu.CpuFrequency.160=160 MHz
23792464
d1_mini.menu.CpuFrequency.160.build.f_cpu=160000000L
2465+
d1_mini.menu.VTable.flash=Flash
2466+
d1_mini.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
2467+
d1_mini.menu.VTable.heap=Heap
2468+
d1_mini.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
2469+
d1_mini.menu.VTable.iram=IRAM
2470+
d1_mini.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
23802471
d1_mini.upload.resetmethod=nodemcu
23812472
d1_mini.build.flash_mode=dio
23822473
d1_mini.build.flash_freq=40
@@ -2525,6 +2616,12 @@ d1_mini_pro.menu.CpuFrequency.80=80 MHz
25252616
d1_mini_pro.menu.CpuFrequency.80.build.f_cpu=80000000L
25262617
d1_mini_pro.menu.CpuFrequency.160=160 MHz
25272618
d1_mini_pro.menu.CpuFrequency.160.build.f_cpu=160000000L
2619+
d1_mini_pro.menu.VTable.flash=Flash
2620+
d1_mini_pro.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
2621+
d1_mini_pro.menu.VTable.heap=Heap
2622+
d1_mini_pro.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
2623+
d1_mini_pro.menu.VTable.iram=IRAM
2624+
d1_mini_pro.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
25282625
d1_mini_pro.upload.resetmethod=nodemcu
25292626
d1_mini_pro.build.flash_mode=dio
25302627
d1_mini_pro.build.flash_freq=40
@@ -2653,6 +2750,12 @@ d1_mini_lite.menu.CpuFrequency.80=80 MHz
26532750
d1_mini_lite.menu.CpuFrequency.80.build.f_cpu=80000000L
26542751
d1_mini_lite.menu.CpuFrequency.160=160 MHz
26552752
d1_mini_lite.menu.CpuFrequency.160.build.f_cpu=160000000L
2753+
d1_mini_lite.menu.VTable.flash=Flash
2754+
d1_mini_lite.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
2755+
d1_mini_lite.menu.VTable.heap=Heap
2756+
d1_mini_lite.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
2757+
d1_mini_lite.menu.VTable.iram=IRAM
2758+
d1_mini_lite.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
26562759
d1_mini_lite.upload.resetmethod=nodemcu
26572760
d1_mini_lite.build.flash_mode=dout
26582761
d1_mini_lite.build.flash_freq=40
@@ -2848,6 +2951,12 @@ d1.menu.CpuFrequency.80=80 MHz
28482951
d1.menu.CpuFrequency.80.build.f_cpu=80000000L
28492952
d1.menu.CpuFrequency.160=160 MHz
28502953
d1.menu.CpuFrequency.160.build.f_cpu=160000000L
2954+
d1.menu.VTable.flash=Flash
2955+
d1.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
2956+
d1.menu.VTable.heap=Heap
2957+
d1.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
2958+
d1.menu.VTable.iram=IRAM
2959+
d1.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
28512960
d1.upload.resetmethod=nodemcu
28522961
d1.build.flash_mode=dio
28532962
d1.build.flash_freq=40
@@ -2996,6 +3105,12 @@ espino.menu.CpuFrequency.80=80 MHz
29963105
espino.menu.CpuFrequency.80.build.f_cpu=80000000L
29973106
espino.menu.CpuFrequency.160=160 MHz
29983107
espino.menu.CpuFrequency.160.build.f_cpu=160000000L
3108+
espino.menu.VTable.flash=Flash
3109+
espino.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
3110+
espino.menu.VTable.heap=Heap
3111+
espino.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
3112+
espino.menu.VTable.iram=IRAM
3113+
espino.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
29993114
espino.menu.ResetMethod.ck=ck
30003115
espino.menu.ResetMethod.ck.upload.resetmethod=ck
30013116
espino.menu.ResetMethod.nodemcu=nodemcu
@@ -3147,6 +3262,12 @@ espinotee.menu.CpuFrequency.80=80 MHz
31473262
espinotee.menu.CpuFrequency.80.build.f_cpu=80000000L
31483263
espinotee.menu.CpuFrequency.160=160 MHz
31493264
espinotee.menu.CpuFrequency.160.build.f_cpu=160000000L
3265+
espinotee.menu.VTable.flash=Flash
3266+
espinotee.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
3267+
espinotee.menu.VTable.heap=Heap
3268+
espinotee.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
3269+
espinotee.menu.VTable.iram=IRAM
3270+
espinotee.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
31503271
espinotee.upload.resetmethod=nodemcu
31513272
espinotee.build.flash_mode=qio
31523273
espinotee.build.flash_freq=40
@@ -3312,6 +3433,12 @@ wifinfo.menu.CpuFrequency.80=80 MHz
33123433
wifinfo.menu.CpuFrequency.80.build.f_cpu=80000000L
33133434
wifinfo.menu.CpuFrequency.160=160 MHz
33143435
wifinfo.menu.CpuFrequency.160.build.f_cpu=160000000L
3436+
wifinfo.menu.VTable.flash=Flash
3437+
wifinfo.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
3438+
wifinfo.menu.VTable.heap=Heap
3439+
wifinfo.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
3440+
wifinfo.menu.VTable.iram=IRAM
3441+
wifinfo.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
33153442
wifinfo.upload.resetmethod=nodemcu
33163443
wifinfo.build.flash_mode=qio
33173444
wifinfo.menu.FlashFreq.40=40MHz
@@ -3522,6 +3649,12 @@ arduino-esp8266.menu.CpuFrequency.80=80 MHz
35223649
arduino-esp8266.menu.CpuFrequency.80.build.f_cpu=80000000L
35233650
arduino-esp8266.menu.CpuFrequency.160=160 MHz
35243651
arduino-esp8266.menu.CpuFrequency.160.build.f_cpu=160000000L
3652+
arduino-esp8266.menu.VTable.flash=Flash
3653+
arduino-esp8266.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
3654+
arduino-esp8266.menu.VTable.heap=Heap
3655+
arduino-esp8266.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
3656+
arduino-esp8266.menu.VTable.iram=IRAM
3657+
arduino-esp8266.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
35253658
arduino-esp8266.upload.resetmethod=ck
35263659
arduino-esp8266.build.flash_mode=qio
35273660
arduino-esp8266.build.flash_freq=40
@@ -3671,6 +3804,12 @@ gen4iod.menu.CpuFrequency.80=80 MHz
36713804
gen4iod.menu.CpuFrequency.80.build.f_cpu=80000000L
36723805
gen4iod.menu.CpuFrequency.160=160 MHz
36733806
gen4iod.menu.CpuFrequency.160.build.f_cpu=160000000L
3807+
gen4iod.menu.VTable.flash=Flash
3808+
gen4iod.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
3809+
gen4iod.menu.VTable.heap=Heap
3810+
gen4iod.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
3811+
gen4iod.menu.VTable.iram=IRAM
3812+
gen4iod.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
36743813
gen4iod.upload.resetmethod=nodemcu
36753814
gen4iod.build.flash_mode=qio
36763815
gen4iod.build.flash_freq=80
@@ -3817,6 +3956,12 @@ oak.menu.CpuFrequency.80=80 MHz
38173956
oak.menu.CpuFrequency.80.build.f_cpu=80000000L
38183957
oak.menu.CpuFrequency.160=160 MHz
38193958
oak.menu.CpuFrequency.160.build.f_cpu=160000000L
3959+
oak.menu.VTable.flash=Flash
3960+
oak.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
3961+
oak.menu.VTable.heap=Heap
3962+
oak.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
3963+
oak.menu.VTable.iram=IRAM
3964+
oak.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
38203965
oak.upload.resetmethod=none
38213966
oak.build.flash_mode=dio
38223967
oak.build.flash_freq=40
@@ -3965,6 +4110,12 @@ wifiduino.menu.CpuFrequency.80=80 MHz
39654110
wifiduino.menu.CpuFrequency.80.build.f_cpu=80000000L
39664111
wifiduino.menu.CpuFrequency.160=160 MHz
39674112
wifiduino.menu.CpuFrequency.160.build.f_cpu=160000000L
4113+
wifiduino.menu.VTable.flash=Flash
4114+
wifiduino.menu.VTable.flash.build.vtable_flags=-DVTABLES_IN_FLASH
4115+
wifiduino.menu.VTable.heap=Heap
4116+
wifiduino.menu.VTable.heap.build.vtable_flags=-DVTABLES_IN_DRAM
4117+
wifiduino.menu.VTable.iram=IRAM
4118+
wifiduino.menu.VTable.iram.build.vtable_flags=-DVTABLES_IN_IRAM
39684119
wifiduino.upload.resetmethod=nodemcu
39694120
wifiduino.build.flash_mode=dio
39704121
wifiduino.build.flash_freq=40

platform.txt

+5
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ build.lwip_lib=-llwip_gcc
2121
build.lwip_include=lwip/include
2222
build.lwip_flags=-DLWIP_OPEN_SRC
2323

24+
build.vtable_flags=-DVTABLES_IN_FLASH
25+
2426
build.float=-u _printf_float -u _scanf_float
2527
build.led=
2628

@@ -76,6 +78,9 @@ recipe.hooks.core.prebuild.2.pattern=bash -c "mkdir -p {build.path}/core && echo
7678
recipe.hooks.core.prebuild.1.pattern.windows=cmd.exe /c mkdir {build.path}\core & (echo #define ARDUINO_ESP8266_GIT_VER 0x00000000 & echo #define ARDUINO_ESP8266_GIT_DESC win-{version} ) > {build.path}\core\core_version.h
7779
recipe.hooks.core.prebuild.2.pattern.windows=
7880

81+
## Build the app.ld linker file
82+
recipe.hooks.linking.prelink.1.pattern="{compiler.path}{compiler.c.cmd}" -CC -E -P {build.vtable_flags} "{runtime.platform.path}/tools/sdk/ld/eagle.app.v6.common.ld.h" -o "{runtime.platform.path}/tools/sdk/ld/eagle.app.v6.common.ld"
83+
7984
## Compile c files
8085
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.c.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
8186

tools/boards.txt.py

+11-1
Original file line numberDiff line numberDiff line change
@@ -757,6 +757,15 @@
757757
( '.menu.CpuFrequency.160.build.f_cpu', '160000000L' ),
758758
]),
759759

760+
'vtable_menu': collections.OrderedDict([
761+
( '.menu.VTable.flash', 'Flash'),
762+
( '.menu.VTable.flash.build.vtable_flags', '-DVTABLES_IN_FLASH'),
763+
( '.menu.VTable.heap', 'Heap'),
764+
( '.menu.VTable.heap.build.vtable_flags', '-DVTABLES_IN_DRAM'),
765+
( '.menu.VTable.iram', 'IRAM'),
766+
( '.menu.VTable.iram.build.vtable_flags', '-DVTABLES_IN_IRAM'),
767+
]),
768+
760769
'crystalfreq_menu': collections.OrderedDict([
761770
( '.menu.CrystalFreq.26', '26 MHz' ),
762771
( '.menu.CrystalFreq.40', '40 MHz' ),
@@ -1147,6 +1156,7 @@ def all_boards ():
11471156
print 'menu.Debug=Debug port'
11481157
print 'menu.DebugLevel=Debug Level'
11491158
print 'menu.LwIPVariant=lwIP Variant'
1159+
print 'menu.VTable=VTables'
11501160
print 'menu.led=Builtin Led'
11511161
print 'menu.FlashErase=Erase Flash'
11521162
print ''
@@ -1162,7 +1172,7 @@ def all_boards ():
11621172
print id + optname + '=' + board['opts'][optname]
11631173

11641174
# macros
1165-
macrolist = [ 'defaults', 'cpufreq_menu', ]
1175+
macrolist = [ 'defaults', 'cpufreq_menu', 'vtable_menu' ]
11661176
if 'macro' in board:
11671177
macrolist += board['macro']
11681178
if lwip == 2:

0 commit comments

Comments
 (0)