@27-301 27-301 released this Oct 22, 2018 · 2 commits to release/v2.x.x since this release

Assets 2

ESP8266 RTOS SDK v2.1.0

ESP8266 RTOS SDK v2.1.0 is an old-style SDK, not the ESP-IDF style. If you want to use the ESP-IDF style SDK, please refer to ESP8266 RTOS SDK V3.0 or later versions.

This is the list of changes since ESP8266 RTOS SDK v2.0.

1. System

  • remove an unsupported library, i.e. libminic.a
  • add libhal.a to sdk to solve compiling error
  • fix an error in load/store exception handler
  • fix an issue that OTA will erase rf cal sector
  • add an OTA example

2. Wi-Fi

  • support both broadcast and multicast packet for smartconfig. To use it, please upgrade your ESP-TOUCH App to v0.3.7.0
  • fix the PMK saving error when AP does not exit
  • fix an issue that watchdog is triggered because PMK calculation takes too long time
  • fix an issue that system may crash when changing Wi-Fi mode
  • update libphy.a to version 1055_8 to fix beacon timeout in some cases

3. Peripherals Driver

3.1 UART

  • fix an issue that UART fails to print at low baud rate

3.2 SPI Flash

  • modify enum SpiIntSrc_Done and SpiIntSrc_DoneEn's name
  • modify parameter types
  • change upack(1) to pack() to cancel 1-byte alignment, and therefore avoid compiling error

3.3 PWM

  • add api to stop pwm
  • add api to set the phase of each pwm channel
  • add a pwm example

4. Protocol

4.1 lwIP

  • send arp every 10s to avoid network IP change

4.2 wolfSSL

  • add the 3.15.3 version of wolfSSL library
  • add a wolfSSL client example
  • disable RC4 and RABBIT by default
  • enable TLS 1.0 and TLS 1.1 by default

4.3 WebSocket

  • fix compiling error

4.4 CoAP

  • add CoAP source code
  • add a CoAP client example
  • add a CoAP server example

@wujiangang wujiangang released this Sep 11, 2018 · 8 commits to release/v3.0 since this release

Assets 2

ESP8266_RTOS_SDK Release v3.0

This is the list of changes since pre-release v3.0-rc1.

Major Changes:

1. Compiling framework and cross-toolchain

  • Remove unused libraries and header file, i.e., libairkiss.a, libespnow.a and libpwm.a.

2. Wi-Fi

  • Optimize smartconfig and speed up configurating Wi-Fi network.
  • Fix an issue that AP parameters are saved incorrectly.
  • Fix beacon timeout in some cases.
  • Fix "panic" function reenter issue.
  • Fix WPA free data error when lack of memory.

3. Driver

  • Fix the bug of GPIO interrupt.

4. LWIP

  • Optimize UDP sending process and speed up UDP throughput.

5. newlib

  • Add configuration for console UART, including target UART number, baudrate, swap I/O pins.
Aug 16, 2018
Merge branch 'feature/speed_up_smartconfig' into 'master'
feat(smartconfig): change sync pattern match num from 2 to 1

See merge request sdk/ESP8266_RTOS_SDK!391

@wujiangang wujiangang released this Aug 10, 2018 · 378 commits to master since this release

Assets 2

V3.0-RC1

Notice:
ESP8266_RTOS_SDK V3.0 provides users with brand new framework and APIs that conform to ESP-IDF style. Considering these major changes may cause significant impact on existing projects, it's recommended that this version is only used for the implementation of new projects, instead of being used as an upgrade for any existing mass-production projects for now. However, we do have plans to further upgrade SDK V3.0 in the future, so it can better support projects that has implemented SDK 2.0 (and eariler versions).

1. Breaking Changes

Refactor SDK to be ESP-IDF style, the updated directory is as follows:

  • components
  • docs
  • examples
  • make
  • tools
  • README.md

2. New Components

  • aws iot
  • bootloader of idf compatible
  • espos
  • esptool_py
  • jsmn
  • log
  • newlib
  • NVS flash
  • partition and related scripts
  • SPI driver that support read/write without 4-byte alignment requirement
  • tcpip_adapter
  • unit test

3. Modified Functions and Features

3.1 Compiling framework and cross-toolchain

  • ESP-IDF makefile system described in docs/build_system.rst
  • Refactor the compiling framework
  • Remove gen_misc.sh, and add its configuration in menu
  • Support more C++ functions
  • Add rtc segment and attribute in esp_attr.h
  • Simplify ld files and add more macros for better control
  • Link the rodata section, including strings, into flash by default (except libpp.a and liblog.a)
  • Link FreeRTOS into flash by default
  • Only 2 MB+ SPI flash in the menuconfig is supported
  • Integrate the libhal.a library
  • Update cross-toolchain (xtensa-lx106-elf-xxx) to version 4.8.5
  • Remove two libraries that are no longer being used:
    • libminic.a
    • libmicom.a

3.2 Tools

  • Add a new menu for human-computer interaction, which can be opened by make menuconfig
  • Add support for downloading firmware with command lines
  • Add support for monitoring serial ports with command lines
  • Add realy time information for idf monitor
  • Add more configurations in menu

3.3 Systems

  • [Notice] Change the entry name of user function from user_init to app_main
  • [Notice] Remove the user_rf_cal_sector_set function from the folder applications
  • Add new flash map and partitions, which are described in docs/partition-tables.rst
  • Refactor system APIs, most of which are compatible with esp-idf
  • Refactor startup function and processe
  • Add new feature panic when a crash occurs
  • Add new feature panic when the software watch dog is triggled
  • Add support for full icache(32-KB) mode in menu
  • Fix the load/store error when "a0" is used
  • Remove two header files that are no longer being used:
    • esp_common.h
    • esp_misc.h
  • Remove three APIs and macros that are no longer applicable
    • os_printf
    • ICACHE_FLASH_ATTR
    • ICACHE_RODATA_ATTR
  • Add more configurations in menu

3.4 Drivers

  • Refactor driver APIs
  • Remove some drivers
  • Only the UART and GPIO drivers are supported in this version, others will be added in later versions.

3.5 FreeRTOS

  • Update FreeRTOS to v10.0.1
  • [Important] Modify task stack unit from "unsigned long"(4-byte) to "unsigned char"(1-byte). Therefore, user should modify the size of their task stack to original size x 4
  • Add memory mark for trace heap
  • Add configuration for HZ and CPU system-tick timer
  • Add open source FreeRTOS arch-dependent source
  • Add more configurations in menu

3.6 Wi-Fi

  • Refactor Wi-Fi, phy and sleep APIs, most of which are compatible with esp-idf
  • Add a platform adaptation layer for OS and other components
  • Add a I/O abstract adaptation layer
  • Add configuration for the maximum number of APs that can be scaned in menu
  • Add more Wi-Fi events
  • Support backup mac address
  • Remove the software coupling between Wi-Fi and other components
  • Add more configurations into menu

3.7 LWIP

  • Update LWIP to v2.0.3
  • Support socket TCP cache and retransmitation in LWIP low-layer
  • Support socket UDP cache and retransmitation in LWIP low-layer
  • Modify lwipopts.h and add more configurations in menu
  • Modify the priority of LWIP task to "configMAX_PRIORITIES - 7"
  • Remove the software coupling between LWIP and other components
  • Modify the priority of loop event task to "configMAX_PRIORITIES - 5"
  • Fix issues of LWIP TX_SINGLE_PBUF
  • Fix an error of LWIP timer tick

3.8 SSL

  • Update mbedTLS to v2.8.0
  • Update wolfSSL to v3.15.3
  • Modify esp_config.h and add more configurations in menu

3.9 MQTT

  • Fix bugs of MQTT platform

3.10 newlib

  • Support more functions and APIs
  • Add support to select the output string of stdio functions ends with CR, LF or CR+LF in menu
  • Make newlib C functions thread-safety with private reent by default
  • Add more configurations in menu
  • Add support for selecting from newlib versions
    • Nano version: only support the basic functions and features, which saves RAM and ROM
    • Normal version: support 64-bit integer and float data types, and the C99 stardard

3.11 JSON

  • Update cJSON to v1.7.6

3.12 nopoll

  • Remove nopoll

3.13 espconn

  • Remove espconn
Apr 3, 2018
Merge branch 'feature/add_ci' into 'master'
Add ci script

See merge request sdk/ESP8266_RTOS_SDK!2

@wujiangang wujiangang released this Apr 2, 2018 · 1184 commits to master since this release

Assets 2

System

  1. Memory optimization
    1.1. Support puting .rodata into flash, with modifications of ld file;
    1.2. Modify to use 16KB Cache mode, and the saved 16KB iRAM are used as heap region;
  2. Update to use heap_5.c from FreeRTOS, support multi heap pools;
  3. Update boot to version 1.7:
    3.1. boot currently use bin 3 times,if all fail, turn to boot the bin of last user;
    3.2. Support 8MB & 16MB SPI Flash;
  4. Update ld file, put .rodata in some libs to SPI Flash by default;
  5. Add gcc flag -fno-jump-tables to reduce .rodata usage;
  6. Support eon SPI Flash, dio -> qio mode;
  7. Support 8MB & 16MB SPI flash;
  8. Remove mesh support;
  9. Use gcc to compile all libs;
  10. Show stack info when exception occur;
  11. Improve dio -> qio function of some SPI Flash;
  12. Modify rom ld, export some low level functions;
  13. Fix some os_ macro;
  14. Fix deep sleep crash issue;
  15. Fix wdt crash issue in some cases;

Driver

  1. Fix the issue of hw_timer;
  2. Fix the issue of SPI tx/rx data sometimes wrong;
  3. Fix the issue of setting UART flow control;

Examples

  1. Add websocket demo;
  2. Add wifi_station_machine_demo;
  3. Add openssl server demo;
  4. Add openssl client demo;
  5. Add mqtt demo;

Protocol

Lwip

  1. Add dhcp options;
  2. Enable ETHARP_TRUST_IP_MAC in lwipopt.h;
  3. Modify dhcp/dhcps timer from 60 seconds to 1 second;
  4. Remove time() function in lwip;
  5. Rebind UDP pcb when IP changed;
  6. Fix the error of socket macro definition;
  7. Fix the connection issue of multi-clients;
  8. Fix the issue of containing more than one tcp pbuf in single tx packet;
  9. Fix lwip slow timer delay more than one second;
  10. Fix mss_local is always subtract the IPv6 header size;
  11. Fix multi-thread issues;

espconn

  1. Add source codes of espconn;

mbedTLS

  1. Fix ECP memory leak;

OpenSSL

  1. Add openssl wrap layer;
  2. Add ssl_pm_extend.c for nopoll;

MQTT

  1. Add phao mqtt support, include SSL;

WiFi

  1. Update libphy to version 1055_1;
  2. Save PMK to SPI flash, improve the station connect speed;
  3. Modify scan API, support to scan more info.;
  4. Add the description of vendor IE API;
  5. Add beacon & probe response freq IE;
  6. Add the support of CSA;
  7. Add WiFi station keep alive support;
  8. Add passive & active scan support;
  9. Add country code APIs;
  10. Add support of packets forward in softAP mode;
  11. Fix the bug of mic failure handler;
  12. Fix the issue of group key update;
  13. Fix WPA/WPA2 PTK/GTK; reinstallation vulnerability;
  14. Fix the bug of scan hidden AP;
  15. Fix some potential memory leak;
  16. Fix WiFi tx/rx status wrong which will cause LmacRxBlk:0 error;
  17. Fix WDT when call espnow delete;
  18. Fix wrong behavior of WiFi set MAC address;
  19. Fix WPS connect issue for ELECON router;
  20. Fix short of eapol resend mechanism in softAP;
  21. Fix the send issue caused by low priority of pm task;

@wujiangang wujiangang released this Mar 12, 2018 · 1194 commits to master since this release

Assets 2

System

  1. Memory optimization
    1.1. Support puting .rodata into flash, with modifications of ld file;
    1.2. Modify to use 16KB Cache mode, and the saved 16KB iRAM are used as heap region;
  2. Update to use heap_5.c from FreeRTOS, support multi heap pools;
  3. Update boot to version 1.7:
    3.1. boot currently use bin 3 times,if all fail, turn to boot the bin of last user;
    3.2. Support 8MB & 16MB SPI Flash;
  4. Update ld file, put .rodata in some libs to SPI Flash by default;
  5. Add gcc flag -fno-jump-tables to reduce .rodata usage;
  6. Support eon SPI Flash, dio -> qio mode;
  7. Support 8MB & 16MB SPI flash;
  8. Remove mesh support;
  9. Use gcc to compile all libs;
  10. Show stack info when exception occur;
  11. Improve dio -> qio function of some SPI Flash;
  12. Modify rom ld, export some low level functions;
  13. Fix some os_ macro;
  14. Fix deep sleep crash issue;
  15. Fix wdt crash issue in some cases;

Driver

  1. Fix the issue of hw_timer;
  2. Fix the issue of SPI tx/rx data sometimes wrong;
  3. Fix the issue of setting UART flow control;

Examples

  1. Add websocket demo;
  2. Add wifi_station_machine_demo;
  3. Add openssl server demo;
  4. Add openssl client demo;
  5. Add mqtt demo;

Protocol

Lwip

  1. Add dhcp options;
  2. Enable ETHARP_TRUST_IP_MAC in lwipopt.h;
  3. Modify dhcp/dhcps timer from 60 seconds to 1 second;
  4. Remove time() function in lwip;
  5. Rebind UDP pcb when IP changed;
  6. Fix the error of socket macro definition;
  7. Fix the connection issue of multi-clients;
  8. Fix the issue of containing more than one tcp pbuf in single tx packet;
  9. Fix lwip slow timer delay more than one second;
  10. Fix mss_local is always subtract the IPv6 header size;
  11. Fix multi-thread issues;

espconn

  1. Add source codes of espconn;

mbedTLS

  1. Fix ECP memory leak;

OpenSSL

  1. Add openssl wrap layer;

MQTT

  1. Add phao mqtt support;

WiFi

  1. Update libphy to version 1055_1;
  2. Save PMK to SPI flash, improve the station connect speed;
  3. Modify scan API, support to scan more info.;
  4. Add the description of vendor IE API;
  5. Add beacon & probe response freq IE;
  6. Add the support of CSA;
  7. Add WiFi station keep alive support;
  8. Add passive & active scan support;
  9. Add country code APIs;
  10. Add support of packets forward in softAP mode;
  11. Fix the bug of mic failure handler;
  12. Fix the issue of group key update;
  13. Fix WPA/WPA2 PTK/GTK; reinstallation vulnerability;
  14. Fix the bug of scan hidden AP;
  15. Fix some potential memory leak;
  16. Fix WiFi tx/rx status wrong which will cause LmacRxBlk:0 error;
  17. Fix WDT when call espnow delete;
Nov 9, 2016
NEW VERSION: 1.5.0
1.  add spi flash erase protect mechanism, boot and current runing user
bin can not been erased;
2.  add memleak debug feature;
3.  fix spi overlap issue;
4.  fix call wifi_station_disconnect, disconnect event enter twice
issue;
5.  fix crash when set opmode from station to softAP in scan done
callback;
6.  modify spi flash erase/write flow, clear protect status if needed;
7.  fix rf init data sector broken issue, add user_rf_cal_sector_set,
user application MUST have this function, refer to examples;
8.  fix system parameter sector broken issue when frequently power
on/off;
9.  fix the max value of os_timer_arm;
10. fix dns issue in some routers;
11. add sntp support;
12. update smartconfig to 2.5.4;
13. update open freedom to support send beacon packet;
14. fix seldom rf not work issue after external reset;
15. fix pwm issue;
16. fix status error got by wifi_station_get_connect_status;
17. fix assert in pp;
18. fix huawei X4 connect softAP issue;
19. optimize sleep strategy;
20. add vendor IE support;
21. update libphy.a to 1055;
22. add weak function wifi_set_backup_mac to let user set MAC;
23. fix bug of lwip and optimize socket mechanism;
24. update boot loader to v1.6;
25. update esp_init_data_default.bin
26. add mbedtls support;
27. fix other bugs;
Assets 2
  • update boot.bin to v1.5;
  • phy version to 762;
  • add wifi_station_set/get_hostname api;
  • optimize net80211;
  • optimize ssl;
  • optimize ota;
  • optimize dhcp client;
  • update smartconfig to version 2.5.3;
  • support gpio wakeup;
  • enable IGMP in lwip;
  • some modify due to phy update;
  • add espconn_init in espconn.h;
  • update cjson/freertos/ssl;
  • add lwip/nopoll source code;
  • add libairkiss.a/airkiss.h, update smart_config;
  • update esp_init_data_default.bin;
  • irom0 too large, start addr change to 0x20000;
  • some modifications for system stability;
  • header files update, add API documents (pdf & html);
  • fix a bug in wifi_send_pkt_freedom;
  • modify driver code due to _xt_isr_attach parameter changed;
  • many other optimization;