Merge branch 'feature/readme' into 'master'

feat(doc): Update readme to show new branch model and roadmap

See merge request sdk/ESP8266_RTOS_SDK!9
This commit is contained in:
Wu Jian Gang
2018-04-03 18:49:20 +08:00

View File

@ -1,55 +1,76 @@
# ESP8266_RTOS_SDK # # ** IMPORTANT NOTICE **
## About this repository
A new branching model is applied to this repository, which consists of a master branch and release branches.
---------- ### 1. Master branch
The master branch is an integration branch where bug fixes/features are gathered for compiling and functional testing.
ESP8266 SDK based on FreeRTOS. ### 2. Release branch
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.
## Note ## With this new model, we can push out bug fixes more quickly and achieve simpler maintenance.
APIs of "ESP8266_RTOS_SDK" are same as "ESP8266_NONOS_SDK" ## Roadmap
*ESP8266_RTOS_SDK*'s framework is quite outdated and different from the current *[esp-idf](https://github.com/espressif/esp-idf)* and we are planning to migrate *ESP8266_RTOS_SDK* to *esp-idf* eventually after *v2.0.0*.
More details in "Wiki" ! 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.
## Requrements ## Actions to be taken for *ESP8266_RTOS_SDK v3.0* include the following items:
You can use both xcc and gcc to compile your project, gcc is recommended. 1. Modify the framework to esp-idf style
For gcc, please refer to [esp-open-sdk](https://github.com/pfalcon/esp-open-sdk). 2. Restructure some core libraries including Wi-Fi libraries and libmain
3. Update some third-party libraries including FreeRTOS, lwIP, mbedTLS, noPoll, libcoap, SPIFFS, cJSON, wolfSSL, etc.
4. Update some drivers
5. Others
---
## Compile ## ## Requirements
Clone ESP8266_RTOS_SDK, e.g., to ~/ESP8266_RTOS_SDK. 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](https://github.com/pfalcon/esp-open-sdk).
## Compiling
1. Clone *ESP8266_RTOS_SDK*, i.e., to `~/ESP8266_RTOS_SDK`.
```
$git clone https://github.com/espressif/ESP8266_RTOS_SDK.git $git clone https://github.com/espressif/ESP8266_RTOS_SDK.git
```
Modify gen_misc.sh or gen_misc.bat: 2. Modify *gen_misc.sh* or *gen_misc.bat*:
For Linux:
* For Linux:
```
$export SDK_PATH=~/ESP8266_RTOS_SDK $export SDK_PATH=~/ESP8266_RTOS_SDK
$export BIN_PATH=~/ESP8266_BIN $export BIN_PATH=~/ESP8266_BIN
```
For Windows: * For Windows:
```
set SDK_PATH=/c/ESP8266_RTOS_SDK set SDK_PATH=/c/ESP8266_RTOS_SDK
set BIN_PATH=/c/ESP8266_BIN set BIN_PATH=/c/ESP8266_BIN
```
ESP8266_RTOS_SDK/examples/project_template is a project template, you can copy this to anywhere, e.g., to ~/workspace/project_template. 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 bin: 3. Generate bins:
For Linux: * For Linux:
```
./gen_misc.sh ./gen_misc.sh
```
* For Windows:
For Windows: ```
gen_misc.bat gen_misc.bat
```
Just follow the tips and steps. ## Downloading
## Download ## 1. *eagle.app.v6.flash.bin* should be downloaded to the address of *0x00000* in the flash.
eagle.app.v6.flash.bin, downloads to flash 0x00000 2. *eagle.app.v6.irom0text.bin* should be downloaded to the address of *0x40000* in the flash.
eagle.app.v6.irom0text.bin, downloads to flash 0x40000 3. *blank.bin* should be downloaded to the address of *0x7E000* in the flash.
blank.bin, downloads to flash 0x7E000