diff --git a/open_esplibs/README.md b/open_esplibs/README.md new file mode 100644 index 0000000..ba11452 --- /dev/null +++ b/open_esplibs/README.md @@ -0,0 +1,15 @@ +# Open Espressif Libs + +These are functional recreations of the MIT licensed binary Espressif SDK libraries found in `lib`. They keep the same functionality as the SDK libraries (possibly with bugfixes or other minor tweaks), but are compiled from source. + +Most of the reverse engineering work so far has been by Alex Stewart (@foogod). + +See http://esp8266-re.foogod.com/wiki/ for more technical details of SDK library internals. + +# Disabling + +The open ESP libs are compiled in by default, and they automatically replace any binary SDK symbols (functions, etc.) with the same names. + +To compile using the binary SDK libraries only, override the COMPONENTS list in parameters.mk to remove the open_esplibs component, or add -DOPEN_ESPLIBS=0 to CPPFLAGS. + +To selectively replace some functionality with binary SDK functionality for debugging, edit the header file open_esplibs/include/open_esplibs.h diff --git a/open_esplibs/include/esplibs/libmain.h b/open_esplibs/include/esplibs/libmain.h index 51e3769..50a3f3d 100644 --- a/open_esplibs/include/esplibs/libmain.h +++ b/open_esplibs/include/esplibs/libmain.h @@ -1,3 +1,11 @@ +/* Internal function declarations for Espressif SDK libmain functions. + + These are internal-facing declarations, it is not recommended to include these headers in your program. + (look at the headers in include/espressif/ instead and use these whenever possible.) + + Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries. + BSD Licensed as described in the file LICENSE. +*/ #include "sdk_internal.h" #ifndef _ESPLIBS_LIBMAIN_H #define _ESPLIBS_LIBMAIN_H diff --git a/open_esplibs/include/esplibs/libnet80211.h b/open_esplibs/include/esplibs/libnet80211.h index 12f5980..1c0ac9a 100644 --- a/open_esplibs/include/esplibs/libnet80211.h +++ b/open_esplibs/include/esplibs/libnet80211.h @@ -1,3 +1,11 @@ +/* Internal function declarations for Espressif SDK libnet80211 functions. + + These are internal-facing declarations, it is not recommended to include these headers in your program. + (look at the headers in include/espressif/ instead and use these whenever possible.) + + Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries. + BSD Licensed as described in the file LICENSE. +*/ #ifndef _ESPLIBS_LIBNET80211_H #define _ESPLIBS_LIBNET80211_H diff --git a/open_esplibs/include/esplibs/libphy.h b/open_esplibs/include/esplibs/libphy.h index 92ec355..2c7639c 100644 --- a/open_esplibs/include/esplibs/libphy.h +++ b/open_esplibs/include/esplibs/libphy.h @@ -1,3 +1,11 @@ +/* Internal function declarations for Espressif SDK libphy functions. + + These are internal-facing declarations, it is not recommended to include these headers in your program. + (look at the headers in include/espressif/ instead and use these whenever possible.) + + Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries. + BSD Licensed as described in the file LICENSE. +*/ #ifndef _ESPLIBS_LIBPHY_H #define _ESPLIBS_LIBPHY_H diff --git a/open_esplibs/include/esplibs/libpp.h b/open_esplibs/include/esplibs/libpp.h index c2ed458..238ad02 100644 --- a/open_esplibs/include/esplibs/libpp.h +++ b/open_esplibs/include/esplibs/libpp.h @@ -1,3 +1,11 @@ +/* Internal function declarations for Espressif SDK libpp functions. + + These are internal-facing declarations, it is not recommended to include these headers in your program. + (look at the headers in include/espressif/ instead and use these whenever possible.) + + Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries. + BSD Licensed as described in the file LICENSE. +*/ #ifndef _ESPLIBS_LIBPP_H #define _ESPLIBS_LIBPP_H diff --git a/open_esplibs/libmain/misc.c b/open_esplibs/libmain/misc.c index 3c1cd02..f11d4fd 100644 --- a/open_esplibs/libmain/misc.c +++ b/open_esplibs/libmain/misc.c @@ -1,3 +1,8 @@ +/* Recreated Espressif libmain misc.o contents. + + Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries. + BSD Licensed as described in the file LICENSE +*/ #include "open_esplibs.h" #if OPEN_LIBMAIN_MISC // The contents of this file are only built if OPEN_LIBMAIN_MISC is set to true diff --git a/open_esplibs/libmain/os_cpu_a.c b/open_esplibs/libmain/os_cpu_a.c index dac5247..9ace3a8 100644 --- a/open_esplibs/libmain/os_cpu_a.c +++ b/open_esplibs/libmain/os_cpu_a.c @@ -1,3 +1,8 @@ +/* Recreated Espressif libmain os_cpu_o contents. + + Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries. + BSD Licensed as described in the file LICENSE +*/ #include "open_esplibs.h" #if OPEN_LIBMAIN_OS_CPU_A // The contents of this file are only built if OPEN_LIBMAIN_OS_CPU_A is set to true diff --git a/open_esplibs/libmain/spi_flash.c b/open_esplibs/libmain/spi_flash.c index ee2d2f4..91ee829 100644 --- a/open_esplibs/libmain/spi_flash.c +++ b/open_esplibs/libmain/spi_flash.c @@ -1,3 +1,8 @@ +/* Recreated Espressif libmain os_cpu_o contents. + + Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries. + BSD Licensed as described in the file LICENSE +*/ #include "open_esplibs.h" #if OPEN_LIBMAIN_SPI_FLASH // The contents of this file are only built if OPEN_LIBMAIN_SPI_FLASH is set to true diff --git a/open_esplibs/libmain/timers.c b/open_esplibs/libmain/timers.c index d460088..4c1edb9 100644 --- a/open_esplibs/libmain/timers.c +++ b/open_esplibs/libmain/timers.c @@ -1,3 +1,8 @@ +/* Recreated Espressif libmain timers.o contents. + + Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries. + BSD Licensed as described in the file LICENSE +*/ #include "open_esplibs.h" #if OPEN_LIBMAIN_TIMERS // The contents of this file are only built if OPEN_LIBMAIN_TIMERS is set to true diff --git a/open_esplibs/libmain/uart.c b/open_esplibs/libmain/uart.c index 5ee2699..b93d681 100644 --- a/open_esplibs/libmain/uart.c +++ b/open_esplibs/libmain/uart.c @@ -1,3 +1,8 @@ +/* Recreated Espressif libmain uart.o contents. + + Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries. + BSD Licensed as described in the file LICENSE +*/ #include "open_esplibs.h" #if OPEN_LIBMAIN_UART // The contents of this file are only built if OPEN_LIBMAIN_UART is set to true diff --git a/open_esplibs/libmain/user_interface.c b/open_esplibs/libmain/user_interface.c index 9d6865b..5e89424 100644 --- a/open_esplibs/libmain/user_interface.c +++ b/open_esplibs/libmain/user_interface.c @@ -1,3 +1,8 @@ +/* Recreated Espressif libmain user_interface.o contents. + + Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries. + BSD Licensed as described in the file LICENSE +*/ #include "open_esplibs.h" #if OPEN_LIBMAIN_USER_INTERFACE // The contents of this file are only built if OPEN_LIBMAIN_USER_INTERFACE is set to true diff --git a/open_esplibs/libmain/xtensa_context.S b/open_esplibs/libmain/xtensa_context.S index 139d5db..9e94cfd 100644 --- a/open_esplibs/libmain/xtensa_context.S +++ b/open_esplibs/libmain/xtensa_context.S @@ -1,3 +1,8 @@ +/* Recreated Espressif libmain xtensa_context.o contents. + + Copyright (C) 2015 Espressif Systems. Derived from MIT Licensed SDK libraries. + BSD Licensed as described in the file LICENSE +*/ #include "open_esplibs.h" #if OPEN_LIBMAIN_XTENSA_CONTEXT // The contents of this file are only built if OPEN_LIBMAIN_XTENSA_CONTEXT is set to true