Skip to content

Commit

Permalink
Added LWIP source code.
Browse files Browse the repository at this point in the history
  • Loading branch information
slav-at-attachix committed Feb 8, 2017
1 parent e112478 commit afce47c
Show file tree
Hide file tree
Showing 143 changed files with 46,576 additions and 1 deletion.
1 change: 0 additions & 1 deletion Sming/third-party/esp-open-lwip
Submodule esp-open-lwip deleted from b9a23a
128 changes: 128 additions & 0 deletions Sming/third-party/esp-open-lwip/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
#############################################################
# Required variables for each makefile
# Discard this section from all parent makefiles
# Expected variables (with automatic defaults):
# CSRCS (all "C" files in the dir)
# SUBDIRS (all subdirs with a Makefile)
# GEN_LIBS - list of libs to be generated ()
# GEN_IMAGES - list of object file images to be generated ()
# GEN_BINS - list of binaries to be generated ()
# COMPONENTS_xxx - a list of libs/objs in the form
# subdir/lib to be extracted and rolled up into
# a generated lib/image xxx.a ()
#
TARGET = eagle
#FLAVOR = release
FLAVOR = debug

#EXTRA_CCFLAGS += -u

ifndef PDIR # {
GEN_IMAGES= eagle.app.v6.out
GEN_BINS= eagle.app.v6.bin
SPECIAL_MKTARGETS=$(APP_MKTARGETS)
SUBDIRS= \
user \
lwip

endif # } PDIR

APPDIR = .
LDDIR = ../ld

CCFLAGS += -Os

TARGET_LDFLAGS = \
-nostdlib \
-Wl,-EL \
--longcalls \
--text-section-literals

ifeq ($(FLAVOR),debug)
TARGET_LDFLAGS += -g -O2
endif

ifeq ($(FLAVOR),release)
TARGET_LDFLAGS += -g -O0
endif

COMPONENTS_eagle.app.v6 = \
user/libuser.a \
lwip/liblwip.a

LINKFLAGS_eagle.app.v6 = \
-L../lib \
-nostdlib \
-T$(LD_FILE) \
-Wl,--no-check-sections \
-u call_user_start \
-Wl,-static \
-Wl,--start-group \
-lc \
-lgcc \
-lhal \
-lphy \
-lpp \
-lnet80211 \
-lwpa \
-lcrypto \
-lmain \
-ljson \
-lupgrade\
-lssl \
-lpwm \
-lsmartconfig \
$(DEP_LIBS_eagle.app.v6) \
-Wl,--end-group

DEPENDS_eagle.app.v6 = \
$(LD_FILE) \
$(LDDIR)/eagle.rom.addr.v6.ld

#############################################################
# Configuration i.e. compile options etc.
# Target specific stuff (defines etc.) goes in here!
# Generally values applying to a tree are captured in the
# makefile at its root level - these are then overridden
# for a subtree within the makefile rooted therein
#

#UNIVERSAL_TARGET_DEFINES = \

# Other potential configuration flags include:
# -DTXRX_TXBUF_DEBUG
# -DTXRX_RXBUF_DEBUG
# -DWLAN_CONFIG_CCX
CONFIGURATION_DEFINES = -DICACHE_FLASH \
-DLWIP_OPEN_SRC \
-DPBUF_RSV_FOR_WLAN \
-DEBUF_LWIP

DEFINES += \
$(UNIVERSAL_TARGET_DEFINES) \
$(CONFIGURATION_DEFINES)

DDEFINES += \
$(UNIVERSAL_TARGET_DEFINES) \
$(CONFIGURATION_DEFINES)


#############################################################
# Recursion Magic - Don't touch this!!
#
# Each subtree potentially has an include directory
# corresponding to the common APIs applicable to modules
# rooted at that subtree. Accordingly, the INCLUDE PATH
# of a module can only contain the include directories up
# its parent path, and not its siblings
#
# Required for each makefile to inherit from the parent
#

INCLUDES := $(INCLUDES) -I $(PDIR)include
PDIR := ../$(PDIR)
sinclude $(PDIR)Makefile

.PHONY: FORCE
FORCE:

69 changes: 69 additions & 0 deletions Sming/third-party/esp-open-lwip/Makefile.open
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
CC = $(ESP_HOME)/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc
AR = $(ESP_HOME)/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar
DEFS = -DLWIP_OPEN_SRC -DPBUF_RSV_FOR_WLAN -DEBUF_LWIP -DICACHE_FLASH
COPT = -Os

CFLAGS = $(DEFS) $(COPT) -Iinclude -I$(SDK_BASE)/include -Wl,-EL -mlongcalls -mtext-section-literals $(CFLAGS_EXTRA)

# Install prefix of esp-open-sdk toolchain
PREFIX = ~/toolchain/xtensa-lx106-elf


OBJS = \
lwip/core/def.o \
lwip/core/dhcp.o \
lwip/core/dns.o \
lwip/core/init.o \
lwip/core/mem.o \
lwip/core/memp.o \
lwip/core/netif.o \
lwip/core/pbuf.o \
lwip/core/raw.o \
lwip/core/sntp.o \
lwip/core/stats.o \
lwip/core/sys_arch.o \
lwip/core/sys.o \
lwip/core/tcp.o \
lwip/core/tcp_in.o \
lwip/core/tcp_out.o \
lwip/core/timers.o \
lwip/core/udp.o \
lwip/core/ipv4/autoip.o \
lwip/core/ipv4/icmp.o \
lwip/core/ipv4/igmp.o \
lwip/core/ipv4/inet.o \
lwip/core/ipv4/inet_chksum.o \
lwip/core/ipv4/ip_addr.o \
lwip/core/ipv4/ip.o \
lwip/core/ipv4/ip_frag.o \
lwip/netif/etharp.o \
\
lwip/app/dhcpserver.o


ifneq ($(ENABLE_ESPCONN),1)
OBJS += espconn_dummy.o
else
OBJS += lwip/app/espconn.o \
lwip/app/espconn_tcp.o \
lwip/app/espconn_udp.o \
lwip/app/espconn_mdns.o \
lwip/core/mdns.o

endif

LIB = $(USER_LIBDIR)liblwip_open.a
ifeq ($(ENABLE_ESPCONN),1)
LIB = $(USER_LIBDIR)liblwip_full.a
endif

all: $(LIB)

$(LIB): $(OBJS)
$(AR) rcs $@ $^

install: $(LIB)
cp $(LIB) $(PREFIX)/xtensa-lx106-elf/sysroot/usr/lib/

clean:
rm -f $(OBJS) $(LIB)
5 changes: 5 additions & 0 deletions Sming/third-party/esp-open-lwip/espconn_dummy.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#include <c_types.h>

void ICACHE_FLASH_ATTR espconn_init(void)
{
}
Binary file added Sming/third-party/esp-open-lwip/espconn_dummy.o
Binary file not shown.
147 changes: 147 additions & 0 deletions Sming/third-party/esp-open-lwip/gen_misc.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
@echo off

echo gen_misc.bat version 20150511
echo .

echo Please follow below steps(1-5) to generate specific bin(s):
echo STEP 1: choose boot version(0=boot_v1.1, 1=boot_v1.2+, 2=none)
set input=default
set /p input=enter(0/1/2, default 2):

if %input% equ 0 (
set boot=old
) else (
if %input% equ 1 (
set boot=new
) else (
set boot=none
)
)

echo boot mode: %boot%
echo.

echo STEP 2: choose bin generate(0=eagle.flash.bin+eagle.irom0text.bin, 1=user1.bin, 2=user2.bin)
set input=default
set /p input=enter (0/1/2, default 0):

if %input% equ 1 (
if %boot% equ none (
set app=0
echo choose no boot before
echo generate bin: eagle.flash.bin+eagle.irom0text.bin
) else (
set app=1
echo generate bin: user1.bin
)
) else (
if %input% equ 2 (
if %boot% equ none (
set app=0
echo choose no boot before
echo generate bin: eagle.flash.bin+eagle.irom0text.bin
) else (
set app=2
echo generate bin: user2.bin
)
) else (
if %boot% neq none (
set boot=none
echo ignore boot
)
set app=0
echo generate bin: eagle.flash.bin+eagle.irom0text.bin
))

echo.

echo STEP 3: choose spi speed(0=20MHz, 1=26.7MHz, 2=40MHz, 3=80MHz)
set input=default
set /p input=enter (0/1/2/3, default 2):

if %input% equ 0 (
set spi_speed=20
) else (
if %input% equ 1 (
set spi_speed=26.7
) else (
if %input% equ 3 (
set spi_speed=80
) else (
set spi_speed=40
)))

echo spi speed: %spi_speed% MHz
echo.

echo STEP 4: choose spi mode(0=QIO, 1=QOUT, 2=DIO, 3=DOUT)
set input=default
set /p input=enter (0/1/2/3, default 0):

if %input% equ 1 (
set spi_mode=QOUT
) else (
if %input% equ 2 (
set spi_mode=DIO
) else (
if %input% equ 3 (
set spi_mode=DOUT
) else (
set spi_mode=QIO
)))

echo spi mode: %spi_mode%
echo.

echo STEP 5: choose flash size and map
echo 0= 512KB( 256KB+ 256KB)
echo 2=1024KB( 512KB+ 512KB)
echo 3=2048KB( 512KB+ 512KB)
echo 4=4096KB( 512KB+ 512KB)
echo 5=2048KB(1024KB+1024KB)
echo 6=4096KB(1024KB+1024KB)
set input=default
set /p input=enter (0/1/2/3/4/5/6, default 0):

if %input% equ 2 (
set spi_size_map=2
echo spi size: 1024KB
echo spi ota map: 512KB + 512KB
) else (
if %input% equ 3 (
set spi_size_map=3
echo spi size: 2048KB
echo spi ota map: 512KB + 512KB
) else (
if %input% equ 4 (
set spi_size_map=4
echo spi size: 4096KB
echo spi ota map: 512KB + 512KB
) else (
if %input% equ 5 (
set spi_size_map=5
echo spi size: 2048KB
echo spi ota map: 1024KB + 1024KB
) else (
if %input% equ 6 (
set spi_size_map=6
echo spi size: 4096KB
echo spi ota map: 1024KB + 1024KB
) else (
set spi_size_map=0
echo spi size: 512KB
echo spi ota map: 256KB + 256KB
)
)
)
)
)

touch user/user_main.c

echo.
echo start...
echo.

make BOOT=%boot% APP=%app% SPI_SPEED=%spi_speed% SPI_MODE=%spi_mode% SPI_SIZE=%spi_size_map%

Loading

0 comments on commit afce47c

Please sign in to comment.