FreeRTOSConfig.h 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. /*
  2. * FreeRTOS Kernel V10.4.6
  3. * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  4. *
  5. * SPDX-License-Identifier: MIT
  6. *
  7. * Permission is hereby granted, free of charge, to any person obtaining a copy of
  8. * this software and associated documentation files (the "Software"), to deal in
  9. * the Software without restriction, including without limitation the rights to
  10. * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
  11. * the Software, and to permit persons to whom the Software is furnished to do so,
  12. * subject to the following conditions:
  13. *
  14. * The above copyright notice and this permission notice shall be included in all
  15. * copies or substantial portions of the Software.
  16. *
  17. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  18. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
  19. * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
  20. * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
  21. * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  22. * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  23. *
  24. * https://www.FreeRTOS.org
  25. * https://github.com/FreeRTOS
  26. *
  27. */
  28. #ifndef FREERTOS_CONFIG_H
  29. #define FREERTOS_CONFIG_H
  30. /* The following options are read-only */
  31. #define configUSE_PREEMPTION 1
  32. #define configUSE_TIME_SLICING 1
  33. #define configUSE_PORT_OPTIMISED_TASK_SELECTION 1
  34. #define configUSE_16_BIT_TICKS 0
  35. /* The following read-only options are controlled by rtconfig.h. */
  36. #define configTICK_RATE_HZ RT_TICK_PER_SECOND
  37. #define configMAX_PRIORITIES RT_THREAD_PRIORITY_MAX
  38. #define configMAX_TASK_NAME_LEN RT_NAME_MAX
  39. #ifdef RT_USING_TIMER_SOFT
  40. #define configUSE_TIMERS 1
  41. #define configTIMER_TASK_PRIORITY (RT_THREAD_PRIORITY_MAX - 1 - RT_TIMER_THREAD_PRIO)
  42. /* RT-Thread does not use a timer queue. This option is not used. */
  43. #define configTIMER_QUEUE_LENGTH 0
  44. #define configTIMER_TASK_STACK_DEPTH RT_TIMER_THREAD_STACK_SIZE
  45. #endif
  46. /* These options can be modified to selectively disable recursive mutex */
  47. /* Take effect only if RT_USING_MUTEX is defined */
  48. #ifdef RT_USING_MUTEX
  49. #define configUSE_RECURSIVE_MUTEXES 1
  50. #define configUSE_MUTEXES 1
  51. #endif
  52. /* These options can be modified to selectively disable counting semaphore */
  53. /* Take effect only if RT_USING_SEMAPHORE is defined */
  54. #ifdef RT_USING_SEMAPHORE
  55. #define configUSE_COUNTING_SEMAPHORES 1
  56. #endif
  57. /* Memory allocation related definitions. */
  58. #define configSUPPORT_STATIC_ALLOCATION 1
  59. #ifdef RT_USING_HEAP
  60. #define configSUPPORT_DYNAMIC_ALLOCATION 1
  61. #define configTOTAL_HEAP_SIZE 10240
  62. #define configAPPLICATION_ALLOCATED_HEAP 0
  63. #endif
  64. /* Hook functions are not supported. */
  65. #define configUSE_IDLE_HOOK 0
  66. #define configUSE_TICK_HOOK 0
  67. #define configCHECK_FOR_STACK_OVERFLOW 0
  68. #define configUSE_MALLOC_FAILED_HOOK 0
  69. #define configUSE_DAEMON_TASK_STARTUP_HOOK 0
  70. /* The following features are not supported. */
  71. #define INCLUDE_xTimerPendFunctionCall 0
  72. #define configNUM_THREAD_LOCAL_STORAGE_POINTERS 0
  73. #define configUSE_CO_ROUTINES 0
  74. #define configQUEUE_REGISTRY_SIZE 0
  75. #define configUSE_QUEUE_SETS 0
  76. #define configUSE_NEWLIB_REENTRANT 0
  77. #define configUSE_TICKLESS_IDLE 0
  78. #define configQUEUE_REGISTRY_SIZE 0
  79. #define configGENERATE_RUN_TIME_STATS 0
  80. #define configUSE_TRACE_FACILITY 0
  81. #define configUSE_STATS_FORMATTING_FUNCTIONS 0
  82. /* Can be modified */
  83. #define configMINIMAL_STACK_SIZE 128
  84. /* Optional functions */
  85. #define INCLUDE_vTaskPrioritySet 1
  86. #define INCLUDE_uxTaskPriorityGet 1
  87. #define INCLUDE_vTaskDelete 1
  88. #define INCLUDE_vTaskSuspend 1
  89. #define INCLUDE_xTaskDelayUntil 1
  90. #define INCLUDE_vTaskDelay 1
  91. #define INCLUDE_xTaskGetIdleTaskHandle 1
  92. #define INCLUDE_xTaskAbortDelay 1
  93. #define INCLUDE_xSemaphoreGetMutexHolder 1
  94. #define INCLUDE_xTaskGetHandle 1
  95. #define INCLUDE_uxTaskGetStackHighWaterMark 1
  96. #define INCLUDE_uxTaskGetStackHighWaterMark2 1
  97. #define INCLUDE_eTaskGetState 1
  98. #define INCLUDE_xTaskResumeFromISR 1
  99. #define INCLUDE_xTaskGetSchedulerState 1
  100. #define INCLUDE_xTaskGetCurrentTaskHandle 1
  101. #define configUSE_APPLICATION_TASK_TAG 1
  102. #define configUSE_TASK_NOTIFICATIONS 1
  103. #define configTASK_NOTIFICATION_ARRAY_ENTRIES 3
  104. /* Other definitions can go here, e.g. configAssert*/
  105. #endif /* FREERTOS_CONFIG_H */