Kconfig 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. menu "RT-Thread Kernel"
  2. config RT_NAME_MAX
  3. int "The maximal size of kernel object name"
  4. range 2 32
  5. default 8
  6. help
  7. Each kernel object, such as thread, timer, semaphore etc, has a name,
  8. the RT_NAME_MAX is the maximal size of this object name.
  9. config RT_ALIGN_SIZE
  10. int "Alignment size for CPU architecture data access"
  11. default 4
  12. help
  13. Alignment size for CPU architecture data access
  14. choice
  15. prompt "The maximal level value of priority of thread"
  16. default RT_THREAD_PRIORITY_32
  17. config RT_THREAD_PRIORITY_8
  18. bool "8"
  19. config RT_THREAD_PRIORITY_32
  20. bool "32"
  21. config RT_THREAD_PRIORITY_256
  22. bool "256"
  23. endchoice
  24. config RT_THREAD_PRIORITY_MAX
  25. int
  26. default 8 if RT_THREAD_PRIORITY_8
  27. default 32 if RT_THREAD_PRIORITY_32
  28. default 256 if RT_THREAD_PRIORITY_256
  29. config RT_TICK_PER_SECOND
  30. int "Tick frequency, Hz"
  31. range 10 1000
  32. default 100
  33. help
  34. System's tick frequency, Hz.
  35. config RT_DEBUG
  36. bool "Enable debug features"
  37. default y
  38. if RT_DEBUG
  39. config RT_USING_OVERFLOW_CHECK
  40. bool "Using stack overflow checking"
  41. default y
  42. help
  43. Enable thread stack overflow checking. The stack overflow is checking when
  44. each thread switch.
  45. config RT_DEBUG_INIT
  46. int "Enable system initialization informat print"
  47. default 0
  48. help
  49. print the procedure name of initialization
  50. config RT_DEBUG_THREAD
  51. int "Enable thread switch information dump"
  52. default 0
  53. help
  54. print the switch to/from thread name when each thread context switch
  55. endif
  56. config RT_USING_HOOK
  57. bool "Enable system hook"
  58. default y
  59. help
  60. Enable the hook function when system running, such as idle thread hook,
  61. thread context switch etc.
  62. config IDLE_THREAD_STACK_SIZE
  63. int "The stack size of idle thread"
  64. default 256
  65. config RT_USING_TIMER_SOFT
  66. bool "Enable software timer with a timer thread"
  67. default n
  68. help
  69. the timeout function context of soft-timer is under a high priority timer
  70. thread.
  71. if RT_USING_TIMER_SOFT
  72. config RT_TIMER_THREAD_PRIO
  73. int "The priority level value of timer thread"
  74. default 4
  75. config RT_TIMER_THREAD_STACK_SIZE
  76. int "The stack size of timer thread"
  77. default 512
  78. endif
  79. menu "Inter-Thread communication"
  80. config RT_USING_SEMAPHORE
  81. bool "Enable semaphore"
  82. default y
  83. config RT_USING_MUTEX
  84. bool "Enable mutex"
  85. default y
  86. config RT_USING_EVENT
  87. bool "Enable event flag"
  88. default y
  89. config RT_USING_MAILBOX
  90. bool "Enable mailbox"
  91. default y
  92. config RT_USING_MESSAGEQUEUE
  93. bool "Enable message queue"
  94. default y
  95. config RT_USING_SIGNALS
  96. bool "Enable signals"
  97. select RT_USING_MEMPOOL
  98. default n
  99. help
  100. A signal is an asynchronous notification sent to a specific thread
  101. in order to notify it of an event that occurred.
  102. endmenu
  103. menu "Memory Management"
  104. config RT_USING_MEMPOOL
  105. bool "Using memory pool"
  106. default y
  107. help
  108. Using static memory fixed partition
  109. config RT_USING_MEMHEAP
  110. bool "Using memory heap object"
  111. default n
  112. help
  113. Using memory heap object to manage dynamic memory heap.
  114. choice
  115. prompt "Dynamic Memory Management"
  116. default RT_USING_SMALL_MEM
  117. config RT_USING_NOHEAP
  118. bool "Disable Heap"
  119. config RT_USING_SMALL_MEM
  120. bool "Small Memory Algorithm"
  121. config RT_USING_SLAB
  122. bool "SLAB Algorithm for large memory"
  123. if RT_USING_MEMHEAP
  124. config RT_USING_MEMHEAP_AS_HEAP
  125. bool "Use all of memheap objects as heap"
  126. endif
  127. endchoice
  128. config RT_USING_HEAP
  129. bool
  130. default n if RT_USING_NOHEAP
  131. default y if RT_USING_SMALL_MEM
  132. default y if RT_USING_SLAB
  133. default y if RT_USING_MEMHEAP_AS_HEAP
  134. endmenu
  135. menu "Kernel Device Object"
  136. config RT_USING_DEVICE
  137. bool "Using device object"
  138. default y
  139. config RT_USING_INTERRUPT_INFO
  140. bool "Enable additional interrupt trace information"
  141. default n
  142. help
  143. Add name and counter information for interrupt trace.
  144. config RT_USING_CONSOLE
  145. bool "Using console for rt_kprintf"
  146. default y
  147. if RT_USING_CONSOLE
  148. config RT_CONSOLEBUF_SIZE
  149. int "the buffer size for console log printf"
  150. default 128
  151. config RT_CONSOLE_DEVICE_NAME
  152. string "the device name for console"
  153. default "uart"
  154. endif
  155. endmenu
  156. config RT_USING_MODULE
  157. bool "The dynamic module feature"
  158. default n
  159. endmenu