1*10465441SEvalZeromenu "RT-Thread Kernel" 2*10465441SEvalZero 3*10465441SEvalZeroconfig RT_NAME_MAX 4*10465441SEvalZero int "The maximal size of kernel object name" 5*10465441SEvalZero range 2 32 6*10465441SEvalZero default 8 7*10465441SEvalZero help 8*10465441SEvalZero Each kernel object, such as thread, timer, semaphore etc, has a name, 9*10465441SEvalZero the RT_NAME_MAX is the maximal size of this object name. 10*10465441SEvalZero 11*10465441SEvalZeroconfig RT_USING_SMP 12*10465441SEvalZero bool "Enable SMP(Symmetric multiprocessing)" 13*10465441SEvalZero default n 14*10465441SEvalZero help 15*10465441SEvalZero This option should be selected by machines which have an SMP- 16*10465441SEvalZero capable CPU. 17*10465441SEvalZero The only effect of this option is to make the SMP-related 18*10465441SEvalZero options available to the user for configuration. 19*10465441SEvalZero 20*10465441SEvalZeroconfig RT_CPUS_NR 21*10465441SEvalZero int "Number of CPUs" 22*10465441SEvalZero default 2 23*10465441SEvalZero depends on RT_USING_SMP 24*10465441SEvalZero help 25*10465441SEvalZero Number of CPUs in the system 26*10465441SEvalZero 27*10465441SEvalZeroconfig RT_ALIGN_SIZE 28*10465441SEvalZero int "Alignment size for CPU architecture data access" 29*10465441SEvalZero default 4 30*10465441SEvalZero help 31*10465441SEvalZero Alignment size for CPU architecture data access 32*10465441SEvalZero 33*10465441SEvalZero choice 34*10465441SEvalZero prompt "The maximal level value of priority of thread" 35*10465441SEvalZero default RT_THREAD_PRIORITY_32 36*10465441SEvalZero 37*10465441SEvalZero config RT_THREAD_PRIORITY_8 38*10465441SEvalZero bool "8" 39*10465441SEvalZero 40*10465441SEvalZero config RT_THREAD_PRIORITY_32 41*10465441SEvalZero bool "32" 42*10465441SEvalZero 43*10465441SEvalZero config RT_THREAD_PRIORITY_256 44*10465441SEvalZero bool "256" 45*10465441SEvalZero endchoice 46*10465441SEvalZero 47*10465441SEvalZeroconfig RT_THREAD_PRIORITY_MAX 48*10465441SEvalZero int 49*10465441SEvalZero default 8 if RT_THREAD_PRIORITY_8 50*10465441SEvalZero default 32 if RT_THREAD_PRIORITY_32 51*10465441SEvalZero default 256 if RT_THREAD_PRIORITY_256 52*10465441SEvalZero 53*10465441SEvalZeroconfig RT_TICK_PER_SECOND 54*10465441SEvalZero int "Tick frequency, Hz" 55*10465441SEvalZero range 10 1000 56*10465441SEvalZero default 100 57*10465441SEvalZero help 58*10465441SEvalZero System's tick frequency, Hz. 59*10465441SEvalZero 60*10465441SEvalZeroconfig RT_USING_OVERFLOW_CHECK 61*10465441SEvalZero bool "Using stack overflow checking" 62*10465441SEvalZero default y 63*10465441SEvalZero help 64*10465441SEvalZero Enable thread stack overflow checking. The stack overflow is checking when 65*10465441SEvalZero each thread switch. 66*10465441SEvalZero 67*10465441SEvalZeroconfig RT_USING_HOOK 68*10465441SEvalZero bool "Enable system hook" 69*10465441SEvalZero default y 70*10465441SEvalZero select RT_USING_IDLE_HOOK 71*10465441SEvalZero help 72*10465441SEvalZero Enable the hook function when system running, such as idle thread hook, 73*10465441SEvalZero thread context switch etc. 74*10465441SEvalZero 75*10465441SEvalZeroconfig RT_USING_IDLE_HOOK 76*10465441SEvalZero bool "Enable IDLE Task hook" 77*10465441SEvalZero default y if RT_USING_HOOK 78*10465441SEvalZero 79*10465441SEvalZero if RT_USING_IDLE_HOOK 80*10465441SEvalZero config RT_IDEL_HOOK_LIST_SIZE 81*10465441SEvalZero int "The max size of idel hook list" 82*10465441SEvalZero default 4 83*10465441SEvalZero range 1 16 84*10465441SEvalZero help 85*10465441SEvalZero The system has a hook list. This is the hook list size. 86*10465441SEvalZero endif 87*10465441SEvalZero 88*10465441SEvalZeroconfig IDLE_THREAD_STACK_SIZE 89*10465441SEvalZero int "The stack size of idle thread" 90*10465441SEvalZero default 256 91*10465441SEvalZero 92*10465441SEvalZeroconfig RT_USING_TIMER_SOFT 93*10465441SEvalZero bool "Enable software timer with a timer thread" 94*10465441SEvalZero default n 95*10465441SEvalZero help 96*10465441SEvalZero the timeout function context of soft-timer is under a high priority timer 97*10465441SEvalZero thread. 98*10465441SEvalZero 99*10465441SEvalZeroif RT_USING_TIMER_SOFT 100*10465441SEvalZeroconfig RT_TIMER_THREAD_PRIO 101*10465441SEvalZero int "The priority level value of timer thread" 102*10465441SEvalZero default 4 103*10465441SEvalZero 104*10465441SEvalZeroconfig RT_TIMER_THREAD_STACK_SIZE 105*10465441SEvalZero int "The stack size of timer thread" 106*10465441SEvalZero default 512 107*10465441SEvalZero 108*10465441SEvalZeroendif 109*10465441SEvalZero 110*10465441SEvalZeromenuconfig RT_DEBUG 111*10465441SEvalZero bool "Enable debugging features" 112*10465441SEvalZero default y 113*10465441SEvalZero 114*10465441SEvalZeroif RT_DEBUG 115*10465441SEvalZero 116*10465441SEvalZeroconfig RT_DEBUG_INIT_CONFIG 117*10465441SEvalZero bool "Enable debugging of components initialization" 118*10465441SEvalZero default n 119*10465441SEvalZero 120*10465441SEvalZeroconfig RT_DEBUG_INIT 121*10465441SEvalZero int 122*10465441SEvalZero default 1 if RT_DEBUG_INIT_CONFIG 123*10465441SEvalZero 124*10465441SEvalZeroconfig RT_DEBUG_THREAD_CONFIG 125*10465441SEvalZero bool "Enable debugging of Thread State Changes" 126*10465441SEvalZero default n 127*10465441SEvalZero 128*10465441SEvalZeroconfig RT_DEBUG_THREAD 129*10465441SEvalZero int 130*10465441SEvalZero default 1 if RT_DEBUG_THREAD_CONFIG 131*10465441SEvalZero 132*10465441SEvalZeroconfig RT_DEBUG_SCHEDULER_CONFIG 133*10465441SEvalZero bool "Enable debugging of Scheduler" 134*10465441SEvalZero default n 135*10465441SEvalZero 136*10465441SEvalZeroconfig RT_DEBUG_SCHEDULER 137*10465441SEvalZero int 138*10465441SEvalZero default 1 if RT_DEBUG_SCHEDULER_CONFIG 139*10465441SEvalZero 140*10465441SEvalZeroconfig RT_DEBUG_IPC_CONFIG 141*10465441SEvalZero bool "Enable debugging of IPC" 142*10465441SEvalZero default n 143*10465441SEvalZero 144*10465441SEvalZeroconfig RT_DEBUG_IPC 145*10465441SEvalZero int 146*10465441SEvalZero default 1 if RT_DEBUG_IPC_CONFIG 147*10465441SEvalZero 148*10465441SEvalZeroconfig RT_DEBUG_TIMER_CONFIG 149*10465441SEvalZero bool "Enable debugging of Timer" 150*10465441SEvalZero default n 151*10465441SEvalZero 152*10465441SEvalZeroconfig RT_DEBUG_TIMER 153*10465441SEvalZero int 154*10465441SEvalZero default 1 if RT_DEBUG_TIMER_CONFIG 155*10465441SEvalZero 156*10465441SEvalZeroconfig RT_DEBUG_IRQ_CONFIG 157*10465441SEvalZero bool "Enable debugging of IRQ(Interrupt Request)" 158*10465441SEvalZero default n 159*10465441SEvalZero 160*10465441SEvalZeroconfig RT_DEBUG_IRQ 161*10465441SEvalZero int 162*10465441SEvalZero default 1 if RT_DEBUG_IRQ_CONFIG 163*10465441SEvalZero 164*10465441SEvalZeroconfig RT_DEBUG_MEM_CONFIG 165*10465441SEvalZero bool "Enable debugging of Small Memory Algorithm" 166*10465441SEvalZero default n 167*10465441SEvalZero 168*10465441SEvalZeroconfig RT_DEBUG_MEM 169*10465441SEvalZero int 170*10465441SEvalZero default 1 if RT_DEBUG_MEM_CONFIG 171*10465441SEvalZero 172*10465441SEvalZeroconfig RT_DEBUG_SLAB_CONFIG 173*10465441SEvalZero bool "Enable debugging of SLAB Memory Algorithm" 174*10465441SEvalZero default n 175*10465441SEvalZero 176*10465441SEvalZeroconfig RT_DEBUG_SLAB 177*10465441SEvalZero int 178*10465441SEvalZero default 1 if RT_DEBUG_SLAB_CONFIG 179*10465441SEvalZero 180*10465441SEvalZeroconfig RT_DEBUG_MEMHEAP_CONFIG 181*10465441SEvalZero bool "Enable debugging of Memory Heap Algorithm" 182*10465441SEvalZero default n 183*10465441SEvalZero 184*10465441SEvalZeroconfig RT_DEBUG_MEMHEAP 185*10465441SEvalZero int 186*10465441SEvalZero default 1 if RT_DEBUG_MEMHEAP_CONFIG 187*10465441SEvalZero 188*10465441SEvalZeroconfig RT_DEBUG_MODULE_CONFIG 189*10465441SEvalZero bool "Enable debugging of Application Module" 190*10465441SEvalZero default n 191*10465441SEvalZero 192*10465441SEvalZeroconfig RT_DEBUG_MODULE 193*10465441SEvalZero int 194*10465441SEvalZero default 1 if RT_DEBUG_MODULE_CONFIG 195*10465441SEvalZero 196*10465441SEvalZeroendif 197*10465441SEvalZero 198*10465441SEvalZeromenu "Inter-Thread communication" 199*10465441SEvalZero 200*10465441SEvalZeroconfig RT_USING_SEMAPHORE 201*10465441SEvalZero bool "Enable semaphore" 202*10465441SEvalZero default y 203*10465441SEvalZero 204*10465441SEvalZeroconfig RT_USING_MUTEX 205*10465441SEvalZero bool "Enable mutex" 206*10465441SEvalZero default y 207*10465441SEvalZero 208*10465441SEvalZeroconfig RT_USING_EVENT 209*10465441SEvalZero bool "Enable event flag" 210*10465441SEvalZero default y 211*10465441SEvalZero 212*10465441SEvalZeroconfig RT_USING_MAILBOX 213*10465441SEvalZero bool "Enable mailbox" 214*10465441SEvalZero default y 215*10465441SEvalZero 216*10465441SEvalZeroconfig RT_USING_MESSAGEQUEUE 217*10465441SEvalZero bool "Enable message queue" 218*10465441SEvalZero default y 219*10465441SEvalZero 220*10465441SEvalZeroconfig RT_USING_SIGNALS 221*10465441SEvalZero bool "Enable signals" 222*10465441SEvalZero select RT_USING_MEMPOOL 223*10465441SEvalZero default n 224*10465441SEvalZero help 225*10465441SEvalZero A signal is an asynchronous notification sent to a specific thread 226*10465441SEvalZero in order to notify it of an event that occurred. 227*10465441SEvalZeroendmenu 228*10465441SEvalZero 229*10465441SEvalZeromenu "Memory Management" 230*10465441SEvalZero 231*10465441SEvalZero config RT_USING_MEMPOOL 232*10465441SEvalZero bool "Using memory pool" 233*10465441SEvalZero default y 234*10465441SEvalZero help 235*10465441SEvalZero Using static memory fixed partition 236*10465441SEvalZero 237*10465441SEvalZero config RT_USING_MEMHEAP 238*10465441SEvalZero bool "Using memory heap object" 239*10465441SEvalZero default n 240*10465441SEvalZero help 241*10465441SEvalZero Using memory heap object to manage dynamic memory heap. 242*10465441SEvalZero 243*10465441SEvalZero choice 244*10465441SEvalZero prompt "Dynamic Memory Management" 245*10465441SEvalZero default RT_USING_SMALL_MEM 246*10465441SEvalZero 247*10465441SEvalZero config RT_USING_NOHEAP 248*10465441SEvalZero bool "Disable Heap" 249*10465441SEvalZero 250*10465441SEvalZero config RT_USING_SMALL_MEM 251*10465441SEvalZero bool "Small Memory Algorithm" 252*10465441SEvalZero 253*10465441SEvalZero config RT_USING_SLAB 254*10465441SEvalZero bool "SLAB Algorithm for large memory" 255*10465441SEvalZero 256*10465441SEvalZero if RT_USING_MEMHEAP 257*10465441SEvalZero config RT_USING_MEMHEAP_AS_HEAP 258*10465441SEvalZero bool "Use all of memheap objects as heap" 259*10465441SEvalZero endif 260*10465441SEvalZero endchoice 261*10465441SEvalZero 262*10465441SEvalZero if RT_USING_SMALL_MEM 263*10465441SEvalZero config RT_USING_MEMTRACE 264*10465441SEvalZero bool "Enable memory trace" 265*10465441SEvalZero default n 266*10465441SEvalZero help 267*10465441SEvalZero When enable RT_USING_MEMTRACE with shell, developer can call cmd: 268*10465441SEvalZero 1. memtrace 269*10465441SEvalZero to dump memory block information. 270*10465441SEvalZero 2. memcheck 271*10465441SEvalZero to check memory block to avoid memory overwritten. 272*10465441SEvalZero 273*10465441SEvalZero And developer also can call memcheck() in each of scheduling 274*10465441SEvalZero to check memory block to find which thread has wrongly modified 275*10465441SEvalZero memory. 276*10465441SEvalZero endif 277*10465441SEvalZero 278*10465441SEvalZero config RT_USING_HEAP 279*10465441SEvalZero bool 280*10465441SEvalZero default n if RT_USING_NOHEAP 281*10465441SEvalZero default y if RT_USING_SMALL_MEM 282*10465441SEvalZero default y if RT_USING_SLAB 283*10465441SEvalZero default y if RT_USING_MEMHEAP_AS_HEAP 284*10465441SEvalZero 285*10465441SEvalZeroendmenu 286*10465441SEvalZero 287*10465441SEvalZeromenu "Kernel Device Object" 288*10465441SEvalZero 289*10465441SEvalZero config RT_USING_DEVICE 290*10465441SEvalZero bool "Using device object" 291*10465441SEvalZero default y 292*10465441SEvalZero 293*10465441SEvalZero config RT_USING_DEVICE_OPS 294*10465441SEvalZero bool "Using ops for each device object" 295*10465441SEvalZero default n 296*10465441SEvalZero 297*10465441SEvalZero config RT_USING_INTERRUPT_INFO 298*10465441SEvalZero bool "Enable additional interrupt trace information" 299*10465441SEvalZero default n 300*10465441SEvalZero help 301*10465441SEvalZero Add name and counter information for interrupt trace. 302*10465441SEvalZero 303*10465441SEvalZero config RT_USING_CONSOLE 304*10465441SEvalZero bool "Using console for rt_kprintf" 305*10465441SEvalZero default y 306*10465441SEvalZero 307*10465441SEvalZero if RT_USING_CONSOLE 308*10465441SEvalZero config RT_CONSOLEBUF_SIZE 309*10465441SEvalZero int "the buffer size for console log printf" 310*10465441SEvalZero default 128 311*10465441SEvalZero 312*10465441SEvalZero config RT_CONSOLE_DEVICE_NAME 313*10465441SEvalZero string "the device name for console" 314*10465441SEvalZero default "uart" 315*10465441SEvalZero endif 316*10465441SEvalZero 317*10465441SEvalZeroendmenu 318*10465441SEvalZero 319*10465441SEvalZeroconfig RT_VER_NUM 320*10465441SEvalZero hex 321*10465441SEvalZero default 0x40000 322*10465441SEvalZero help 323*10465441SEvalZero RT-Thread version number 324*10465441SEvalZero 325*10465441SEvalZeroendmenu 326