FreeRTOSConfig.h 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. /*
  2. FreeRTOS V8.1.2 - Copyright (C) 2014 Real Time Engineers Ltd.
  3. All rights reserved
  4. VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
  5. ***************************************************************************
  6. * *
  7. * FreeRTOS provides completely free yet professionally developed, *
  8. * robust, strictly quality controlled, supported, and cross *
  9. * platform software that has become a de facto standard. *
  10. * *
  11. * Help yourself get started quickly and support the FreeRTOS *
  12. * project by purchasing a FreeRTOS tutorial book, reference *
  13. * manual, or both from: http://www.FreeRTOS.org/Documentation *
  14. * *
  15. * Thank you! *
  16. * *
  17. ***************************************************************************
  18. This file is part of the FreeRTOS distribution.
  19. FreeRTOS is free software; you can redistribute it and/or modify it under
  20. the terms of the GNU General Public License (version 2) as published by the
  21. Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
  22. >>! NOTE: The modification to the GPL is included to allow you to !<<
  23. >>! distribute a combined work that includes FreeRTOS without being !<<
  24. >>! obliged to provide the source code for proprietary components !<<
  25. >>! outside of the FreeRTOS kernel. !<<
  26. FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
  27. WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  28. FOR A PARTICULAR PURPOSE. Full license text is available from the following
  29. link: http://www.freertos.org/a00114.html
  30. 1 tab == 4 spaces!
  31. ***************************************************************************
  32. * *
  33. * Having a problem? Start by reading the FAQ "My application does *
  34. * not run, what could be wrong?" *
  35. * *
  36. * http://www.FreeRTOS.org/FAQHelp.html *
  37. * *
  38. ***************************************************************************
  39. http://www.FreeRTOS.org - Documentation, books, training, latest versions,
  40. license and Real Time Engineers Ltd. contact details.
  41. http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
  42. including FreeRTOS+Trace - an indispensable productivity tool, a DOS
  43. compatible FAT file system, and our tiny thread aware UDP/IP stack.
  44. http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
  45. Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS
  46. licenses offer ticketed support, indemnification and middleware.
  47. http://www.SafeRTOS.com - High Integrity Systems also provide a safety
  48. engineered and independently SIL3 certified version for use in safety and
  49. mission critical applications that require provable dependability.
  50. 1 tab == 4 spaces!
  51. */
  52. #ifndef FREERTOS_CONFIG_H
  53. #define FREERTOS_CONFIG_H
  54. /*-----------------------------------------------------------
  55. * Application specific definitions.
  56. *
  57. * These definitions should be adjusted for your particular hardware and
  58. * application requirements.
  59. *
  60. * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
  61. * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
  62. *
  63. * See http://www.freertos.org/a00110.html.
  64. *----------------------------------------------------------*/
  65. #define configUSE_PREEMPTION 1
  66. #define configUSE_IDLE_HOOK 1
  67. #define configUSE_TICK_HOOK 1
  68. #define configCPU_CLOCK_HZ ( ( unsigned long ) 80000000 )
  69. #define configTICK_RATE_HZ ( ( TickType_t ) 1000 )
  70. #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 72 )
  71. #define configTOTAL_HEAP_SIZE ( ( size_t ) ( \
  72. 16384 /* 16kbytes for FreeRTOS data structures and heap */ \
  73. - sizeof(StaticTask_t) - configMINIMAL_STACK_SIZE * sizeof(StackType_t) /* TCB+stack for idle task */ \
  74. - sizeof(StaticTask_t) - 1024 /* TCB+stack for servers task */ \
  75. - sizeof(StaticTask_t) - 6656 /* TCB+stack for main MicroPython task */ \
  76. - sizeof(StaticTask_t) - 896 /* TCB+stack for simplelink spawn task */ \
  77. ) )
  78. #define configMAX_TASK_NAME_LEN ( 8 )
  79. #define configUSE_TRACE_FACILITY 0
  80. #define configUSE_16_BIT_TICKS 0
  81. #define configIDLE_SHOULD_YIELD 1
  82. #define configUSE_CO_ROUTINES 0
  83. #define configUSE_MUTEXES 0
  84. #define configUSE_RECURSIVE_MUTEXES 0
  85. #ifdef DEBUG
  86. #define configCHECK_FOR_STACK_OVERFLOW 1
  87. #else
  88. #define configCHECK_FOR_STACK_OVERFLOW 0
  89. #endif
  90. #define configUSE_QUEUE_SETS 0
  91. #define configUSE_COUNTING_SEMAPHORES 0
  92. #define configUSE_ALTERNATIVE_API 0
  93. #define configMAX_PRIORITIES ( 4UL )
  94. #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
  95. #define configQUEUE_REGISTRY_SIZE 0
  96. /* Timer related defines. */
  97. #define configUSE_TIMERS 0
  98. #define configTIMER_TASK_PRIORITY 2
  99. #define configTIMER_QUEUE_LENGTH 20
  100. #define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE * 2 )
  101. #ifdef DEBUG
  102. #define configUSE_MALLOC_FAILED_HOOK 1
  103. #else
  104. #define configUSE_MALLOC_FAILED_HOOK 0
  105. #endif
  106. #define configENABLE_BACKWARD_COMPATIBILITY 0
  107. /* Set the following definitions to 1 to include the API function, or zero
  108. to exclude the API function. */
  109. #define INCLUDE_vTaskPrioritySet 0
  110. #define INCLUDE_uxTaskPriorityGet 0
  111. #define INCLUDE_vTaskDelete 0
  112. #define INCLUDE_vTaskCleanUpResources 0
  113. #define INCLUDE_vTaskSuspend 0
  114. #define INCLUDE_vTaskDelayUntil 0
  115. #define INCLUDE_vTaskDelay 1
  116. #ifdef DEBUG
  117. #define INCLUDE_uxTaskGetStackHighWaterMark 1
  118. #else
  119. #define INCLUDE_uxTaskGetStackHighWaterMark 0
  120. #endif
  121. #define INCLUDE_xTaskGetSchedulerState 0
  122. #define INCLUDE_xTimerGetTimerDaemonTaskHandle 0
  123. #ifdef DEBUG
  124. #define INCLUDE_xTaskGetIdleTaskHandle 1
  125. #else
  126. #define INCLUDE_xTaskGetIdleTaskHandle 0
  127. #endif
  128. #define INCLUDE_pcTaskGetTaskName 0
  129. #define INCLUDE_eTaskGetState 0
  130. #define INCLUDE_xSemaphoreGetMutexHolder 0
  131. #define configKERNEL_INTERRUPT_PRIORITY ( 7 << 5 ) /* Priority 7, or 255 as only the top three bits are implemented. This is the lowest priority. */
  132. /* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!!
  133. See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */
  134. #define configMAX_SYSCALL_INTERRUPT_PRIORITY ( 1 << 5 ) /* Priority 5, or 160 as only the top three bits are implemented. */
  135. /* Use the Cortex-M3 optimised task selection rather than the generic C code
  136. version. */
  137. #define configUSE_PORT_OPTIMISED_TASK_SELECTION 1
  138. /* We provide a definition of ucHeap so it can go in a special segment. */
  139. #define configAPPLICATION_ALLOCATED_HEAP 1
  140. /* We use static versions of functions (like xTaskCreateStatic) */
  141. #define configSUPPORT_STATIC_ALLOCATION 1
  142. /* For threading */
  143. #define configNUM_THREAD_LOCAL_STORAGE_POINTERS 1
  144. #undef configUSE_MUTEXES
  145. #define configUSE_MUTEXES 1
  146. #undef INCLUDE_vTaskDelete
  147. #define INCLUDE_vTaskDelete 1
  148. #endif /* FREERTOS_CONFIG_H */