2017-01-31 21:22:25 +08:00
|
|
|
menu "RT-Thread Kernel"
|
2017-01-31 11:54:12 +08:00
|
|
|
|
|
|
|
config RT_NAME_MAX
|
|
|
|
int "The maximal size of kernel object name"
|
|
|
|
range 2 32
|
|
|
|
default 8
|
2018-07-17 19:20:04 +08:00
|
|
|
help
|
|
|
|
Each kernel object, such as thread, timer, semaphore etc, has a name,
|
2017-11-13 16:31:05 +08:00
|
|
|
the RT_NAME_MAX is the maximal size of this object name.
|
2017-01-31 11:54:12 +08:00
|
|
|
|
2019-03-26 09:03:39 +08:00
|
|
|
config RT_USING_ARCH_DATA_TYPE
|
|
|
|
bool "Use the data types defined in ARCH_CPU"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
For the data type like, `rt_uint8/int8_t, rt_uint16/int16_t, rt_uint32/int32_t`,
|
|
|
|
BSP can define these basic data types in ARCH_CPU level.
|
|
|
|
|
2019-03-26 13:08:24 +08:00
|
|
|
Please re-define these data types in rtconfig_project.h file.
|
2019-03-26 09:03:39 +08:00
|
|
|
|
2018-11-22 14:40:43 +08:00
|
|
|
config RT_USING_SMP
|
|
|
|
bool "Enable SMP(Symmetric multiprocessing)"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
This option should be selected by machines which have an SMP-
|
|
|
|
capable CPU.
|
|
|
|
The only effect of this option is to make the SMP-related
|
|
|
|
options available to the user for configuration.
|
|
|
|
|
|
|
|
config RT_CPUS_NR
|
|
|
|
int "Number of CPUs"
|
|
|
|
default 2
|
|
|
|
depends on RT_USING_SMP
|
|
|
|
help
|
|
|
|
Number of CPUs in the system
|
|
|
|
|
2017-01-31 11:54:12 +08:00
|
|
|
config RT_ALIGN_SIZE
|
|
|
|
int "Alignment size for CPU architecture data access"
|
|
|
|
default 4
|
|
|
|
help
|
|
|
|
Alignment size for CPU architecture data access
|
|
|
|
|
2018-07-17 19:20:04 +08:00
|
|
|
choice
|
2017-11-13 16:31:05 +08:00
|
|
|
prompt "The maximal level value of priority of thread"
|
|
|
|
default RT_THREAD_PRIORITY_32
|
|
|
|
|
|
|
|
config RT_THREAD_PRIORITY_8
|
|
|
|
bool "8"
|
|
|
|
|
|
|
|
config RT_THREAD_PRIORITY_32
|
|
|
|
bool "32"
|
|
|
|
|
|
|
|
config RT_THREAD_PRIORITY_256
|
|
|
|
bool "256"
|
|
|
|
endchoice
|
|
|
|
|
2017-01-31 11:54:12 +08:00
|
|
|
config RT_THREAD_PRIORITY_MAX
|
2017-11-13 16:31:05 +08:00
|
|
|
int
|
|
|
|
default 8 if RT_THREAD_PRIORITY_8
|
|
|
|
default 32 if RT_THREAD_PRIORITY_32
|
|
|
|
default 256 if RT_THREAD_PRIORITY_256
|
2017-01-31 11:54:12 +08:00
|
|
|
|
|
|
|
config RT_TICK_PER_SECOND
|
|
|
|
int "Tick frequency, Hz"
|
|
|
|
range 10 1000
|
|
|
|
default 100
|
|
|
|
help
|
|
|
|
System's tick frequency, Hz.
|
|
|
|
|
|
|
|
config RT_USING_OVERFLOW_CHECK
|
|
|
|
bool "Using stack overflow checking"
|
|
|
|
default y
|
|
|
|
help
|
2018-07-17 19:20:04 +08:00
|
|
|
Enable thread stack overflow checking. The stack overflow is checking when
|
2017-11-13 16:31:05 +08:00
|
|
|
each thread switch.
|
2017-01-31 11:54:12 +08:00
|
|
|
|
|
|
|
config RT_USING_HOOK
|
|
|
|
bool "Enable system hook"
|
|
|
|
default y
|
2018-11-10 10:45:36 +08:00
|
|
|
select RT_USING_IDLE_HOOK
|
2017-01-31 11:54:12 +08:00
|
|
|
help
|
2018-07-17 19:20:04 +08:00
|
|
|
Enable the hook function when system running, such as idle thread hook,
|
2017-11-13 16:31:05 +08:00
|
|
|
thread context switch etc.
|
2017-10-09 15:13:19 +08:00
|
|
|
|
2018-11-08 22:25:47 +08:00
|
|
|
config RT_USING_IDLE_HOOK
|
2018-11-10 10:45:36 +08:00
|
|
|
bool "Enable IDLE Task hook"
|
|
|
|
default y if RT_USING_HOOK
|
2018-11-08 22:25:47 +08:00
|
|
|
|
|
|
|
if RT_USING_IDLE_HOOK
|
2018-07-12 18:37:51 +08:00
|
|
|
config RT_IDEL_HOOK_LIST_SIZE
|
|
|
|
int "The max size of idel hook list"
|
|
|
|
default 4
|
|
|
|
range 1 16
|
|
|
|
help
|
|
|
|
The system has a hook list. This is the hook list size.
|
|
|
|
endif
|
|
|
|
|
2017-10-09 11:32:34 +08:00
|
|
|
config IDLE_THREAD_STACK_SIZE
|
2017-10-09 15:13:19 +08:00
|
|
|
int "The stack size of idle thread"
|
|
|
|
default 256
|
2017-01-31 11:54:12 +08:00
|
|
|
|
|
|
|
config RT_USING_TIMER_SOFT
|
|
|
|
bool "Enable software timer with a timer thread"
|
|
|
|
default n
|
|
|
|
help
|
2018-07-17 19:20:04 +08:00
|
|
|
the timeout function context of soft-timer is under a high priority timer
|
2017-11-13 16:31:05 +08:00
|
|
|
thread.
|
2017-01-31 11:54:12 +08:00
|
|
|
|
|
|
|
if RT_USING_TIMER_SOFT
|
|
|
|
config RT_TIMER_THREAD_PRIO
|
|
|
|
int "The priority level value of timer thread"
|
|
|
|
default 4
|
|
|
|
|
|
|
|
config RT_TIMER_THREAD_STACK_SIZE
|
|
|
|
int "The stack size of timer thread"
|
|
|
|
default 512
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
2018-07-17 19:20:04 +08:00
|
|
|
menuconfig RT_DEBUG
|
|
|
|
bool "Enable debugging features"
|
|
|
|
default y
|
|
|
|
|
|
|
|
if RT_DEBUG
|
|
|
|
|
2019-03-06 17:07:15 +08:00
|
|
|
config RT_DEBUG_COLOR
|
|
|
|
bool "Enable color debugging log"
|
|
|
|
default y
|
|
|
|
|
2018-07-17 19:20:04 +08:00
|
|
|
config RT_DEBUG_INIT_CONFIG
|
|
|
|
bool "Enable debugging of components initialization"
|
|
|
|
default n
|
|
|
|
|
|
|
|
config RT_DEBUG_INIT
|
|
|
|
int
|
|
|
|
default 1 if RT_DEBUG_INIT_CONFIG
|
|
|
|
|
|
|
|
config RT_DEBUG_THREAD_CONFIG
|
|
|
|
bool "Enable debugging of Thread State Changes"
|
|
|
|
default n
|
|
|
|
|
|
|
|
config RT_DEBUG_THREAD
|
|
|
|
int
|
|
|
|
default 1 if RT_DEBUG_THREAD_CONFIG
|
|
|
|
|
|
|
|
config RT_DEBUG_SCHEDULER_CONFIG
|
|
|
|
bool "Enable debugging of Scheduler"
|
|
|
|
default n
|
|
|
|
|
|
|
|
config RT_DEBUG_SCHEDULER
|
|
|
|
int
|
|
|
|
default 1 if RT_DEBUG_SCHEDULER_CONFIG
|
|
|
|
|
|
|
|
config RT_DEBUG_IPC_CONFIG
|
|
|
|
bool "Enable debugging of IPC"
|
|
|
|
default n
|
|
|
|
|
|
|
|
config RT_DEBUG_IPC
|
|
|
|
int
|
|
|
|
default 1 if RT_DEBUG_IPC_CONFIG
|
|
|
|
|
|
|
|
config RT_DEBUG_TIMER_CONFIG
|
|
|
|
bool "Enable debugging of Timer"
|
|
|
|
default n
|
|
|
|
|
|
|
|
config RT_DEBUG_TIMER
|
|
|
|
int
|
|
|
|
default 1 if RT_DEBUG_TIMER_CONFIG
|
|
|
|
|
|
|
|
config RT_DEBUG_IRQ_CONFIG
|
|
|
|
bool "Enable debugging of IRQ(Interrupt Request)"
|
|
|
|
default n
|
|
|
|
|
|
|
|
config RT_DEBUG_IRQ
|
|
|
|
int
|
|
|
|
default 1 if RT_DEBUG_IRQ_CONFIG
|
|
|
|
|
|
|
|
config RT_DEBUG_MEM_CONFIG
|
|
|
|
bool "Enable debugging of Small Memory Algorithm"
|
|
|
|
default n
|
|
|
|
|
|
|
|
config RT_DEBUG_MEM
|
|
|
|
int
|
|
|
|
default 1 if RT_DEBUG_MEM_CONFIG
|
|
|
|
|
|
|
|
config RT_DEBUG_SLAB_CONFIG
|
|
|
|
bool "Enable debugging of SLAB Memory Algorithm"
|
|
|
|
default n
|
|
|
|
|
|
|
|
config RT_DEBUG_SLAB
|
|
|
|
int
|
|
|
|
default 1 if RT_DEBUG_SLAB_CONFIG
|
|
|
|
|
|
|
|
config RT_DEBUG_MEMHEAP_CONFIG
|
|
|
|
bool "Enable debugging of Memory Heap Algorithm"
|
|
|
|
default n
|
|
|
|
|
|
|
|
config RT_DEBUG_MEMHEAP
|
|
|
|
int
|
|
|
|
default 1 if RT_DEBUG_MEMHEAP_CONFIG
|
|
|
|
|
|
|
|
config RT_DEBUG_MODULE_CONFIG
|
|
|
|
bool "Enable debugging of Application Module"
|
|
|
|
default n
|
|
|
|
|
|
|
|
config RT_DEBUG_MODULE
|
|
|
|
int
|
|
|
|
default 1 if RT_DEBUG_MODULE_CONFIG
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
2017-01-31 11:54:12 +08:00
|
|
|
menu "Inter-Thread communication"
|
|
|
|
|
|
|
|
config RT_USING_SEMAPHORE
|
|
|
|
bool "Enable semaphore"
|
|
|
|
default y
|
|
|
|
|
|
|
|
config RT_USING_MUTEX
|
|
|
|
bool "Enable mutex"
|
|
|
|
default y
|
|
|
|
|
|
|
|
config RT_USING_EVENT
|
|
|
|
bool "Enable event flag"
|
|
|
|
default y
|
|
|
|
|
|
|
|
config RT_USING_MAILBOX
|
|
|
|
bool "Enable mailbox"
|
|
|
|
default y
|
|
|
|
|
|
|
|
config RT_USING_MESSAGEQUEUE
|
|
|
|
bool "Enable message queue"
|
|
|
|
default y
|
|
|
|
|
2017-10-15 22:31:53 +08:00
|
|
|
config RT_USING_SIGNALS
|
|
|
|
bool "Enable signals"
|
|
|
|
select RT_USING_MEMPOOL
|
|
|
|
default n
|
|
|
|
help
|
2018-07-17 19:20:04 +08:00
|
|
|
A signal is an asynchronous notification sent to a specific thread
|
2017-10-15 22:31:53 +08:00
|
|
|
in order to notify it of an event that occurred.
|
2017-01-31 11:54:12 +08:00
|
|
|
endmenu
|
|
|
|
|
|
|
|
menu "Memory Management"
|
|
|
|
|
|
|
|
config RT_USING_MEMPOOL
|
|
|
|
bool "Using memory pool"
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Using static memory fixed partition
|
|
|
|
|
|
|
|
config RT_USING_MEMHEAP
|
|
|
|
bool "Using memory heap object"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Using memory heap object to manage dynamic memory heap.
|
|
|
|
|
2018-07-17 19:20:04 +08:00
|
|
|
choice
|
2017-11-13 16:31:05 +08:00
|
|
|
prompt "Dynamic Memory Management"
|
|
|
|
default RT_USING_SMALL_MEM
|
2017-01-31 11:54:12 +08:00
|
|
|
|
2017-11-13 16:31:05 +08:00
|
|
|
config RT_USING_NOHEAP
|
|
|
|
bool "Disable Heap"
|
2017-01-31 11:54:12 +08:00
|
|
|
|
|
|
|
config RT_USING_SMALL_MEM
|
2017-11-13 16:31:05 +08:00
|
|
|
bool "Small Memory Algorithm"
|
2017-01-31 11:54:12 +08:00
|
|
|
|
|
|
|
config RT_USING_SLAB
|
2017-11-13 16:31:05 +08:00
|
|
|
bool "SLAB Algorithm for large memory"
|
2017-01-31 11:54:12 +08:00
|
|
|
|
2017-11-13 16:31:05 +08:00
|
|
|
if RT_USING_MEMHEAP
|
|
|
|
config RT_USING_MEMHEAP_AS_HEAP
|
|
|
|
bool "Use all of memheap objects as heap"
|
|
|
|
endif
|
|
|
|
endchoice
|
|
|
|
|
2017-12-22 14:29:14 +08:00
|
|
|
if RT_USING_SMALL_MEM
|
|
|
|
config RT_USING_MEMTRACE
|
|
|
|
bool "Enable memory trace"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
When enable RT_USING_MEMTRACE with shell, developer can call cmd:
|
|
|
|
1. memtrace
|
|
|
|
to dump memory block information.
|
|
|
|
2. memcheck
|
|
|
|
to check memory block to avoid memory overwritten.
|
|
|
|
|
|
|
|
And developer also can call memcheck() in each of scheduling
|
|
|
|
to check memory block to find which thread has wrongly modified
|
|
|
|
memory.
|
|
|
|
endif
|
|
|
|
|
2017-11-13 16:31:05 +08:00
|
|
|
config RT_USING_HEAP
|
2018-07-17 19:20:04 +08:00
|
|
|
bool
|
2017-11-13 16:31:05 +08:00
|
|
|
default n if RT_USING_NOHEAP
|
|
|
|
default y if RT_USING_SMALL_MEM
|
|
|
|
default y if RT_USING_SLAB
|
|
|
|
default y if RT_USING_MEMHEAP_AS_HEAP
|
2017-01-31 11:54:12 +08:00
|
|
|
|
|
|
|
endmenu
|
|
|
|
|
|
|
|
menu "Kernel Device Object"
|
|
|
|
|
|
|
|
config RT_USING_DEVICE
|
|
|
|
bool "Using device object"
|
|
|
|
default y
|
|
|
|
|
2018-06-10 17:59:17 +08:00
|
|
|
config RT_USING_DEVICE_OPS
|
|
|
|
bool "Using ops for each device object"
|
|
|
|
default n
|
|
|
|
|
2017-11-03 21:08:00 +08:00
|
|
|
config RT_USING_INTERRUPT_INFO
|
|
|
|
bool "Enable additional interrupt trace information"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Add name and counter information for interrupt trace.
|
|
|
|
|
2017-01-31 11:54:12 +08:00
|
|
|
config RT_USING_CONSOLE
|
|
|
|
bool "Using console for rt_kprintf"
|
|
|
|
default y
|
|
|
|
|
|
|
|
if RT_USING_CONSOLE
|
|
|
|
config RT_CONSOLEBUF_SIZE
|
|
|
|
int "the buffer size for console log printf"
|
|
|
|
default 128
|
|
|
|
|
|
|
|
config RT_CONSOLE_DEVICE_NAME
|
|
|
|
string "the device name for console"
|
|
|
|
default "uart"
|
|
|
|
endif
|
|
|
|
|
|
|
|
endmenu
|
|
|
|
|
2018-11-27 13:47:03 +08:00
|
|
|
config RT_VER_NUM
|
|
|
|
hex
|
2019-01-28 20:11:45 +08:00
|
|
|
default 0x40001
|
2018-11-27 13:47:03 +08:00
|
|
|
help
|
|
|
|
RT-Thread version number
|
|
|
|
|
2017-01-31 11:54:12 +08:00
|
|
|
endmenu
|