Alternative SDK for ESP8266
Forked from pvvx:MinEspSDKLib
A complete set of WiFi and TCP/UDP (LwIP 1.4.0) functions.
There are missing espconn API and SSL support. This SDK is aimed to optimal operation with sensors, so it will implement things like quick start after deep-sleep and possibility of controlling loading process (full start or continue sleep after poll sensors).
In purpose of power-saving, the time from resuming after deep-sleep to starting of poll sensors will be in range of 30..40 ms.
Currently (by default) after power-on/reset or after deep-sleep the TCP connection from STATION to SOFTAP typically is established less than ~540 ms, when no DHCP operation is required. The most time is wasted by WiFi initialization. The half duplex speed of TCP is greater than 1 MByte per second.
The differences from pvvx:MinEspSDKLib and other Espressif's SDK includes:
- Strict dependency-driven single-level build system (instead of messy recursive makefiles)
- Simple integration with other projects as submodule
- Less size of firmware images (by using special flags of compiler/linker)
- Functions are located in flash by default
(the
ICACHE_FLASH_ATTR
don't needed) - The special attribute
ICACHE_IRAM_ATTR
for functions, which required to be located in RAM (i.e. interrupt handlers and other hot code) - Built-in pvvx's Rapid Loader
- Built-in gdbstub
- From Espressif SDK 1.4.1 used only: libpp.a, libwpa.a, libnet80211.a, parts libphy.a, user_interface.o
- LwIP based on Open source LWIP for ESP_IOT_SDK_V1.4.0.
- Supported 48 KBytes IRAM option.
- Supported quick start using ESP Rapid Loader.
- Supported flash size from 512 KB and up to 16 MB.
- Free IRAM: 29 KBytes
- Free Heap: 52 KBytes
- Total Free RAM: 81 KBytes
- SPI_SPEED: 40MHz or 80MHz.
- SPI_MODE: QIO only.
- FLASH_SIZE: You always can use flash size equal to 512 KB. The real size of flash determines automatically when loading of firmware.
You can use esp-open-sdk for build.
The complete set for building of your project using this SDK library: lib/libsdk.a + libmicroc.a and include directory.