37 Commits

Author SHA1 Message Date
e15f211d46 feat(esp8266): Add "putc" and "vprintf" of version "ets_" 2018-05-25 19:28:36 +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
b9922f5116 fix: Fix warning while esp_libc update 2018-05-24 14:47:14 +08:00
29f5577ac6 feat(esp8266): Don't use ICACHE_FLASH_ATTR in SDK side 2018-05-24 12:38:06 +08:00
d75ffa61eb feat(esp8266): Don't use ICACHE_RODATA_ATTR to let string to be in flash
rodata will be in flash by default.
2018-05-24 11:02:34 +08:00
2e1fb87aaf feat(heap): Fix heap parameters
Line = 0 will make it alloc memory at iram.
2018-05-24 10:26:17 +08:00
73f23833ec Make sure vShowMalloc() doesn't crash.
fix(freertos): Only show the file name if the pointer is not NULL. Try
to shorten the path to only the last components (mydir/foo.c =>
foo.c). Use fixed-width specifiers instead of tab characters.

Merges https://github.com/espressif/ESP8266_RTOS_SDK/pull/192
2018-05-24 08:57:36 +08:00
c31e4a3633 Improve pvPortMalloc() and family.
fix(freertos): Better implementation of realloc, calloc and zalloc.
Implement them with the same symmetry as malloc. Removes duplicate and
nearly identical implementations. Make the libc symbols aliases of the
non-tracing versions.

This improves on my previous patch for espressif/ESP8266_RTOS_SDK#189.
2018-05-24 08:57:29 +08:00
24ef94f811 Improve pvPortMalloc() and family.
fix(esp8266): If MEMLEAK_DEBUG is defined, create an alternate function
called `.._trace` that for each of `pvPortMalloc`, `pvPortZalloc`,
`pvPortCalloc` and `vPortFree`. The original function delegates to this new
tracing function but uses NULL and 0 for the file and line number. This ensures
that the pvPortMalloc exists as a symbol that can be used by the binary blobs
without any problems.

Example output from earlier usage:

~~~
--------Show Malloc--------
F:ppT	L:512	malloc 2064	@ 0x3ffefd08
F:pmT	L:256	malloc 1040	@ 0x3fff0518
F:tiT	L:512	malloc 2064	@ 0x3fff0928
F:uiT	L:640	malloc 2576	@ 0x3fff1138
F:IDLE	L:176	malloc 720	@ 0x3fff1b48
F:Tmr Svc	L:512	malloc 2064	@ 0x3fff1e18
~~~

fix(lwip): Remove declarations of `pvPortMalloc()` and family.

This fixes some of the issues in espressif/ESP8266_RTOS_SDK#189 but some of the
example applications fails. Not ready for merge but comments on my approach
will be appreciated.
2018-05-24 08:57:21 +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
97bcae3801 feat(freertos): Move freertos related files from esp8266 to freertos 2018-05-20 21:29:56 +08:00
ba4dfbed74 feat(freertos): Restructure freertos folder to support different platform 2018-05-20 21:29:56 +08:00
96c273895b feat: Removing executable file mode for code most files
Merges https://github.com/espressif/ESP8266_RTOS_SDK/pull/186
2018-05-20 20:39:38 +08:00
b0afbf3cd0 Merge branch 'master' into 'feature/newlib'
# Conflicts:
#   components/freertos/include/port/freertos/FreeRTOSConfig.h
2018-05-18 15:00:11 +08:00
d7e96f9ea0 feat(newlib): Add lock function
Fixed some warnings due to the lack of macrodefinition.
2018-05-16 10:03:09 +08:00
0c633ce7ce feat(freertos): Use "reent" default. 2018-05-14 17:24:29 +08:00
94fc5d6276 feat(freertos): Add FreeRTOS private data API 2018-05-14 16:55:15 +08:00
30de450816 feat(newlib): Add newlib platform function 2018-05-14 14:30:42 +08:00
3a724ca78c feat(kconfig): Add option to kconfig
Add option to enable reent function.
2018-05-11 14:26:57 +08:00
80cc30ceb3 feat(freertos): Add cmake script 2018-05-04 10:40:25 +08:00
0e8280e1dc feat(freertos): Put freertos in flash by default 2018-04-27 21:56:36 +08:00
2f058746c0 Merge branch 'feature/update_freertos_to_newest' into 'master'
update freertos to v10.0.1

See merge request sdk/ESP8266_RTOS_SDK!95
2018-04-27 20:58:20 +08:00
bfe7957820 feat(freertos): Add backward compatibility 2018-04-27 20:54:32 +08:00
025f49d228 feat(freertos): Initialize cpu_sr when FreeRTOS core call port function xPortStartScheduler 2018-04-27 20:54:32 +08:00
8418cb26d2 feat(freertos): Make components compiling OK 2018-04-27 20:54:32 +08:00
e10c902c3e feat(freertos): Update FreeRTOS version to TAG 1.2.3
URL: https://github.com/aws/amazon-freertos
2018-04-27 20:54:32 +08:00
48f338bf35 feat(freertos): Change FreeRTOS directory structure to prepare updating it 2018-04-27 19:54:53 +08:00
632af7388e feat(esp8266): Add panic function when crash 2018-04-27 17:54:26 +08:00
895b1b7a6f feat(wolfssl): Add wolfssl commercial library V3.14.0 2018-04-23 13:56:34 +08:00
9ef67e4505 feat(freertos): Add port to pass compiling 2018-04-19 20:16:48 +08:00
bd343310d4 feat(freertos): Change macro "HDL_MAC_SIG_IN_LV1_ISR" to function 2018-04-19 17:37:33 +08:00
e3cdb2dae3 feat(structure): Re-structure some include 2018-04-08 20:42:35 +08:00
1297a40846 fix(component.mk): Fix component.mk error of some component 2018-04-08 14:47:24 +08:00
02b22162ca feat(freertos): add 'freertos' to components 2018-04-04 20:00:17 +08:00
90e6243abe feat(freertos): Move freertos to components 2018-04-04 19:58:48 +08:00