Skip to content

open source lwip2 #3206

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 26 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
158b04c
minimum changes for libraries to compile with lwip2
d-a-v Mar 20, 2017
1c91bf6
open source lwip2
d-a-v May 6, 2017
7771aab
Merge branch 'master' of https://github.com/esp8266/Arduino into lwip2
d-a-v May 6, 2017
64832a4
Merge branch 'master' of https://github.com/esp8266/Arduino into lwip2
d-a-v May 8, 2017
4222203
Merge branch 'master' of https://github.com/esp8266/Arduino into lwip2
d-a-v May 9, 2017
6f720c8
fix OTA working with 1460B packets even with small tcp mss
d-a-v May 9, 2017
b7cb872
Merge branch 'master' into lwip2
d-a-v May 11, 2017
4319758
Merge branch 'master' into lwip2
d-a-v May 13, 2017
5bd8af0
hide recurrent useless stub message
d-a-v May 13, 2017
28fdfcf
remove debug function
d-a-v May 13, 2017
7edc204
get mtu from esp (instead of arbitrarly set it)
d-a-v May 13, 2017
2e20ca7
make lwip2 the default
d-a-v May 13, 2017
b383d8a
Merge branch 'master' into lwip2
d-a-v May 14, 2017
1f96734
Merge branch 'master' of https://github.com/esp8266/Arduino into lwip2
d-a-v May 15, 2017
60c1991
Merge branch 'lwip2' of github.com:d-a-v/Arduino into lwip2
d-a-v May 15, 2017
4105acd
use sntp from lwip2 (was not used, core/timer.c could not be used)
d-a-v May 15, 2017
3569769
Merge branch 'master' into lwip2
d-a-v May 15, 2017
ae0bb1c
use lwip2 sntp: extracted espressif's patch from lwip1.4/sntp
d-a-v May 15, 2017
70d07a0
reduce flash+ram footprint by de-activating assert messages in non-de…
d-a-v May 17, 2017
4ab3a53
Merge branch 'master' into lwip2
d-a-v May 18, 2017
4e1277b
Merge branch 'master' into lwip2
d-a-v May 22, 2017
95ad55b
Merge branch 'master' into lwip2
d-a-v May 22, 2017
a6603af
update doc
d-a-v May 22, 2017
ce86a52
Merge branch 'lwip2' of github.com:d-a-v/Arduino into lwip2
d-a-v May 22, 2017
cf5a9aa
mention working sdk-2.1.0
d-a-v May 23, 2017
79cd3f9
Merge branch 'master' into lwip2
d-a-v Jun 11, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
150 changes: 150 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ menu.ESPModule=Module
menu.Debug=Debug port
menu.DebugLevel=Debug Level
menu.LwIPVariant=lwIP Variant
menu.lwIP=lwIP Build

##############################################################
generic.name=Generic ESP8266 Module
Expand Down Expand Up @@ -241,6 +242,13 @@ generic.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_
# generic.menu.FlashSize.16M.build.spiffs_end=0x1000000
# generic.menu.FlashSize.16M.build.spiffs_blocksize=8192

generic.menu.lwIP.open=v2
generic.menu.lwIP.open.build.lwip_include=lwip2/include
generic.menu.lwIP.open.build.lwip_lib=-llwip2
generic.menu.lwIP.legacy=v1.4 (espressif)
generic.menu.lwIP.legacy.build.lwip_include=lwip/include
generic.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################
# ESP8285 chip has built-in 1MB flash

Expand Down Expand Up @@ -346,6 +354,12 @@ esp8285.menu.FlashSize.1M64.build.spiffs_end=0xFB000
esp8285.menu.FlashSize.1M64.build.spiffs_blocksize=4096
esp8285.menu.FlashSize.1M64.upload.maximum_size=958448

esp8285.menu.lwIP.open=v2
esp8285.menu.lwIP.open.build.lwip_include=lwip2/include
esp8285.menu.lwIP.open.build.lwip_lib=-llwip2
esp8285.menu.lwIP.legacy=v1.4 (espressif)
esp8285.menu.lwIP.legacy.build.lwip_include=lwip/include
esp8285.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################

Expand Down Expand Up @@ -411,6 +425,14 @@ espduino.menu.FlashSize.4M1M.build.spiffs_start=0x300000
espduino.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000
espduino.menu.FlashSize.4M1M.build.spiffs_blocksize=8192
espduino.menu.FlashSize.4M1M.build.spiffs_pagesize=256

espduino.menu.lwIP.open=v2
espduino.menu.lwIP.open.build.lwip_include=lwip2/include
espduino.menu.lwIP.open.build.lwip_lib=-llwip2
espduino.menu.lwIP.legacy=v1.4 (espressif)
espduino.menu.lwIP.legacy.build.lwip_include=lwip/include
espduino.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################
huzzah.name=Adafruit HUZZAH ESP8266

Expand Down Expand Up @@ -466,6 +488,13 @@ huzzah.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000
huzzah.menu.FlashSize.4M1M.build.spiffs_blocksize=8192
huzzah.menu.FlashSize.4M1M.build.spiffs_pagesize=256

huzzah.menu.lwIP.open=v2
huzzah.menu.lwIP.open.build.lwip_include=lwip2/include
huzzah.menu.lwIP.open.build.lwip_lib=-llwip2
huzzah.menu.lwIP.legacy=v1.4 (espressif)
huzzah.menu.lwIP.legacy.build.lwip_include=lwip/include
huzzah.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################
espresso_lite_v1.name=ESPresso Lite 1.0
espresso_lite_v1.upload.tool=esptool
Expand Down Expand Up @@ -571,6 +600,13 @@ espresso_lite_v1.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DD
espresso_lite_v1.build.debug_port=
espresso_lite_v1.build.debug_level=

espresso_lite_v1.menu.lwIP.open=v2
espresso_lite_v1.menu.lwIP.open.build.lwip_include=lwip2/include
espresso_lite_v1.menu.lwIP.open.build.lwip_lib=-llwip2
espresso_lite_v1.menu.lwIP.legacy=v1.4 (espressif)
espresso_lite_v1.menu.lwIP.legacy.build.lwip_include=lwip/include
espresso_lite_v1.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################
espresso_lite_v2.name=ESPresso Lite 2.0
espresso_lite_v2.upload.tool=esptool
Expand Down Expand Up @@ -676,6 +712,13 @@ espresso_lite_v2.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DD
espresso_lite_v2.build.debug_port=
espresso_lite_v2.build.debug_level=

espresso_lite_v2.menu.lwIP.open=v2
espresso_lite_v2.menu.lwIP.open.build.lwip_include=lwip2/include
espresso_lite_v2.menu.lwIP.open.build.lwip_lib=-llwip2
espresso_lite_v2.menu.lwIP.legacy=v1.4 (espressif)
espresso_lite_v2.menu.lwIP.legacy.build.lwip_include=lwip/include
espresso_lite_v2.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################
phoenix_v1.name=Phoenix 1.0
phoenix_v1.upload.tool=esptool
Expand Down Expand Up @@ -781,6 +824,13 @@ phoenix_v1.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_E
phoenix_v1.build.debug_port=
phoenix_v1.build.debug_level=

phoenix_v1.menu.lwIP.open=v2
phoenix_v1.menu.lwIP.open.build.lwip_include=lwip2/include
phoenix_v1.menu.lwIP.open.build.lwip_lib=-llwip2
phoenix_v1.menu.lwIP.legacy=v1.4 (espressif)
phoenix_v1.menu.lwIP.legacy.build.lwip_include=lwip/include
phoenix_v1.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################
phoenix_v2.name=Phoenix 2.0
phoenix_v2.upload.tool=esptool
Expand Down Expand Up @@ -886,6 +936,13 @@ phoenix_v2.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_E
phoenix_v2.build.debug_port=
phoenix_v2.build.debug_level=

phoenix_v2.menu.lwIP.open=v2
phoenix_v2.menu.lwIP.open.build.lwip_include=lwip2/include
phoenix_v2.menu.lwIP.open.build.lwip_lib=-llwip2
phoenix_v2.menu.lwIP.legacy=v1.4 (espressif)
phoenix_v2.menu.lwIP.legacy.build.lwip_include=lwip/include
phoenix_v2.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################
nodemcu.name=NodeMCU 0.9 (ESP-12 Module)

Expand Down Expand Up @@ -950,6 +1007,13 @@ nodemcu.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000
nodemcu.menu.FlashSize.4M1M.build.spiffs_blocksize=8192
nodemcu.menu.FlashSize.4M1M.build.spiffs_pagesize=256

nodemcu.menu.lwIP.open=v2
nodemcu.menu.lwIP.open.build.lwip_include=lwip2/include
nodemcu.menu.lwIP.open.build.lwip_lib=-llwip2
nodemcu.menu.lwIP.legacy=v1.4 (espressif)
nodemcu.menu.lwIP.legacy.build.lwip_include=lwip/include
nodemcu.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################
nodemcuv2.name=NodeMCU 1.0 (ESP-12E Module)

Expand Down Expand Up @@ -1014,6 +1078,12 @@ nodemcuv2.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000
nodemcuv2.menu.FlashSize.4M1M.build.spiffs_blocksize=8192
nodemcuv2.menu.FlashSize.4M1M.build.spiffs_pagesize=256

nodemcuv2.menu.lwIP.open=v2
nodemcuv2.menu.lwIP.open.build.lwip_include=lwip2/include
nodemcuv2.menu.lwIP.open.build.lwip_lib=-llwip2
nodemcuv2.menu.lwIP.legacy=v1.4 (espressif)
nodemcuv2.menu.lwIP.legacy.build.lwip_include=lwip/include
nodemcuv2.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################
modwifi.name=Olimex MOD-WIFI-ESP8266(-DEV)
Expand Down Expand Up @@ -1069,6 +1139,13 @@ modwifi.menu.UploadSpeed.512000.upload.speed=512000
modwifi.menu.UploadSpeed.921600=921600
modwifi.menu.UploadSpeed.921600.upload.speed=921600

modwifi.menu.lwIP.open=v2
modwifi.menu.lwIP.open.build.lwip_include=lwip2/include
modwifi.menu.lwIP.open.build.lwip_lib=-llwip2
modwifi.menu.lwIP.legacy=v1.4 (espressif)
modwifi.menu.lwIP.legacy.build.lwip_include=lwip/include
modwifi.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################
thing.name=SparkFun ESP8266 Thing

Expand Down Expand Up @@ -1122,6 +1199,13 @@ thing.menu.UploadSpeed.512000.upload.speed=512000
thing.menu.UploadSpeed.921600=921600
thing.menu.UploadSpeed.921600.upload.speed=921600

thing.menu.lwIP.open=v2
thing.menu.lwIP.open.build.lwip_include=lwip2/include
thing.menu.lwIP.open.build.lwip_lib=-llwip2
thing.menu.lwIP.legacy=v1.4 (espressif)
thing.menu.lwIP.legacy.build.lwip_include=lwip/include
thing.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################
thingdev.name=SparkFun ESP8266 Thing Dev

Expand Down Expand Up @@ -1233,6 +1317,13 @@ esp210.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000
esp210.menu.FlashSize.4M1M.build.spiffs_blocksize=8192
esp210.menu.FlashSize.4M1M.build.spiffs_pagesize=256

esp210.menu.lwIP.open=v2
esp210.menu.lwIP.open.build.lwip_include=lwip2/include
esp210.menu.lwIP.open.build.lwip_lib=-llwip2
esp210.menu.lwIP.legacy=v1.4 (espressif)
esp210.menu.lwIP.legacy.build.lwip_include=lwip/include
esp210.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################
# wifio.name=Wifio
#
Expand Down Expand Up @@ -1327,6 +1418,13 @@ d1_mini.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000
d1_mini.menu.FlashSize.4M1M.build.spiffs_blocksize=8192
d1_mini.menu.FlashSize.4M1M.build.spiffs_pagesize=256

d1_mini.menu.lwIP.open=v2
d1_mini.menu.lwIP.open.build.lwip_include=lwip2/include
d1_mini.menu.lwIP.open.build.lwip_lib=-llwip2
d1_mini.menu.lwIP.legacy=v1.4 (espressif)
d1_mini.menu.lwIP.legacy.build.lwip_include=lwip/include
d1_mini.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################
d1.name=WeMos D1(Retired)

Expand Down Expand Up @@ -1392,6 +1490,12 @@ d1.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000
d1.menu.FlashSize.4M1M.build.spiffs_blocksize=8192
d1.menu.FlashSize.4M1M.build.spiffs_pagesize=256

d1.menu.lwIP.open=v2
d1.menu.lwIP.open.build.lwip_include=lwip2/include
d1.menu.lwIP.open.build.lwip_lib=-llwip2
d1.menu.lwIP.legacy=v1.4 (espressif)
d1.menu.lwIP.legacy.build.lwip_include=lwip/include
d1.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################

Expand Down Expand Up @@ -1469,6 +1573,13 @@ espino.menu.ResetMethod.ck.upload.resetmethod=ck
espino.menu.ResetMethod.nodemcu=nodemcu
espino.menu.ResetMethod.nodemcu.upload.resetmethod=nodemcu

espino.menu.lwIP.open=v2
espino.menu.lwIP.open.build.lwip_include=lwip2/include
espino.menu.lwIP.open.build.lwip_lib=-llwip2
espino.menu.lwIP.legacy=v1.4 (espressif)
espino.menu.lwIP.legacy.build.lwip_include=lwip/include
espino.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################
espinotee.name=ThaiEasyElec's ESPino

Expand Down Expand Up @@ -1533,6 +1644,13 @@ espinotee.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000
espinotee.menu.FlashSize.4M1M.build.spiffs_blocksize=8192
espinotee.menu.FlashSize.4M1M.build.spiffs_pagesize=256

espinotee.menu.lwIP.open=v2
espinotee.menu.lwIP.open.build.lwip_include=lwip2/include
espinotee.menu.lwIP.open.build.lwip_lib=-llwip2
espinotee.menu.lwIP.legacy=v1.4 (espressif)
espinotee.menu.lwIP.legacy.build.lwip_include=lwip/include
espinotee.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################
wifinfo.name=WifInfo

Expand Down Expand Up @@ -1663,6 +1781,12 @@ wifinfo.menu.UploadSpeed.512000.upload.speed=512000
wifinfo.menu.UploadSpeed.921600=921600
wifinfo.menu.UploadSpeed.921600.upload.speed=921600

wifinfo.menu.lwIP.open=v2
wifinfo.menu.lwIP.open.build.lwip_include=lwip2/include
wifinfo.menu.lwIP.open.build.lwip_lib=-llwip2
wifinfo.menu.lwIP.legacy=v1.4 (espressif)
wifinfo.menu.lwIP.legacy.build.lwip_include=lwip/include
wifinfo.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################
coredev.name=Core Development Module
Expand Down Expand Up @@ -1699,6 +1823,11 @@ coredev.menu.LwIPVariant.OpenSource=Open Source (gcc)
coredev.menu.LwIPVariant.OpenSource.build.lwip_lib=-llwip_src
coredev.menu.LwIPVariant.OpenSource.build.lwip_flags=-DLWIP_OPEN_SRC
coredev.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-"
coredev.menu.LwIPVariant.LWIP2=Original Sources (git+gcc)
coredev.menu.LwIPVariant.LWIP2.build.lwip_lib=-llwip2
coredev.menu.LwIPVariant.LWIP2.build.lwip_include=lwip2/include
coredev.menu.LwIPVariant.LWIP2.build.lwip_flags=-DLWIP_OPEN_SRC
coredev.menu.LwIPVariant.LWIP2.recipe.hooks.sketch.prebuild.1.pattern=make -C "{runtime.platform.path}/tools/sdk/lwip2/builder" install TOOLS_PATH="{runtime.tools.xtensa-lx106-elf-gcc.path}/bin/xtensa-lx106-elf-"

coredev.menu.CpuFrequency.80=80 MHz
coredev.menu.CpuFrequency.80.build.f_cpu=80000000L
Expand Down Expand Up @@ -1904,6 +2033,13 @@ coredev.menu.DebugLevel.OTA2____.build.debug_level=-DDEBUG_ESP_OTA -DDEBUG_ESP_U
coredev.menu.DebugLevel.all_____=All
coredev.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM

coredev.menu.lwIP.open=v2
coredev.menu.lwIP.open.build.lwip_include=lwip2/include
coredev.menu.lwIP.open.build.lwip_lib=-llwip2
coredev.menu.lwIP.legacy=v1.4 (espressif)
coredev.menu.lwIP.legacy.build.lwip_include=lwip/include
coredev.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

############ Arduino boards with Esp8266 ############

arduino-esp8266.name=Arduino
Expand Down Expand Up @@ -1972,6 +2108,13 @@ arduino-esp8266.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000
arduino-esp8266.menu.FlashSize.4M3M.build.spiffs_blocksize=8192
arduino-esp8266.menu.FlashSize.4M3M.build.spiffs_pagesize=256

arduino-esp8266.menu.lwIP.open=v2
arduino-esp8266.menu.lwIP.open.build.lwip_include=lwip2/include
arduino-esp8266.menu.lwIP.open.build.lwip_lib=-llwip2
arduino-esp8266.menu.lwIP.legacy=v1.4 (espressif)
arduino-esp8266.menu.lwIP.legacy.build.lwip_include=lwip/include
arduino-esp8266.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc

##############################################################

gen4iod.name=4D Systems gen4 IoD Range
Expand Down Expand Up @@ -2021,3 +2164,10 @@ gen4iod.menu.UploadSpeed.512000.windows=512000
gen4iod.menu.UploadSpeed.512000.upload.speed=512000
gen4iod.menu.UploadSpeed.921600=921600
gen4iod.menu.UploadSpeed.921600.upload.speed=921600

gen4iod.menu.lwIP.open=v2
gen4iod.menu.lwIP.open.build.lwip_include=lwip2/include
gen4iod.menu.lwIP.open.build.lwip_lib=-llwip2
gen4iod.menu.lwIP.legacy=v1.4 (espressif)
gen4iod.menu.lwIP.legacy.build.lwip_include=lwip/include
gen4iod.menu.lwIP.legacy.build.lwip_lib=-llwip_gcc
3 changes: 2 additions & 1 deletion platform.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,13 @@ compiler.warning_flags.more=-Wall
compiler.warning_flags.all=-Wall -Wextra

build.lwip_lib=-llwip_gcc
build.lwip_include=lwip/include
build.lwip_flags=-DLWIP_OPEN_SRC

compiler.path={runtime.tools.xtensa-lx106-elf-gcc.path}/bin/
compiler.sdk.path={runtime.platform.path}/tools/sdk
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}/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.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
Expand Down
1 change: 1 addition & 0 deletions tools/sdk/ld/eagle.app.v6.common.ld
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@ SECTIONS
*libstdc++.a:(.literal .text .literal.* .text.*)
*liblwip_gcc.a:(.literal .text .literal.* .text.*)
*liblwip_src.a:(.literal .text .literal.* .text.*)
*liblwip2.a:(.literal .text .literal.* .text.*)
*libaxtls.a:(.literal .text .literal.* .text.*)
*(.irom0.literal .irom.literal .irom.text.literal .irom0.text .irom.text .irom.text.*)
_irom0_text_end = ABSOLUTE(.);
Expand Down
Binary file added tools/sdk/lib/liblwip2.a
Binary file not shown.
51 changes: 51 additions & 0 deletions tools/sdk/lwip2/builder/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@

ROOT = .
include $(ROOT)/Makefile.common

####################################
#### list of functions going to IRAM
# esp
IRAM = glue2esp_err esp2glue_err pbuf_wrapper_get pbuf_wrapper_release glue2esp_linkoutput ethernet_input pbuf_alloc pbuf_free pbuf_ref
# git
IRAM += glue2git_err git2glue_err new_linkoutput esp2glue_pbuf_freed esp2glue_alloc_for_recv esp2glue_ethernet_input
# lwip2
IRAM += sys_timeout_LWIP2
# sntp
IRAM += sntp_time_inc sntp_get_current_timestamp
####################################

$(LWIP_LIB): all

all:
make -f Makefile.glue-esp ROOT=$(ROOT) $@
make -f Makefile.glue ROOT=$(ROOT) $@
make -f Makefile.lwip2 ROOT=$(ROOT) $@

section-rename: $(LWIP_LIB_RELEASE)
@# according to eagle.app.v6.common.ld:
@# putting symbols into .gnu.linkonce.literal.* instead of (default:).text.*
@# will eventually move them in iram: section .text.* instead of .irom0.text.*
@# check this with xtensa-lx106-elf-objdump -t <elfresult> | grep <symbol>
@for i in $(IRAM); do \
echo "---- moving $$i in IRAM"; \
$(OC) --rename-section .text.$$i=.gnu.linkonce.literal.$$i $(LWIP_LIB_RELEASE); \
done

section-show:
@for i in $(IRAM); do \
echo $$i \\t\\t `$(OD) -t $(LWIP_LIB_RELEASE) | grep " F .* $${i}$$"`; \
done; true

copy:
cp $(LWIP_LIB) $(LWIP_LIB_RELEASE)
rm -rf ../include
cp -a lwip2-src/src/include ..
cp -a glue-lwip2/lwip2-git-hash.h glue-lwip2/arch ../include
(echo "/* this will be overwritten from ../builder/glue-lwip2/lwip2/lwipopts.h */"; cat glue-lwip2/lwipopts.h) > ../include/lwipopts.h
echo "warning: this directory is re/over/written from ../builder/ files upon lwip2 build" > ../include/README.md

rawinstall: $(LWIP_LIB) copy
install: rawinstall section-rename

clean:
rm -rf build $(LWIP_LIB)
Loading