38 Commits

Author SHA1 Message Date
aa965627d1 feat(esp8266): add new power management method 2019-08-30 20:58:32 +08:00
767d995466 feat(esp8266): refactor ESP8266(xtensa lx106) panic backtrace function 2019-08-26 16:55:20 +08:00
b061230056 feat(esp8266): refactor CCOMPARE timer and system time by microseconds
old: CCOMPARE timer triggers when CCOUNT increase to equal to CCOMPARE, then ISR will increase integer of "_xt_tick_divisor"
     to CCOMPARE and wait for next interrupt triggering

now: CCOMPARE timer triggers when CCOUNT increase to equal to CCOMPARE, then ISR will reset CCOUNT to be 0 and reset CCOMPARE
     to be integer of "_xt_tick_divisor", then wait for next interrupt triggering

Using the new method, we may get the CCOUNT value without considing if it has overflowed.
System running microseconds = g_os_ticks * microseconds per tick + CCOUNT.
2019-08-19 14:03:20 +08:00
9c19b1eedb feat(factory_test): add factory test and document 2019-06-04 15:38:35 +08:00
ea43a0c9a6 feat(system): Add global ISR swith 2019-04-28 10:40:50 +08:00
ae61e4dce3 Revert "Merge branch 'feature/add_global_isr_switch' into 'master'"
This reverts merge request !914
2019-04-28 10:32:35 +08:00
e7b8e9fa25 feat(system): Add global ISR swith 2019-04-24 14:40:02 +08:00
581935b68b feat(freertos): Add option for panic 2019-04-23 14:57:58 +08:00
f071399ade feat(freertos): Add CPU wait to save power 2019-04-22 17:48:40 +08:00
8aae2e5764 Merge branch 'feature/simplify_xtensa_code' into 'master'
Simplify xtensa platform code

See merge request sdk/ESP8266_RTOS_SDK!862
2019-04-16 19:56:05 +08:00
913188fdf3 feat(freertos): Simplify xtensa platform code
All normal ISRs are called by "_xt_isr_handler".
2019-04-16 19:49:06 +08:00
bc01a1d39c Merge branch 'feature/update_unit_test_app' into 'master'
Update unit-test-app

See merge request sdk/ESP8266_RTOS_SDK!845
2019-04-01 10:40:46 +08:00
68e990c99f feat(freertos): Clean up unused or unsupported code for ESP8266
Make it easy for other OS platform to use these code.

If users want to add other OSes, they only should add 3 files:
1. "port.c":  init task stack and switch task function
2. "osi.c": wrapper APIs to FreeRTOS from other OSes
3. "heap.c": wrapper APIs for other OSes' heap APIs
2019-03-27 11:45:57 +08:00
7e25156286 feat(freertos): Reduce close NMI time 2019-03-22 11:36:12 +08:00
b522e9a0e1 tools(unit-test-app): Modify for ESP8266
1. Remove unused or unsupported unit test
2. Add extra header file to pass compiling
3. Remove unsupported functions
2019-03-18 14:07:39 +08:00
93e3a3f542 Merge branch 'feature/add_esp_get_time_int64' into 'master'
Add API to get microseconds

See merge request sdk/ESP8266_RTOS_SDK!826
2019-03-12 14:25:05 +08:00
7fbb68f4ea feat(esp8266): Add API to get microseconds 2019-03-12 09:39:07 +08:00
b6ea4eab21 feat(freertos): Cleanup tick/idle hook functionality
Closes https://github.com/espressif/ESP8266_RTOS_SDK/issues/500
2019-03-07 11:42:50 +08:00
6fd342dd0f feat(freertos): Add configuration to speed up task switch
The global heap is 74332 bytes when connect to AP and get IP by DHCP.
2018-11-29 09:47:33 +08:00
c3e51b1a4e feat(freertos): Add crash and jump to panic for "abort()"
Remove compiling warning.
2018-10-31 19:04:01 +08:00
f730498b89 feat(freertos): Add "noreturn" to save IRAM
Put some functions to flash.
2018-10-25 17:08:32 +08:00
8c2f1c7616 docs(freertos): Modify some files license from GPL to MIT
Closes https://github.com/espressif/ESP8266_RTOS_SDK/issues/321
2018-10-11 15:01:21 +08:00
1b63208046 fix(freertos): Fix entering first stack cover wrong memory 2018-09-28 11:40:14 +08:00
bc239c0ed3 feat(esp8266): Link some functions from IRAM to flash 2018-09-17 13:50:34 +08:00
580fa88ad0 feat(freertos): Add port to get freertos rate hz 2018-09-13 15:29:46 +08:00
7e8650dd65 feat(esp8266): Refactor task watch dog
1. Remove old watch dog function
2. Put WIFI NVS index table from RAM to flash
2018-09-13 15:20:33 +08:00
0f2d83b24f fix(freertos): Fix timer frequency error when switch CPU frequncy 2018-08-21 17:48:51 +08:00
8e50ff353a fix(newlib): Fix application disable intterupt then call newlib internal mutex function 2018-07-30 19:58:11 +08:00
d5b6457704 feat(freertos): Fix FreeRTOS stack overflow checking missing 2018-07-10 15:35:15 +08:00
0a0db61155 feat(freertos): Change task stack unit from "unsigned long" to "unsigned char" 2018-07-09 19:35:00 +08:00
4268f9c971 feat(freertos): Add panic for task stack 2018-07-03 17:50:59 +08:00
ac6393b5b3 feat(esp8266): Add software watch dog panic function 2018-07-02 13:52:19 +08:00
9d0b024433 feat(esp8266): Refactor ets system headler file 2018-06-27 11:39:50 +08:00
e518650b36 feat: Don't use c_types.h in SDK 2018-05-24 20:41:29 +08:00
291c94b501 feat: Remove the use of os_printf in SDK 2018-05-24 19:52:43 +08:00
91f7080231 fix: Fix all files when change to use standard typedef 2018-05-24 19:27:41 +08:00
f82e9be787 fix: Fixing lots of compilation warnings
- fix(esp8266):
  - Adding includes for missing symbols.
  - Removing unused variables.
  - Skip unsupported packing pragmas.
  - Add rom_functions.h for symbols that come from the ESP ROM. Add attributes on
ets_printf so GCC will check the syntax of the formatting string and types of
the arguments.
  - Add ETS_GPIO_INTR_EN(DIS)ABLE macro.
  - Use gpio_output_conf instead of gpio_output_set.

- fix(freertos):
  - Define functions that are useful.
  - Use correct printf symbols when printing.

- fix(lwip):
  - Ignore the warning in sntp.

- fix(mqtt):
  - `xTicksToWait` is unsigned, can't check for less than zero. Remove
unused variables.

- fix(newlib):
  - `_free_r()` returns `void`, not `void *`.
  - Adding includes for missing symbols.

- fix(ssl):
  - Make sure functions always return a value.

Merges https://github.com/espressif/ESP8266_RTOS_SDK/pull/188
2018-05-23 14:52:26 +08:00
ba4dfbed74 feat(freertos): Restructure freertos folder to support different platform 2018-05-20 21:29:56 +08:00