]> granicus.if.org Git - esp-idf/commitdiff
esp32/lwip: adjust task stack size according 'nano' print
authorLiu Zhi Fu <liuzhifu@espressif.com>
Thu, 9 Nov 2017 01:39:01 +0000 (09:39 +0800)
committerLiu Zhi Fu <liuzhifu@espressif.com>
Thu, 9 Nov 2017 02:09:42 +0000 (10:09 +0800)
1. Adjust tcpip/main/event/timer task stack size according 'nano' print
2. If 'nano' print is disabled the task stack size reduces 512 bytes

components/esp32/Kconfig
components/esp32/include/esp_task.h
components/lwip/Kconfig

index 5a5c9c4713da565f0098a3755495497df7dd0db1..10a1bfe6722b09f66010ce4c2421559c5e8dfc57 100644 (file)
@@ -281,13 +281,13 @@ config SYSTEM_EVENT_QUEUE_SIZE
 
 config SYSTEM_EVENT_TASK_STACK_SIZE
     int "Event loop task stack size"
-    default 4096
+    default 2048
     help
         Config system event task stack size in different application.
 
 config MAIN_TASK_STACK_SIZE
     int "Main task stack size"
-    default 4096
+    default 3584
     help
         Configure the "main task" stack size. This is the stack of the task
         which calls app_main(). If app_main() returns then this task is deleted
@@ -310,7 +310,7 @@ config IPC_TASK_STACK_SIZE
 
 config TIMER_TASK_STACK_SIZE
     int "High-resolution timer task stack size"
-    default 4096
+    default 3584
     range 2048 65536
     help
         Configure the stack size of esp_timer/ets_timer task. This task is used
index f90e14a0c32d915c6732b80c08538c9af0c24773..2f01e61016449dd2e70d1b6239e6718038098b36 100644 (file)
 /* controller */
 #define ESP_TASK_BT_CONTROLLER_PRIO   (ESP_TASK_PRIO_MAX - 2)
 #ifdef CONFIG_NEWLIB_NANO_FORMAT
-#define BT_TASK_EXTRA_STACK_SIZE      (0)
+#define TASK_EXTRA_STACK_SIZE      (0)
 #else
-#define BT_TASK_EXTRA_STACK_SIZE      (512)
+#define TASK_EXTRA_STACK_SIZE      (512)
 #endif
-#define ESP_TASK_BT_CONTROLLER_STACK  (3584 + BT_TASK_EXTRA_STACK_SIZE)
+
+#define BT_TASK_EXTRA_STACK_SIZE      TASK_EXTRA_STACK_SIZE
+#define ESP_TASK_BT_CONTROLLER_STACK  (3584 + TASK_EXTRA_STACK_SIZE)
 
 
 /* idf task */
 #define ESP_TASK_TIMER_PRIO           (ESP_TASK_PRIO_MAX - 3)
-#define ESP_TASK_TIMER_STACK          CONFIG_TIMER_TASK_STACK_SIZE
+#define ESP_TASK_TIMER_STACK          (CONFIG_TIMER_TASK_STACK_SIZE +  TASK_EXTRA_STACK_SIZE)
 #define ESP_TASKD_EVENT_PRIO          (ESP_TASK_PRIO_MAX - 5)
-#define ESP_TASKD_EVENT_STACK         CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE
+#define ESP_TASKD_EVENT_STACK         (CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE + TASK_EXTRA_STACK_SIZE)
 #define ESP_TASK_TCPIP_PRIO           (ESP_TASK_PRIO_MAX - 7)
-#define ESP_TASK_TCPIP_STACK          CONFIG_TCPIP_TASK_STACK_SIZE
+#define ESP_TASK_TCPIP_STACK          (CONFIG_TCPIP_TASK_STACK_SIZE + TASK_EXTRA_STACK_SIZE)
 #define ESP_TASK_MAIN_PRIO            (ESP_TASK_PRIO_MIN + 1)
-#define ESP_TASK_MAIN_STACK           CONFIG_MAIN_TASK_STACK_SIZE
+#define ESP_TASK_MAIN_STACK           (CONFIG_MAIN_TASK_STACK_SIZE + TASK_EXTRA_STACK_SIZE)
 
 #endif
index 97f93d6f8e7b1aa7e233a3d258be48549977a4e5..c0cf5430498e44c1f04ea3f388a6b04afa513367 100644 (file)
@@ -308,11 +308,11 @@ endmenu # UDP
 
 config TCPIP_TASK_STACK_SIZE
     int "TCP/IP Task Stack Size"
-    default 2560
+    default 2048
     # for high log levels, tcpip_adapter API calls can end up
     # a few calls deep and logging there can trigger a stack overflow
-    range 2560 65536 if LOG_DEFAULT_LEVEL < 4 || NEWLIB_NANO_FORMAT
-    range 3072 65536 if LOG_DEFAULT_LEVEL >= 4 && !NEWLIB_NANO_FORMAT
+    range 2048 65536 if LOG_DEFAULT_LEVEL < 4
+    range 2560 65536 if LOG_DEFAULT_LEVEL >= 4
     help
        Configure TCP/IP task stack size, used by LWIP to process multi-threaded TCP/IP operations.
        Setting this stack too small will result in stack overflow crashes.