esp_task.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*
  2. * SPDX-FileCopyrightText: 2019-2022 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. /* Notes:
  7. * 1. Put all task priority and stack size definition in this file
  8. * 2. If the task priority is less than 10, use ESP_TASK_PRIO_MIN + X style,
  9. * otherwise use ESP_TASK_PRIO_MAX - X style
  10. * 3. If this is a daemon task, the macro prefix is ESP_TASKD_, otherwise
  11. * it's ESP_TASK_
  12. * 4. If the configMAX_PRIORITIES is modified, please make all priority are
  13. * greater than 0
  14. * 5. Make sure esp_task.h is consistent between wifi lib and idf
  15. * 6. If changing system task priorities, please check the values documented in /api-guides/performance/speed.rst
  16. * are up to date
  17. */
  18. #ifndef _ESP_TASK_H_
  19. #define _ESP_TASK_H_
  20. #include "sdkconfig.h"
  21. #include "freertos/FreeRTOS.h"
  22. #include "freertos/FreeRTOSConfig.h"
  23. #define ESP_TASK_PRIO_MAX (configMAX_PRIORITIES)
  24. #define ESP_TASK_PRIO_MIN (0)
  25. /* Bt contoller Task */
  26. /* controller */
  27. #define ESP_TASK_BT_CONTROLLER_PRIO (ESP_TASK_PRIO_MAX - 2)
  28. #ifdef CONFIG_NEWLIB_NANO_FORMAT
  29. #define TASK_EXTRA_STACK_SIZE (0)
  30. #else
  31. #define TASK_EXTRA_STACK_SIZE (512)
  32. #endif
  33. #define BT_TASK_EXTRA_STACK_SIZE TASK_EXTRA_STACK_SIZE
  34. #define ESP_TASK_BT_CONTROLLER_STACK (3584 + TASK_EXTRA_STACK_SIZE)
  35. /* Ping Task */
  36. #define ESP_TASK_PING_STACK (2048 + TASK_EXTRA_STACK_SIZE)
  37. /* idf task */
  38. #define ESP_TASK_TIMER_PRIO (ESP_TASK_PRIO_MAX - 3)
  39. #define ESP_TASK_TIMER_STACK (CONFIG_ESP_TIMER_TASK_STACK_SIZE + TASK_EXTRA_STACK_SIZE)
  40. #define ESP_TASKD_EVENT_PRIO (ESP_TASK_PRIO_MAX - 5)
  41. #if CONFIG_LWIP_TCPIP_CORE_LOCKING
  42. #define ESP_TASKD_EVENT_STACK (CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE + TASK_EXTRA_STACK_SIZE + 2048)
  43. #else
  44. #define ESP_TASKD_EVENT_STACK (CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE + TASK_EXTRA_STACK_SIZE)
  45. #endif /* CONFIG_LWIP_TCPIP_CORE_LOCKING */
  46. #define ESP_TASK_TCPIP_PRIO (CONFIG_LWIP_TCPIP_TASK_PRIO)
  47. #define ESP_TASK_TCPIP_STACK (CONFIG_LWIP_TCPIP_TASK_STACK_SIZE + TASK_EXTRA_STACK_SIZE)
  48. #define ESP_TASK_MAIN_PRIO (ESP_TASK_PRIO_MIN + 1)
  49. #define ESP_TASK_MAIN_STACK (CONFIG_ESP_MAIN_TASK_STACK_SIZE + TASK_EXTRA_STACK_SIZE)
  50. #define ESP_TASK_MAIN_CORE CONFIG_ESP_MAIN_TASK_AFFINITY
  51. #endif