17d2e9d084
Currently, in Zephyr the shell thread is the lowest priority i.e. K_LOWEST_APPLICATION_THREAD_PRIO. Due to this all the other threads can preempt the shell thread. Proposed solution is to add Kconfig which gives the flexibility to change the priority of the shell thread. This is now implemented using a new Kconfig variable SHELL_THREAD_PRIORITY_OVERRIDE. By setting this option SHELL_THREAD_PRIORITY can be set. Signed-off-by: Uday Ammu <udaykiran@google.com>
240 lines
6.6 KiB
Plaintext
240 lines
6.6 KiB
Plaintext
# Shell configuration options
|
|
|
|
# Copyright (c) 2014-2015 Wind River Systems, Inc.
|
|
# Copyright (c) 2016 Intel Corporation
|
|
# Copyright (c) 2018 Nordic Semiconductor ASA
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menuconfig SHELL
|
|
bool "Shell"
|
|
imply LOG_RUNTIME_FILTERING
|
|
select POLL
|
|
|
|
if SHELL
|
|
|
|
module = SHELL
|
|
module-str = Shell
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
source "subsys/shell/Kconfig.backends"
|
|
|
|
config SHELL_MINIMAL
|
|
bool "Default config to reduce flash and memory requirements"
|
|
help
|
|
This is a meta-configuration option to significantly reduce the flash
|
|
and memory requirements of the shell. Enabling it will choose Kconfig
|
|
defaults which favor reduced flash or memory requirements over extra
|
|
features.
|
|
|
|
config SHELL_THREAD_PRIORITY_OVERRIDE
|
|
bool "Override default shell thread priority"
|
|
help
|
|
Option to change the default value of shell thread priority.
|
|
|
|
if SHELL_THREAD_PRIORITY_OVERRIDE
|
|
config SHELL_THREAD_PRIORITY
|
|
int "Shell thread priority"
|
|
default 0
|
|
help
|
|
Set thread priority of the shell
|
|
endif
|
|
|
|
config SHELL_STACK_SIZE
|
|
int "Shell thread stack size"
|
|
default 3168 if OPENTHREAD_SHELL && OPENTHREAD_JOINER
|
|
default 2616 if OPENTHREAD_SHELL
|
|
default 2048 if MULTITHREADING
|
|
default 0 if !MULTITHREADING
|
|
help
|
|
Stack size for thread created for each instance.
|
|
|
|
config SHELL_BACKSPACE_MODE_DELETE
|
|
bool "Default escape code for backspace is DELETE (0x7F)"
|
|
default y
|
|
help
|
|
Terminals have different escape code settings for backspace button.
|
|
Some terminals send code: 0x08 (backspace) other 0x7F (delete). When
|
|
this option is set shell will expect 0x7F for backspace key.
|
|
|
|
config SHELL_CMD_BUFF_SIZE
|
|
int "Shell command buffer size"
|
|
default 128 if SHELL_MINIMAL
|
|
default 256
|
|
help
|
|
Maximum command size in bytes. One byte is reserved for the string
|
|
terminator character.
|
|
|
|
config SHELL_PRINTF_BUFF_SIZE
|
|
int "Shell print buffer size"
|
|
default 30
|
|
help
|
|
Maximum text buffer size for fprintf function.
|
|
It is working like stdio buffering in Linux systems
|
|
to limit number of peripheral access calls.
|
|
|
|
config SHELL_DEFAULT_TERMINAL_WIDTH
|
|
int "Default terminal width"
|
|
default 80
|
|
help
|
|
Default terminal width is used to break lines.
|
|
|
|
config SHELL_DEFAULT_TERMINAL_HEIGHT
|
|
int "Default terminal height"
|
|
default 24
|
|
|
|
config SHELL_ARGC_MAX
|
|
int "Maximum arguments in shell command"
|
|
range 3 255
|
|
default 12
|
|
help
|
|
Maximum number of arguments that can build a command.
|
|
|
|
config SHELL_TAB
|
|
bool "Enable the Tab button support in shell"
|
|
default y if !SHELL_MINIMAL
|
|
help
|
|
Enable using the Tab button in the shell. The button
|
|
can be used for prompting commands, or for autocompletion.
|
|
This feature has high impact on flash usage.
|
|
|
|
config SHELL_TAB_AUTOCOMPLETION
|
|
bool "Enable commands autocompletion with the Tab button"
|
|
depends on SHELL_TAB
|
|
default y if !SHELL_MINIMAL
|
|
help
|
|
Enable commands and subcommands autocompletion with the Tab
|
|
key. This function can be deactivated to save some flash.
|
|
|
|
config SHELL_WILDCARD
|
|
bool "Enable wildcard support in shell"
|
|
select FNMATCH
|
|
default y if !SHELL_MINIMAL
|
|
help
|
|
Enables using wildcards: * and ? in the shell.
|
|
|
|
config SHELL_ECHO_STATUS
|
|
bool "Enable echo on shell"
|
|
default y
|
|
help
|
|
If enabled shell prints back every input byte.
|
|
|
|
config SHELL_START_OBSCURED
|
|
bool "Display asterisk when echoing"
|
|
default n
|
|
help
|
|
If enabled, don't echo actual character, but echo * instead.
|
|
This is used for login prompts.
|
|
|
|
config SHELL_VT100_COMMANDS
|
|
bool "Enable VT100 commands in shell"
|
|
default y
|
|
help
|
|
Enables VT100 commands in shell (e.g. cursor position, clear screen etc.).
|
|
|
|
config SHELL_VT100_COLORS
|
|
bool "Enable colors in shell"
|
|
depends on SHELL_VT100_COMMANDS
|
|
default y if !SHELL_MINIMAL
|
|
help
|
|
If enabled VT100 colors are used in shell (e.g. print errors in red).
|
|
|
|
config SHELL_GETOPT
|
|
bool "Enable getopt support"
|
|
select GETOPT
|
|
help
|
|
Enables getopt support in the shell.
|
|
|
|
config SHELL_METAKEYS
|
|
bool "Enable metakeys"
|
|
default y if !SHELL_MINIMAL
|
|
help
|
|
Enables shell meta keys: Ctrl+a, Ctrl+b, Ctrl+c, Ctrl+d, Ctrl+e,
|
|
Ctrl+f, Ctrl+k, Ctrl+l, Ctrl+u, Ctrl+w, Alt+b, Alt+f
|
|
Meta keys will not be active when shell echo is set to off.
|
|
|
|
config SHELL_HELP
|
|
bool "Enable help message"
|
|
default y if !SHELL_MINIMAL
|
|
help
|
|
Enables shell functions for printing formatted help message.
|
|
|
|
config SHELL_HELP_OPT_PARSE
|
|
bool "Parse -h and --help options"
|
|
depends on SHELL_HELP
|
|
depends on !SHELL_GETOPT
|
|
default y
|
|
help
|
|
Shell parses command to find '-h' or '--help' string. If the shell
|
|
finds the string, it will automatically print a help message
|
|
for a command.
|
|
|
|
config SHELL_HELP_ON_WRONG_ARGUMENT_COUNT
|
|
bool "Enable printing help on wrong argument count"
|
|
depends on SHELL_HELP
|
|
default y if !SHELL_MINIMAL
|
|
|
|
config SHELL_HISTORY
|
|
bool "Enable history in shell"
|
|
default y if !SHELL_MINIMAL
|
|
select RING_BUFFER
|
|
help
|
|
Enable commands history. History can be accessed using up and down
|
|
arrows or Ctrl+n and Ctrl+p meta keys.
|
|
|
|
config SHELL_HISTORY_BUFFER
|
|
int "History buffer in bytes"
|
|
default 128 if SHELL_MINIMAL
|
|
default 512
|
|
depends on SHELL_HISTORY
|
|
help
|
|
Number of bytes dedicated for storing executed commands.
|
|
|
|
config SHELL_STATS
|
|
bool "Enable shell statistics"
|
|
default y if !SHELL_MINIMAL
|
|
|
|
config SHELL_CMDS
|
|
bool "Enable built-in commands"
|
|
default y if !SHELL_MINIMAL
|
|
help
|
|
Enable built-in commands like 'clear', 'history', etc.
|
|
|
|
config SHELL_CMDS_RESIZE
|
|
bool "Enable resize command"
|
|
depends on SHELL_CMDS
|
|
depends on SHELL_VT100_COMMANDS
|
|
default y if !SHELL_MINIMAL
|
|
help
|
|
By default shell assumes width of a terminal screen set to 80
|
|
characters. Each time terminal screen width is changed resize command
|
|
must be called to ensure correct text display on the terminal screen.
|
|
The resize command can be turned off to save code memory (~0,5k).
|
|
|
|
config SHELL_CMDS_SELECT
|
|
bool "Enable select command"
|
|
depends on SHELL_CMDS
|
|
help
|
|
This option enables select command. It can be used to set new root
|
|
command. Exit to main command tree is with alt+r.
|
|
|
|
config SHELL_CMD_ROOT
|
|
string "Set a root command at init"
|
|
help
|
|
This option sets a root command at shell init,
|
|
and when exiting to main command tree with alt+r.
|
|
|
|
config SHELL_LOG_BACKEND
|
|
bool "Enable shell log backend"
|
|
depends on LOG && !LOG_MINIMAL
|
|
default y if LOG
|
|
help
|
|
When enabled, backend will use the shell for logging.
|
|
This option is enabled by default.
|
|
Disabling this option disables log output to all shell backends.
|
|
Disabling log output to a specific shell backend can be achieved
|
|
using the shell backend's LOG_LEVEL option
|
|
(e.g. CONFIG_SHELL_TELNET_INIT_LOG_LEVEL_NONE=y).
|
|
|
|
source "subsys/shell/modules/Kconfig"
|
|
|
|
endif # SHELL
|