You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
950 lines
24 KiB
950 lines
24 KiB
menu "Kernel"
|
|
|
|
config LOSCFG_KERNEL_MIN
|
|
bool "Enable Mini Kernel"
|
|
default y
|
|
help
|
|
This option will enable mini kernel of LiteOS.
|
|
|
|
menuconfig LOSCFG_KERNEL_SMP
|
|
bool "Enable Kernel SMP"
|
|
default n
|
|
depends on LOSCFG_ARCH_ARM_AARCH32 || LOSCFG_ARCH_ARM_AARCH64 || LOSCFG_ARCH_LINGLONG
|
|
help
|
|
This option will enable smp support of LiteOS.
|
|
|
|
if LOSCFG_KERNEL_SMP
|
|
|
|
config LOSCFG_KERNEL_SMP_CORE_NUM
|
|
int "Muti-processing Core Numbers"
|
|
default 2
|
|
help
|
|
This represents the number of muti-processing cores.
|
|
|
|
config LOSCFG_KERNEL_SMP_TASK_SYNC
|
|
bool "Enable Synchronized Task Operations"
|
|
default n
|
|
help
|
|
This option will enable task synchronized operate task across cores.
|
|
|
|
config LOSCFG_KERNEL_SMP_CALL
|
|
bool "Enable Function call cross Multi-core"
|
|
default n
|
|
select LOSCFG_SMP_CALL_STATIC_ALLOCATION if !LOSCFG_KERNEL_MEM_ALLOC
|
|
help
|
|
This option will enable function call on multi-core.
|
|
|
|
choice
|
|
prompt "SMP GC"
|
|
default LOSCFG_KERNEL_SMP_GC_SWTMR
|
|
help
|
|
This option select SMP task recycle use swtmr or idle.
|
|
|
|
config LOSCFG_KERNEL_SMP_GC_SWTMR
|
|
bool "SMP GC By SWTMR"
|
|
select LOSCFG_BASE_CORE_SWTMR
|
|
help
|
|
"This option enable SMP GC by software timer"
|
|
|
|
config LOSCFG_KERNEL_SMP_GC_IDLE
|
|
bool "SMP GC By IDLE"
|
|
help
|
|
"This option enable SMP GC by idle task"
|
|
|
|
endchoice
|
|
|
|
config LOSCFG_SMP_CALL_STATIC_ALLOCATION
|
|
bool "Enable SMP Call Static Allocation"
|
|
default n
|
|
depends on LOSCFG_KERNEL_SMP_CALL
|
|
help
|
|
This option enables SMP call static allocation.
|
|
|
|
config LOSCFG_SMP_CALL_OBJ_NUM
|
|
int "Maxium SMP Call Function Objects"
|
|
default 16
|
|
range 1 65535
|
|
depends on LOSCFG_SMP_CALL_STATIC_ALLOCATION
|
|
help
|
|
This option set the maxium static SMP call function object numbers.
|
|
|
|
endif # LOSCFG_KERNEL_SMP
|
|
|
|
menu "Basic Config"
|
|
|
|
menuconfig LOSCFG_SCHED
|
|
bool "Enable Scheduler"
|
|
default y
|
|
help
|
|
This option will enable the scheduler.
|
|
|
|
if LOSCFG_SCHED
|
|
choice
|
|
prompt "Scheduler"
|
|
default LOSCFG_SCHED_SQ
|
|
help
|
|
The scheduler used to dispatch tasks.
|
|
|
|
config LOSCFG_SCHED_SQ
|
|
bool "Single Ready Queue"
|
|
help
|
|
The scheduler uses a single ready queue.
|
|
|
|
config LOSCFG_SCHED_MQ
|
|
bool "Multi Ready Queues"
|
|
depends on LOSCFG_KERNEL_SMP
|
|
help
|
|
The scheduler uses multiple ready queues.
|
|
endchoice
|
|
|
|
choice
|
|
prompt "Load Balance"
|
|
default LOSCFG_SCHED_LOAD_BALANCE_SIMPLE
|
|
depends on LOSCFG_SCHED_MQ
|
|
help
|
|
When multiple ready queues are used, load balancer is used to balance between different cores.
|
|
|
|
config LOSCFG_SCHED_LOAD_BALANCE_SIMPLE
|
|
bool "Simple"
|
|
help
|
|
The scheduler load balance uses counts of ready tasks as cpu load.
|
|
|
|
config LOSCFG_SCHED_LOAD_BALANCE_CPUP
|
|
bool "CPUP Based Algorithm"
|
|
select LOSCFG_KERNEL_CPUP
|
|
help
|
|
The scheduler load balance uses the CPU usage calculated by cpup as cpu load.
|
|
|
|
endchoice
|
|
|
|
if !LOSCFG_KERNEL_SMP
|
|
config LOSCFG_SCHED_LATENCY
|
|
bool "Schedule Latency"
|
|
default y
|
|
depends on LOSCFG_ARCH_ARM_CORTEX_M
|
|
help
|
|
The scheduler uses pendsv.
|
|
endif
|
|
|
|
endif
|
|
|
|
menu "Task"
|
|
|
|
config LOSCFG_BASE_CORE_TIMESLICE
|
|
bool "Enable Timeslice"
|
|
default y
|
|
|
|
config LOSCFG_BASE_CORE_TIMESLICE_TIMEOUT
|
|
int "Timeslice Value(ticks)"
|
|
default 2
|
|
depends on LOSCFG_BASE_CORE_TIMESLICE
|
|
help
|
|
This represents task slice's value(ticks).
|
|
|
|
config LOSCFG_OBSOLETE_API
|
|
bool "Enable Obsolete Api"
|
|
default n
|
|
help
|
|
Task processing function parameters use the old way.
|
|
|
|
config LOSCFG_BASE_CORE_TSK_MONITOR
|
|
bool "Enable Task Monitor Function"
|
|
default y
|
|
help
|
|
This represents to be support to monitor task stack and switch info.
|
|
|
|
config LOSCFG_TASK_STACK_STATIC_ALLOCATION
|
|
bool "Enable Task Stack Create Static Allocation"
|
|
default n
|
|
help
|
|
This represents to support task stack create static allocation
|
|
|
|
config LOSCFG_TASK_STACK_DYNAMIC_ALLOCATION
|
|
bool "Enable Task Create Dynamic Allocation"
|
|
default y
|
|
depends on LOSCFG_KERNEL_MEM_ALLOC
|
|
help
|
|
This represents to support task stack create dynamic allocation
|
|
|
|
config LOSCFG_BASE_CORE_TSK_LIMIT
|
|
int "Max Task Number"
|
|
default 64
|
|
help
|
|
This represents the max number of task.
|
|
|
|
config LOSCFG_BASE_CORE_TSK_MIN_STACK_SIZE
|
|
int "Task Min Stack Size"
|
|
default 2048
|
|
help
|
|
This represents the task min stack size.
|
|
|
|
config LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE
|
|
int "Task Defalut Stack Size"
|
|
default 24576
|
|
help
|
|
This represents the task default stack size.
|
|
|
|
config LOSCFG_BASE_CORE_TSK_SWTMR_STACK_SIZE
|
|
int "Swtmr Task Stack Size"
|
|
default 24576
|
|
help
|
|
This represents the swtmr task stack size.
|
|
|
|
config LOSCFG_TSK_SWTMR_SECURE_STACK_SIZE
|
|
int "Swtmr Task Secure Stack Size"
|
|
default 2048
|
|
depends on LOSCFG_SWTMR_ACCESS_SECURE
|
|
help
|
|
This represents the swtmr task secure stack size.
|
|
|
|
config LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE
|
|
int "Idle Task Stack Size"
|
|
default 2048
|
|
help
|
|
This represents the idle task stack size.
|
|
|
|
config LOSCFG_TZ_SECURE_TSK_DEFAULT_STACK_SIZE
|
|
int "TZ secure Task default Stack Size"
|
|
default 2048
|
|
depends on LOSCFG_TRUSTZONE
|
|
help
|
|
This represents the TZ secure task default stack size .
|
|
|
|
config LOSCFG_BASE_CORE_TSK_DEFAULT_PRIO
|
|
int "Task Default Priority"
|
|
default 10
|
|
help
|
|
This represents the task default priority and the max priority is 32.
|
|
|
|
config LOSCFG_BASE_CORE_TICK_PER_SECOND
|
|
int "Tick Value Per Second"
|
|
default 100
|
|
help
|
|
This represents the tick value per second.
|
|
|
|
endmenu
|
|
|
|
choice
|
|
prompt "Sortlink Option"
|
|
default LOSCFG_BASE_CORE_USE_MULTI_LIST
|
|
help
|
|
The scheduler used to dispatch tasks.
|
|
|
|
config LOSCFG_BASE_CORE_USE_MULTI_LIST
|
|
bool "Use Multi List"
|
|
help
|
|
The scheduler uses a single ready queue.
|
|
|
|
config LOSCFG_BASE_CORE_USE_SINGLE_LIST
|
|
bool "Use Single List"
|
|
help
|
|
Use Single List for Task & Swtmr.
|
|
endchoice
|
|
|
|
config LOSCFG_STARTUP_STACK_SIZE
|
|
hex "Startup stack size"
|
|
default 0x2000
|
|
depends on LOSCFG_ARCH_RISCV
|
|
|
|
endmenu
|
|
|
|
source "kernel/base/mem/Kconfig"
|
|
|
|
menu "Interrupt Management"
|
|
|
|
config LOSCFG_ARCH_INTERRUPT_TAKEOVER
|
|
bool "Interrupt Takeover"
|
|
default y
|
|
help
|
|
Platform interrupt takeover.
|
|
|
|
if LOSCFG_ARCH_INTERRUPT_TAKEOVER
|
|
|
|
config LOSCFG_ARCH_INTERRUPT_PREEMPTION
|
|
bool "Enable Interrupt Preemption"
|
|
depends on ((LOSCFG_ARCH_ARM_AARCH64 && LOSCFG_ARM_GIC_V3) || LOSCFG_ARCH_RISCV)
|
|
default n
|
|
|
|
config LOSCFG_HWI_PRE_POST_PROCESS
|
|
bool "Enable Interrupt pre/post-processing"
|
|
default y if LOSCFG_KERNEL_LOWPOWER
|
|
|
|
config LOSCFG_HWI_WITH_ARG
|
|
bool "Enable Interrupt Create With Args"
|
|
depends on LOSCFG_KERNEL_MEM_ALLOC
|
|
default y
|
|
|
|
config LOSCFG_SHARED_IRQ
|
|
bool "Enable interrupt share"
|
|
depends on LOSCFG_HWI_WITH_ARG && !LOSCFG_ARM_GIC_LPI_ENABLE
|
|
default y
|
|
|
|
config LOSCFG_IRQ_USE_STANDALONE_STACK
|
|
bool "Use standalone interrupt stack"
|
|
default y
|
|
depends on LOSCFG_ARCH_ARM_AARCH64 || LOSCFG_ARCH_ARM_CORTEX_A || LOSCFG_ARCH_ARM_CORTEX_R
|
|
help
|
|
This option will support using standalone interrupt stack.
|
|
|
|
menuconfig LOSCFG_HWI_BOTTOM_HALF
|
|
bool "Enable Interrupt Bottom Half"
|
|
default n
|
|
depends on LOSCFG_BASE_IPC_EVENT
|
|
help
|
|
This represents to support interrupt bottom half.
|
|
|
|
if LOSCFG_HWI_BOTTOM_HALF
|
|
|
|
config LOSCFG_HWI_BOTTOM_HALF_WORK_LIMIT
|
|
int "Max Bottom Half Work Number"
|
|
default 16
|
|
help
|
|
This represents the maximum number of bottom half work.
|
|
|
|
endif # LOSCFG_HWI_BOTTOM_HALF
|
|
|
|
config LOSCFG_IRQ_STACK_SIZE
|
|
hex "Interrupt stack size"
|
|
default 0x2000
|
|
depends on LOSCFG_ARCH_RISCV
|
|
|
|
config LOSCFG_NMI_STACK_SIZE
|
|
hex "NMI stack size"
|
|
default 0x800
|
|
depends on LOSCFG_ARCH_RISCV
|
|
help
|
|
non-maskable interrupt stack size
|
|
|
|
config LOSCFG_PLATFORM_HWI_LIMIT
|
|
int "Max Hardware Interrupts"
|
|
default 96 if !LOSCFG_ARM_GIC_LPI_ENABLE
|
|
default 65536 if LOSCFG_ARM_GIC_LPI_ENABLE
|
|
range 8193 65536 if LOSCFG_ARM_GIC_LPI_ENABLE
|
|
help
|
|
This represents the maximum number of hardware interrupts, including Tick interrupt.
|
|
|
|
config LOSCFG_HWI_PRIO_LIMIT
|
|
int "Interrupt priority range"
|
|
default 32
|
|
help
|
|
This parameter indicates the total number of interrupt priorities.
|
|
endif # LOSCFG_ARCH_INTERRUPT_TAKEOVER
|
|
|
|
endmenu
|
|
|
|
menu "Exception Management"
|
|
config LOSCFG_EXC_SIMPLE_INFO
|
|
bool "Enable Exception Simple Info"
|
|
default n
|
|
help
|
|
This option is used to reduce exc output info.
|
|
|
|
config LOSCFG_EXC_STACK_SIZE
|
|
hex "Exception stack size"
|
|
default 0x800
|
|
depends on LOSCFG_ARCH_RISCV
|
|
|
|
config LOSCFG_SHELL_EXCINFO_DUMP
|
|
bool "Enable Shell excInfo"
|
|
default n
|
|
help
|
|
Answer Y to enable LiteOS support shell excInfo.
|
|
endmenu
|
|
|
|
menuconfig LOSCFG_LASLR
|
|
bool "Enable ASLR"
|
|
default n
|
|
depends on !LOSCFG_KERNEL_DYNLOAD && !LOSCFG_KERNEL_RUNSTOP && \
|
|
!LOSCFG_KERNEL_SCATTER && !LOSCFG_FS_VFS
|
|
help
|
|
Lite address space layout randomization.
|
|
|
|
if LOSCFG_LASLR
|
|
choice
|
|
prompt "ASLR mode"
|
|
default LOSCFG_LASLR_GOT
|
|
help
|
|
ASLR mode choice.
|
|
|
|
config LOSCFG_LASLR_GOT
|
|
bool "Global offset table"
|
|
help
|
|
Add .got section in elf for global symbol access and reloclate.
|
|
|
|
config LOSCFG_LASLR_GSPR
|
|
bool "Global symbol patching randomization"
|
|
help
|
|
Patching all global symbol access instruction.
|
|
endchoice
|
|
|
|
endif # LOSCFG_LASLR
|
|
|
|
menuconfig LOSCFG_BASE_CORE_SWTMR
|
|
bool "Enable Software Timer"
|
|
default y
|
|
|
|
if LOSCFG_BASE_CORE_SWTMR
|
|
|
|
config LOSCFG_BASE_CORE_SWTMR_LIMIT
|
|
int "Max Swtmr Number"
|
|
default 1024
|
|
help
|
|
This represents the maximum number of Software Timers.
|
|
|
|
config LOSCFG_BASE_CORE_SWTMR_IN_ISR
|
|
bool "Software Timer callback in interrupt"
|
|
default n
|
|
|
|
config LOSCFG_SWTMR_SYNC_DELETE
|
|
bool "Enable Software Timer Synchronous Delete Option"
|
|
default n
|
|
depends on LOSCFG_BASE_CORE_SYS_RES_CHECK
|
|
|
|
config LOSCFG_SWTMR_ACCESS_SECURE
|
|
bool "Enable Software Timer Access to Secure World"
|
|
default n
|
|
depends on LOSCFG_TRUSTZONE
|
|
|
|
endif # LOSCFG_BASE_CORE_SWTMR
|
|
|
|
menuconfig LOSCFG_BASE_IPC_QUEUE
|
|
bool "Enable Queue"
|
|
default y
|
|
|
|
if LOSCFG_BASE_IPC_QUEUE
|
|
|
|
config LOSCFG_QUEUE_STATIC_ALLOCATION
|
|
bool "Enable Queue Static Allocation"
|
|
default n
|
|
help
|
|
This option will support users to create a queue with static memory.
|
|
|
|
config LOSCFG_QUEUE_DYNAMIC_ALLOCATION
|
|
bool "Enable Queue Dynamic Allocation"
|
|
default y
|
|
depends on LOSCFG_KERNEL_MEM_ALLOC
|
|
help
|
|
This option will support dynamic memory alloction interface for users to create a queue.
|
|
|
|
config LOSCFG_BASE_IPC_QUEUE_LIMIT
|
|
int "Max Queue Number"
|
|
default 1024
|
|
help
|
|
This represents the maximum number of queues.
|
|
|
|
endif # LOSCFG_BASE_IPC_QUEUE
|
|
|
|
menuconfig LOSCFG_BASE_IPC_EVENT
|
|
bool "Enable Event"
|
|
default y
|
|
|
|
menuconfig LOSCFG_BASE_IPC_MUX
|
|
bool "Enable Mutex"
|
|
default y
|
|
|
|
if LOSCFG_BASE_IPC_MUX
|
|
|
|
choice
|
|
prompt "Mutex wait mode"
|
|
default LOSCFG_MUTEX_WAITMODE_PRIO
|
|
help
|
|
Mutex wait mode choice.
|
|
|
|
config LOSCFG_MUTEX_WAITMODE_PRIO
|
|
bool "Mutex wait with priority mode"
|
|
help
|
|
If multiple tasks are blocking and wait for a mutex, they are queued in priority mode.
|
|
|
|
config LOSCFG_MUTEX_WAITMODE_FIFO
|
|
bool "Mutex wait with fifo mode"
|
|
help
|
|
If multiple tasks are blocking and wait for a mutex, they are queued in FIFO mode.
|
|
endchoice
|
|
|
|
config LOSCFG_BASE_IPC_MUX_LIMIT
|
|
int "Max Mutex Number"
|
|
default 1024
|
|
help
|
|
This represents the maximum number of mutexes.
|
|
|
|
endif # LOSCFG_BASE_IPC_MUX
|
|
|
|
menuconfig LOSCFG_BASE_IPC_SEM
|
|
bool "Enable Sem"
|
|
default y
|
|
|
|
if LOSCFG_BASE_IPC_SEM
|
|
|
|
config LOSCFG_BASE_IPC_SEM_LIMIT
|
|
int "Max Semaphore Number"
|
|
default 1024
|
|
help
|
|
This represents the maximum number of semaphores.
|
|
|
|
endif # LOSCFG_BASE_IPC_SEM
|
|
|
|
menuconfig LOSCFG_BASE_IPC_RWSEM
|
|
bool "Enable Rwsem"
|
|
default n
|
|
|
|
if LOSCFG_BASE_IPC_RWSEM
|
|
|
|
config LOSCFG_BASE_IPC_RWSEM_LIMIT
|
|
int "Max Semaphore Number"
|
|
default 1024
|
|
help
|
|
This represents the maximum number of read and write semaphores.
|
|
The value ranges are [0, 65535].
|
|
|
|
endif # LOSCFG_BASE_IPC_RWSEM
|
|
|
|
config LOSCFG_KERNEL_NX
|
|
bool "Enable Data Sec NX Feature"
|
|
default n
|
|
help
|
|
If you need enable data section No-eXecute.
|
|
|
|
config LOSCFG_KERNEL_PRINTF
|
|
bool "Enable Kernel Printf Frame"
|
|
default y
|
|
|
|
if LOSCFG_KERNEL_PRINTF
|
|
|
|
config LOSCFG_KERNEL_PRINTF_SIZE_EXTEND
|
|
bool "Enable Kernel Printf Size Extend"
|
|
default y
|
|
depends on LOSCFG_KERNEL_MEM_ALLOC
|
|
help
|
|
If you need enable printf size extend.
|
|
|
|
endif # LOSCFG_KERNEL_PRINTF
|
|
|
|
config LOSCFG_KERNEL_RINGBUF
|
|
bool "Enable Ringbuf"
|
|
default n
|
|
help
|
|
If you wish to build LiteOS with support for ringbuf.
|
|
|
|
menuconfig LOSCFG_KERNEL_CONSOLE
|
|
bool "Enable Console"
|
|
default y
|
|
depends on LOSCFG_FS_VFS
|
|
select LOSCFG_TASK_STACK_DYNAMIC_ALLOCATION
|
|
select LOSCFG_KERNEL_RINGBUF
|
|
help
|
|
Answer Y to enable LiteOS support for console.
|
|
|
|
if LOSCFG_KERNEL_CONSOLE
|
|
|
|
config LOSCFG_CONSOLE_RINGBUFF_SIZE
|
|
int "size of console ringbuff"
|
|
default 4096
|
|
help
|
|
This option will change console ringbuff size.
|
|
|
|
endif # LOSCFG_KERNEL_CONSOLE
|
|
|
|
config LOSCFG_KERNEL_EXTKERNEL
|
|
bool "Enable Extend Kernel"
|
|
default y
|
|
help
|
|
This option will enable extend Kernel of LiteOS. Extend kernel include
|
|
cppsupport, cpup, dynload, runstop and scatter. You can select one or some
|
|
of them.
|
|
|
|
config LOSCFG_KERNEL_CPPSUPPORT
|
|
bool "C++ Support"
|
|
default y
|
|
depends on LOSCFG_KERNEL_EXTKERNEL
|
|
select LOSCFG_KERNEL_MEM_ALLOC
|
|
help
|
|
If you wish to build LiteOS with support for C++.
|
|
|
|
config LOSCFG_KERNEL_CPUP
|
|
bool "Enable Cpup"
|
|
default y
|
|
select LOSCFG_BASE_CORE_SWTMR
|
|
select LOSCFG_KERNEL_MEM_ALLOC
|
|
depends on LOSCFG_KERNEL_EXTKERNEL
|
|
help
|
|
If you wish to build LiteOS with support for cpup.
|
|
|
|
config LOSCFG_CPUP_START_STOP
|
|
bool "Enable Dynamic Cpup Start and Stop"
|
|
default n
|
|
depends on LOSCFG_KERNEL_CPUP && !LOSCFG_SCHED_LOAD_BALANCE_CPUP
|
|
help
|
|
Supporting cpup dynamic start and stop.
|
|
|
|
config LOSCFG_CPUP_INCLUDE_IRQ
|
|
bool "Enable Cpup Include Irq"
|
|
default y
|
|
depends on LOSCFG_KERNEL_CPUP && LOSCFG_ARCH_INTERRUPT_TAKEOVER
|
|
help
|
|
If you wish to include irq usage for cpup.
|
|
|
|
menu "Cpup Parameters Configuration"
|
|
depends on LOSCFG_KERNEL_CPUP
|
|
|
|
config LOSCFG_CPUP_CB_NUM_CONFIGURABLE
|
|
bool "Enable Cpup Control Block Num Configuration"
|
|
default n
|
|
depends on LOSCFG_CPUP_INCLUDE_IRQ
|
|
help
|
|
Supporting irq control block num configuration.
|
|
|
|
config LOSCFG_CPUP_IRQ_CB_NUM
|
|
int "Set Cpup Irq Control Block Number"
|
|
default LOSCFG_PLATFORM_HWI_LIMIT
|
|
range 1 LOSCFG_PLATFORM_HWI_LIMIT
|
|
depends on LOSCFG_CPUP_CB_NUM_CONFIGURABLE
|
|
help
|
|
This represents the number of cpup irq control block.
|
|
|
|
config LOSCFG_CPUP_SAMPLE_PERIOD
|
|
int "Cpup Sampling Period(Ticks)"
|
|
default LOSCFG_BASE_CORE_TICK_PER_SECOND
|
|
range 10 1000
|
|
depends on LOSCFG_KERNEL_CPUP && !LOSCFG_SCHED_LOAD_BALANCE_CPUP
|
|
help
|
|
This represents the value of software timer period, and unit is system tick.
|
|
The value is at least 10 ticks, otherwise, the cpup soft timer runs too frequently.
|
|
|
|
config LOSCFG_CPUP_HISTORY_RECORD_NUM
|
|
int "Cpup History Record Number"
|
|
range 1 10
|
|
default 10
|
|
depends on LOSCFG_KERNEL_CPUP && !LOSCFG_SCHED_LOAD_BALANCE_CPUP
|
|
help
|
|
This represents cpup sampling record time, consisting of multi sampling period.
|
|
Historical record time = LOSCFG_CPUP_SAMPLE_PERIOD * LOSCFG_CPUP_HISTORY_RECORD_NUM.
|
|
The value range is [1, 10].
|
|
endmenu
|
|
|
|
config LOSCFG_KERNEL_DYNLOAD
|
|
bool "Enable Dynamic Load Feature"
|
|
default y
|
|
depends on LOSCFG_KERNEL_EXTKERNEL
|
|
select LOSCFG_BASE_IPC_MUX
|
|
select LOSCFG_KERNEL_MEM_ALLOC
|
|
help
|
|
If you wish to build LiteOS with support for dynamic load.
|
|
If enbaled Nx then you can only load 4K aligned so files, otherwise a page fault may occur.
|
|
|
|
config LOSCFG_KERNLE_DYN_HEAPSIZE
|
|
int "Dynamic load heap size in M"
|
|
default 2
|
|
depends on LOSCFG_KERNEL_NX && LOSCFG_KERNEL_DYNLOAD
|
|
help
|
|
This represents the heap size of dynamic load in M.
|
|
|
|
menu "Dynamic Load Options"
|
|
depends on LOSCFG_KERNEL_DYNLOAD
|
|
|
|
config LOSCFG_KERNEL_DYNLOAD_DYN
|
|
bool "Enable Dynamic Load Shared object file"
|
|
default y
|
|
|
|
menu "Dynamic Load Shared object file Options"
|
|
depends on LOSCFG_KERNEL_DYNLOAD_DYN
|
|
|
|
config LOSCFG_DYNLOAD_DYN_FROM_FS
|
|
bool "Enable Dynamic Load Shared object file from FS"
|
|
default y
|
|
depends on LOSCFG_FS_VFS
|
|
|
|
config LOSCFG_DYNLOAD_DYN_FROM_MEM
|
|
bool "Enable Dynamic Load Shared object file from memory"
|
|
default y
|
|
|
|
endmenu
|
|
|
|
config LOSCFG_KERNEL_DYNLOAD_REL
|
|
bool "Enable Dynamic Load Relocatable file"
|
|
default y
|
|
|
|
menu "Dynamic Load Relocatable file Options"
|
|
depends on LOSCFG_KERNEL_DYNLOAD_REL
|
|
|
|
config LOSCFG_DYNLOAD_REL_FROM_FS
|
|
bool "Enable Dynamic Load Relocatable file from FS"
|
|
default y
|
|
depends on LOSCFG_FS_VFS
|
|
|
|
endmenu
|
|
|
|
endmenu
|
|
|
|
config LOSCFG_KERNEL_LOWPOWER
|
|
bool "Enable Low Power Management Framework"
|
|
default y
|
|
depends on LOSCFG_KERNEL_EXTKERNEL
|
|
select LOSCFG_HWI_PRE_POST_PROCESS
|
|
select LOSCFG_KERNEL_MEM_ALLOC
|
|
help
|
|
If you wish to build LiteOS with support for low power management framework.
|
|
|
|
menu "Low Power Management Configure"
|
|
depends on LOSCFG_KERNEL_LOWPOWER
|
|
|
|
config LOSCFG_KERNEL_POWERMGR
|
|
bool
|
|
default n
|
|
depends on LOSCFG_KERNEL_LOWPOWER
|
|
|
|
config LOSCFG_KERNEL_TICKLESS
|
|
bool "Enable Tickless Feature"
|
|
default y
|
|
depends on LOSCFG_KERNEL_LOWPOWER
|
|
help
|
|
If you wish to build LiteOS with support for tickless.
|
|
|
|
config LOSCFG_KERNEL_LIGHTSLEEP
|
|
bool "Enable Light Sleep Feature"
|
|
default n
|
|
depends on LOSCFG_KERNEL_LOWPOWER
|
|
select LOSCFG_KERNEL_POWERMGR
|
|
help
|
|
If you wish to build LiteOS with support for light sleep.
|
|
|
|
config LOSCFG_KERNEL_DEEPSLEEP
|
|
bool "Enable Deep Sleep Feature"
|
|
default n
|
|
depends on LOSCFG_KERNEL_LOWPOWER
|
|
select LOSCFG_KERNEL_POWERMGR
|
|
help
|
|
If you wish to build LiteOS with support for deep sleep.
|
|
|
|
config LOSCFG_KERNEL_RAM_SAVE
|
|
bool "Enable RAM Save Restore Feature"
|
|
default n
|
|
depends on LOSCFG_KERNEL_DEEPSLEEP
|
|
help
|
|
If you wish to build LiteOS with support for RAM save restore.
|
|
|
|
config LOSCFG_KERNEL_DYN_FREQ
|
|
bool "Enable Dynamic Frequency Adjustment Feature"
|
|
default n
|
|
depends on LOSCFG_KERNEL_LOWPOWER
|
|
select LOSCFG_KERNEL_POWERMGR
|
|
help
|
|
If you wish to build LiteOS with support for dynamic frequency adjustment.
|
|
|
|
config LOSCFG_LOWPOWER_SLEEP_VETO
|
|
bool "Enable Sleep Veto Feature"
|
|
default n
|
|
depends on LOSCFG_KERNEL_LOWPOWER
|
|
help
|
|
If you wish to build LiteOS with support for sleep veto.
|
|
|
|
config LOSCFG_LOWPOWER_SLEEP_USERCONFIG
|
|
bool "Enable Customized Sleep Configuration Feature"
|
|
default n
|
|
depends on LOSCFG_KERNEL_DEEPSLEEP
|
|
help
|
|
If you wish to build LiteOS with support for user defined pre/post deep sleep configuration.
|
|
|
|
config LOSCFG_LOWPOWER_SLEEP_WFI
|
|
bool "Enable Customized WFI Procedure Registration Feature"
|
|
default n
|
|
depends on LOSCFG_KERNEL_LOWPOWER
|
|
select LOSCFG_KERNEL_POWERMGR
|
|
help
|
|
If you wish to build LiteOS with support for registering defined WFI procedure of lowpower module.
|
|
|
|
config LOSCFG_KERNEL_RUNSTOP
|
|
bool "Enable Run stop Feature"
|
|
default n
|
|
depends on LOSCFG_KERNEL_LOWPOWER && (LOSCFG_DRIVERS_MTD_NAND || LOSCFG_DRIVERS_MTD_SPI_NOR) && \
|
|
LOSCFG_KERNEL_MEM_BESTFIT
|
|
help
|
|
If you wish to build LiteOS with support for run-stop.
|
|
|
|
config LOSCFG_MAX_SLEEP_TIME
|
|
int "Maximum sleep ticks"
|
|
default 10000
|
|
depends on LOSCFG_KERNEL_LOWPOWER
|
|
help
|
|
This represents the maximum deep sleep ticks.
|
|
|
|
config LOSCFG_MIN_LIGHT_SLEEP_TIME
|
|
int "Minimal light sleep ticks"
|
|
default 50
|
|
depends on LOSCFG_KERNEL_LIGHTSLEEP
|
|
help
|
|
This represents the minimal sleep ticks.
|
|
|
|
config LOSCFG_MIN_DEEP_SLEEP_TIME
|
|
int "Minimal deep sleep ticks"
|
|
range LOSCFG_MIN_LIGHT_SLEEP_TIME LOSCFG_MAX_SLEEP_TIME
|
|
default 2000
|
|
depends on LOSCFG_KERNEL_DEEPSLEEP
|
|
help
|
|
This represents the minimal deep sleep ticks.
|
|
|
|
config LOSCFG_EXT_TIMER_FREQ
|
|
int "External timer frequency"
|
|
default 1
|
|
depends on LOSCFG_KERNEL_DEEPSLEEP
|
|
help
|
|
This represents the external timer frequency.
|
|
|
|
config LOSCFG_DELTA_TICKS
|
|
int "Sleep delta ticks"
|
|
default 1
|
|
depends on LOSCFG_KERNEL_DEEPSLEEP
|
|
help
|
|
This represents the sleep delta ticks.
|
|
endmenu
|
|
|
|
config LOSCFG_KERNEL_SCATTER
|
|
bool "Enable Scatter Feature"
|
|
default y
|
|
select LOSCFG_KERNEL_MEM_ALLOC
|
|
depends on LOSCFG_KERNEL_EXTKERNEL && (LOSCFG_DRIVERS_MTD_NAND || LOSCFG_DRIVERS_MTD_SPI_NOR)
|
|
help
|
|
If you wish to build LiteOS with support for scatter.
|
|
|
|
config LOSCFG_KERNEL_PERF
|
|
bool "Enable Perf Feature"
|
|
default n
|
|
depends on LOSCFG_KERNEL_EXTKERNEL
|
|
select LOSCFG_KERNEL_RINGBUF
|
|
select LOSCFG_KERNEL_SMP_CALL if LOSCFG_KERNEL_SMP
|
|
help
|
|
If you wish to build LiteOS with support for perf.
|
|
|
|
choice
|
|
prompt "Time-consuming Calc Methods"
|
|
depends on LOSCFG_KERNEL_PERF
|
|
|
|
config LOSCFG_PERF_CALC_TIME_BY_TICK
|
|
bool "By Tick"
|
|
|
|
config LOSCFG_PERF_CALC_TIME_BY_CYCLE
|
|
bool "By Cpu Cycle"
|
|
|
|
endchoice
|
|
|
|
config LOSCFG_PERF_HW_PMU
|
|
bool "Enable Hardware Pmu Events for Sampling"
|
|
default n
|
|
depends on LOSCFG_KERNEL_PERF && LOSCFG_ARCH_PMU
|
|
|
|
config LOSCFG_PERF_TIMED_PMU
|
|
bool "Enable Hrtimer Period Events for Sampling"
|
|
default n
|
|
depends on LOSCFG_KERNEL_PERF && LOSCFG_COMPAT_LINUX_HRTIMER
|
|
|
|
config LOSCFG_PERF_SW_PMU
|
|
bool "Enable Software Events for Sampling"
|
|
default y
|
|
depends on LOSCFG_KERNEL_PERF
|
|
|
|
config LOSCFG_KERNEL_DYNSHM
|
|
bool "Enable Dynamic Shared Memory"
|
|
default n
|
|
select LOSCFG_DRIVERS_IOMMU
|
|
depends on LOSCFG_KERNEL_EXTKERNEL
|
|
help
|
|
If you wish to build LiteOS with support for dynamic shared memory.
|
|
|
|
config LOSCFG_KERNEL_DYNSHM_SECURE_ENBALE
|
|
bool "Enable Dynamic Shared Secure Memory"
|
|
default n
|
|
depends on LOSCFG_KERNEL_DYNSHM
|
|
help
|
|
If you wish to support for dynamic shared secure memory. Non-secure is supported default.
|
|
|
|
config LOSCFG_KERNEL_DYNSHM_VM_BLOCK_NUM
|
|
int "Virtual Memory Block Num"
|
|
default 1000
|
|
depends on LOSCFG_KERNEL_DYNSHM
|
|
|
|
config LOSCFG_KERNEL_TRACE
|
|
bool "Enable Trace Feature"
|
|
default n
|
|
depends on LOSCFG_KERNEL_EXTKERNEL
|
|
|
|
config LOSCFG_TRACE_MSG_EXTEND
|
|
bool "Enable Record more extended content"
|
|
default n
|
|
depends on LOSCFG_KERNEL_TRACE
|
|
|
|
config LOSCFG_TRACE_FRAME_CORE_MSG
|
|
bool "Record cpuid, hardware interrupt status, task lock status"
|
|
default n
|
|
depends on LOSCFG_TRACE_MSG_EXTEND
|
|
|
|
config LOSCFG_TRACE_FRAME_EVENT_COUNT
|
|
bool "Record event count, which indicate the sequence of happend events"
|
|
default n
|
|
depends on LOSCFG_TRACE_MSG_EXTEND
|
|
|
|
config LOSCFG_TRACE_FRAME_MAX_PARAMS
|
|
int "Record max params"
|
|
default 3
|
|
depends on LOSCFG_KERNEL_TRACE
|
|
help
|
|
Make sure the max value is bigger than the number defined by each #MODULE#_#TYPE#_PARMAS in los_trace.h, e.g. TASK_SWITCH_PARAMS
|
|
|
|
choice
|
|
prompt "Trace work mode"
|
|
default LOSCFG_RECORDER_MODE_OFFLINE
|
|
depends on LOSCFG_KERNEL_TRACE
|
|
|
|
config LOSCFG_RECORDER_MODE_ONLINE
|
|
bool "Online mode"
|
|
select LOSCFG_TRACE_CLIENT_INTERACT
|
|
|
|
config LOSCFG_RECORDER_MODE_OFFLINE
|
|
bool "Offline mode"
|
|
|
|
endchoice
|
|
|
|
config LOSCFG_TRACE_BUFFER_SIZE
|
|
int "Trace record buffer size"
|
|
default 2048
|
|
depends on LOSCFG_RECORDER_MODE_OFFLINE
|
|
|
|
config LOSCFG_TRACE_CLIENT_INTERACT
|
|
bool "Enable Trace Client Visualization and Control"
|
|
default n
|
|
depends on LOSCFG_KERNEL_TRACE
|
|
|
|
choice
|
|
prompt "Trace Pipeline for Data Transmission"
|
|
depends on LOSCFG_TRACE_CLIENT_INTERACT
|
|
|
|
config LOSCFG_TRACE_PIPELINE_SERIAL
|
|
bool "Via Serial"
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "Trace Control"
|
|
default LOSCFG_TRACE_NO_CONTROL
|
|
depends on LOSCFG_TRACE_CLIENT_INTERACT
|
|
help
|
|
If you wish to control Trace's start/stop etc.,dynamically by Trace Client.
|
|
|
|
config LOSCFG_TRACE_CONTROL_VIA_SHELL
|
|
bool "Via Shell"
|
|
select LOSCFG_SHELL
|
|
depends on LOSCFG_DEBUG_VERSION
|
|
|
|
config LOSCFG_TRACE_CONTROL_AGENT
|
|
bool "Via Trace Agent Task"
|
|
|
|
config LOSCFG_TRACE_NO_CONTROL
|
|
bool "No Control"
|
|
|
|
endchoice
|
|
|
|
config LOSCFG_BASE_CORE_SYS_RES_CHECK
|
|
bool "Enable System Resource Check"
|
|
default y
|
|
|
|
endmenu
|
|
|