- Optimized memory distribution and usage, with an increased available memory of 70 KB, up by approximately 20 KB compared to the previous SDK;
- Optimized protocol libraries, including the lwIP, ESPCONN, mbedTLS, OpenSSL and MQTT;
- Optimized Wi-Fi functionality with enhanced reliability, and added support for active/passive scanning;
- Updated boot loader to version 1.7 with increased stability;
- Added support for the 64-Mbit and 128-Mbit SPI flash;
- Added 5 new demos, i.e. websocket demo, Wi-Fi station machine demo, openssl server demo, openssl client demo and mqtt demo.
For detail, you can refer to v2.0.0 release notes.
A new branching model is applied to this repository, which consists of a master branch and release branches.
The master branch is an integration branch where bug fixes/features are gathered for compiling and functional testing.
The release branch is where releases are maintained and hot fixes (with names like release/v2.x.x) are added. Please ensure that all your production-related work are tracked with the release branches.
With this new model, we can push out bug fixes more quickly and achieve simpler maintenance.
ESP8266_RTOS_SDK's framework is quite outdated and different from the current esp-idf and we are planning to migrate ESP8266_RTOS_SDK to esp-idf eventually after v2.0.0.
However, we will firstly provide a new version of ESP8266 SDK (ESP8266_RTOS_SDK v3.0), which shares the same framework with esp-idf (esp-idf style), as a work-around, because the multi-CPU architecture is not supported by esp-idf for the time being.
Actions to be taken for ESP8266_RTOS_SDK v3.0 include the following items:
- Modify the framework to esp-idf style
- Restructure some core libraries including Wi-Fi libraries and libmain
- Update some third-party libraries including FreeRTOS, lwIP, mbedTLS, noPoll, libcoap, SPIFFS, cJSON, wolfSSL, etc.
- Update some drivers
- Others
Both the xcc and gcc compilers can be used to compile the project. However, it is recommended that the gcc compiler be used.
For more information about the gcc compiler, please refer to esp-open-sdk.
- Clone ESP8266_RTOS_SDK, i.e., to
~/ESP8266_RTOS_SDK
.
$git clone https://github.com/espressif/ESP8266_RTOS_SDK.git
-
Modify gen_misc.sh or gen_misc.bat:
- For Linux:
$export SDK_PATH=~/ESP8266_RTOS_SDK $export BIN_PATH=~/ESP8266_BIN
- For Windows:
set SDK_PATH=/c/ESP8266_RTOS_SDK set BIN_PATH=/c/ESP8266_BIN
You can use ESP8266_RTOS_SDK/examples/project_template to start your project, which can be copied anywhere, i.e., to
~/workspace/project_template
. -
Generate bins:
- For Linux:
./gen_misc.sh
- For Windows:
gen_misc.bat
-
eagle.app.v6.flash.bin should be downloaded to the address of 0x00000 in the flash.
-
eagle.app.v6.irom0text.bin should be downloaded to the address of 0x40000 in the flash.
-
blank.bin should be downloaded to the address of 0x7E000 in the flash.