CONFIG_COVERAGE has been incorrectly used to change other kconfig options (stack sizes, etc) code defaults, as well as some samples behaviour, which should not have dependend on it. Instead those should have depended on COVERAGE_GCOV, which, being the one which adds special code and temporary RAM storage for embedded targets, require changes to many features. When building for the native targets, all this was unnecessary. => Fix the dependency. Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
348 lines
10 KiB
Plaintext
348 lines
10 KiB
Plaintext
# Console driver configuration options
|
|
|
|
# Copyright (c) 2014-2015 Wind River Systems, Inc.
|
|
# Copyright (c) 2016 Cadence Design Systems, Inc.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# Setting shared by different subsystems
|
|
|
|
menuconfig CONSOLE
|
|
bool "Console drivers"
|
|
|
|
if CONSOLE
|
|
|
|
config CONSOLE_INPUT_MAX_LINE_LEN
|
|
int "Console maximum input line length"
|
|
default 128
|
|
help
|
|
This option can be used to modify the maximum length a console input
|
|
can be.
|
|
|
|
config CONSOLE_HAS_DRIVER
|
|
bool
|
|
help
|
|
This is an option to be enabled by console drivers to signal
|
|
that some kind of console exists.
|
|
|
|
config CONSOLE_HANDLER
|
|
bool "Console input handler"
|
|
depends on UART_CONSOLE && SERIAL_SUPPORT_INTERRUPT
|
|
select UART_INTERRUPT_DRIVEN
|
|
help
|
|
This option enables console input handler allowing to write simple
|
|
interaction between serial console and the OS.
|
|
|
|
config CONSOLE_INIT_PRIORITY
|
|
int "Console init priority"
|
|
default 95 if UART_MUX
|
|
default 60 if UART_CONSOLE || XTENSA_SIM_CONSOLE
|
|
default KERNEL_INIT_PRIORITY_DEFAULT
|
|
help
|
|
Console driver device initialization priority.
|
|
|
|
config UART_CONSOLE
|
|
bool "Use UART for console"
|
|
depends on SERIAL && SERIAL_HAS_DRIVER
|
|
select CONSOLE_HAS_DRIVER
|
|
help
|
|
Enable this option to use one UART for console.
|
|
|
|
config UART_CONSOLE_DEBUG_SERVER_HOOKS
|
|
bool "Debug server hooks in debug console"
|
|
depends on UART_CONSOLE
|
|
help
|
|
This option allows a debug server agent such as GDB to take over the
|
|
handling of traffic that goes through the console logic. The debug
|
|
server looks at characters received and decides to handle them itself if
|
|
they are some sort of control characters, or let the regular console
|
|
code handle them if they are of no special significance to it.
|
|
|
|
config UART_CONSOLE_MCUMGR
|
|
bool "UART console mcumgr passthrough"
|
|
depends on UART_CONSOLE
|
|
help
|
|
Enables the UART console to receive mcumgr frames for image upgrade
|
|
and device management. When enabled, the UART console does not
|
|
process mcumgr frames, but it hands them up to a higher level module
|
|
(e.g., the shell). If unset, incoming mcumgr frames are dropped.
|
|
|
|
config UART_CONSOLE_INPUT_EXPIRED
|
|
bool "Support for UART console input expired mechanism"
|
|
default y
|
|
depends on UART_CONSOLE && PM
|
|
help
|
|
This option allows a notification to the power management module that
|
|
the module for UART console is in use now. If the interval of console
|
|
module doesn't receive any input message exceeds expired timeout, such
|
|
as UART_CONSOLE_INPUT_EXPIRED_TIMEOUT, the power management module is
|
|
allowed to enter sleep/deep sleep state and turn off the clock of UART
|
|
console module. This mechanism gives a window in which the users can
|
|
organize input message if CONFIG_PM is enabled.
|
|
|
|
config UART_CONSOLE_INPUT_EXPIRED_TIMEOUT
|
|
int "Fixed amount of time to keep the UART console in use flag true"
|
|
default 15000
|
|
depends on UART_CONSOLE_INPUT_EXPIRED
|
|
help
|
|
Fixed amount of time which unit is milliseconds to keep the UART
|
|
console in use flag true.
|
|
|
|
config JAILHOUSE_DEBUG_CONSOLE
|
|
bool "Use JAILHOUSE_DEBUG console"
|
|
select CONSOLE_HAS_DRIVER
|
|
depends on ARM64
|
|
help
|
|
Emit console messages to a jailhouse hypervisor debug console.
|
|
Useful in board bring-up if there aren't any working serial
|
|
drivers.
|
|
|
|
config RAM_CONSOLE
|
|
bool "Use RAM console"
|
|
select CONSOLE_HAS_DRIVER
|
|
help
|
|
Emit console messages to a RAM buffer "ram_console" which can
|
|
be examined at runtime with a debugger. Useful in board bring-up
|
|
if there aren't any working serial drivers.
|
|
|
|
config RAM_CONSOLE_BUFFER_SIZE
|
|
int "Ram Console buffer size"
|
|
default 1024
|
|
depends on RAM_CONSOLE
|
|
help
|
|
Size of the RAM console buffer. Messages will wrap around if the
|
|
length is exceeded.
|
|
|
|
config RTT_CONSOLE
|
|
bool "Use RTT console"
|
|
depends on USE_SEGGER_RTT
|
|
select CONSOLE_HAS_DRIVER
|
|
help
|
|
Emit console messages to a RAM buffer that is then read by the
|
|
Segger J-Link software and displayed on a computer in real-time.
|
|
Requires support for Segger J-Link on the companion IC onboard.
|
|
|
|
if RTT_CONSOLE
|
|
|
|
config RTT_TX_RETRY_CNT
|
|
int "Number of TX retries"
|
|
default 2
|
|
help
|
|
Number of TX retries before dropping the byte and assuming that
|
|
RTT session is inactive.
|
|
|
|
config RTT_TX_RETRY_DELAY_MS
|
|
int "Delay between TX retries in milliseconds"
|
|
default 2
|
|
help
|
|
Sleep period between TX retry attempts. During RTT session, host pulls data
|
|
periodically. Period starts from 1-2 milliseconds and can be increased
|
|
if traffic on RTT increases (also from host to device). In case of
|
|
heavy traffic data can be lost and it may be necessary to increase
|
|
delay or number of retries.
|
|
|
|
config RTT_TX_RETRY_IN_INTERRUPT
|
|
bool "Busy wait in the interrupt context for TX retry"
|
|
help
|
|
If enabled RTT console will busy wait between TX retries when console
|
|
assumes that RTT session is active. In case of heavy traffic data can
|
|
be lost and it may be necessary to increase delay or number of
|
|
retries.
|
|
|
|
endif
|
|
|
|
config IPM_CONSOLE_SENDER
|
|
bool "Inter-processor Mailbox console sender"
|
|
select CONSOLE_HAS_DRIVER
|
|
help
|
|
Enable the sending side of IPM console
|
|
|
|
config IPM_CONSOLE_RECEIVER
|
|
bool "Inter-processor Mailbox console receiver"
|
|
select RING_BUFFER
|
|
help
|
|
Enable the receiving side of IPM console
|
|
|
|
config IPM_CONSOLE_STACK_SIZE
|
|
int "Stack size for IPM console receiver thread"
|
|
depends on IPM_CONSOLE_RECEIVER
|
|
default 2048 if COVERAGE_GCOV
|
|
default 512
|
|
help
|
|
Each instance of the IPM console receiver driver creates a worker
|
|
thread to print out incoming messages from the remote CPU. Specify the
|
|
stack size for these threads here.
|
|
|
|
config IPM_CONSOLE
|
|
bool "Inter-processor Mailbox console"
|
|
depends on IPM
|
|
select CONSOLE_HAS_DRIVER
|
|
help
|
|
Enable console over Inter-processor Mailbox.
|
|
|
|
config IPM_CONSOLE_LINE_BUF_LEN
|
|
int "IPM console line buffer length"
|
|
default 128
|
|
depends on IPM_CONSOLE
|
|
help
|
|
IPM console line buffer length specify amount of the buffer
|
|
where characters are stored before sending the whole line.
|
|
|
|
config UART_MCUMGR
|
|
bool "Mcumgr UART driver"
|
|
select UART_INTERRUPT_DRIVEN
|
|
help
|
|
Enable the mcumgr UART driver. This driver allows the application to
|
|
communicate over UART using the mcumgr protocol for image upgrade and
|
|
device management. The driver doesn't inspect received data (as
|
|
contrary to console UART driver) and all aspects of received protocol
|
|
data are handled by an application provided callback.
|
|
|
|
if UART_MCUMGR
|
|
|
|
config UART_MCUMGR_RX_BUF_SIZE
|
|
int "Size of receive buffer for mcumgr fragments received over UART, in bytes"
|
|
default 128
|
|
help
|
|
Specifies the size of the mcumgr UART receive buffer, in bytes. This
|
|
value must be large enough to accommodate any line sent by an mcumgr
|
|
client.
|
|
|
|
config UART_MCUMGR_RX_BUF_COUNT
|
|
int "Number of receive buffers for mcumgr fragments received over UART"
|
|
default 2
|
|
help
|
|
Specifies the number of the mcumgr UART receive buffers. Receive
|
|
buffers hold received mcumgr fragments prior to reassembly. This
|
|
setting's value must satisfy the following relation:
|
|
UART_MCUMGR_RX_BUF_COUNT * UART_MCUMGR_RX_BUF_SIZE >=
|
|
MCUMGR_TRANSPORT_UART_MTU
|
|
|
|
endif # UART_MCUMGR
|
|
|
|
config XTENSA_SIM_CONSOLE
|
|
bool "Use Xtensa simulator console"
|
|
depends on SIMULATOR_XTENSA
|
|
select CONSOLE_HAS_DRIVER
|
|
default y
|
|
help
|
|
Use simulator console to print messages.
|
|
|
|
config POSIX_ARCH_CONSOLE
|
|
bool "Use the host terminal for console"
|
|
depends on ARCH_POSIX
|
|
select CONSOLE_HAS_DRIVER
|
|
help
|
|
Zephyr's printk messages will be directed to the host terminal stdout
|
|
|
|
config POSIX_ARCH_CONSOLE_INIT_PRIORITY
|
|
int "Init priority"
|
|
default 99
|
|
depends on POSIX_ARCH_CONSOLE
|
|
help
|
|
Device driver initialization priority.
|
|
|
|
config SEMIHOST_CONSOLE
|
|
bool "Use semihosting for console"
|
|
select CONSOLE_HAS_DRIVER
|
|
depends on SEMIHOST
|
|
help
|
|
Enable this option to use semihosting for console.
|
|
See SEMIHOST for a more complete description of semihosting.
|
|
|
|
module = UART_CONSOLE
|
|
module-str = UART console
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
source "drivers/console/Kconfig.gsm_mux"
|
|
|
|
config UART_MUX
|
|
bool "UART muxing (GSM 07.10) support [EXPERIMENTAL]"
|
|
depends on SERIAL_SUPPORT_INTERRUPT && GSM_MUX
|
|
select UART_INTERRUPT_DRIVEN
|
|
select EXPERIMENTAL
|
|
help
|
|
Enable this option to create UART muxer that run over a physical
|
|
UART. The GSM 07.10 muxing protocol is used to separate the data
|
|
between these muxed UARTs.
|
|
|
|
if UART_MUX
|
|
|
|
config UART_MUX_DEVICE_NAME
|
|
string "UART mux device name template"
|
|
default "GSM"
|
|
help
|
|
Device name template for the UART mux Devices. First device would
|
|
have name $(UART_MUX_DEVICE_NAME)_0, etc. User will access muxed
|
|
UART using this name.
|
|
|
|
config UART_MUX_RINGBUF_SIZE
|
|
int "UART mux ring buffer size"
|
|
default 256
|
|
help
|
|
UART mux ring buffer size when passing data from RX ISR to worker
|
|
thread that will do the unmuxing.
|
|
|
|
config UART_MUX_TEMP_BUF_SIZE
|
|
int "Size of the temp buffer when reading data from real UART"
|
|
default 32
|
|
help
|
|
Size of the temporary RX buffer in receiving ISR.
|
|
|
|
config UART_MUX_DEVICE_COUNT
|
|
int "Number of UART mux devices (DLCIs)"
|
|
default GSM_MUX_DLCI_MAX
|
|
range 1 64
|
|
help
|
|
Number of instances of UART muxes. Default value is set by
|
|
maximum number of DLCIs (Data Link Connection Identifiers)
|
|
configured in the system.
|
|
|
|
config UART_MUX_REAL_DEVICE_COUNT
|
|
int "Number of real UART devices"
|
|
default 1
|
|
help
|
|
Tells how many real UART devices there are. Typically there is
|
|
only one UART and the muxed UARTs are run on top of that. If you have
|
|
two modems for example, then you would need to increase this to two.
|
|
|
|
config UART_MUX_RX_STACK_SIZE
|
|
int "Size of the stack allocated for receiving data from UART"
|
|
default 512
|
|
help
|
|
Sets the stack size which will be used by the PPP RX workqueue.
|
|
|
|
config UART_MUX_RX_PRIORITY
|
|
int "RX workqueue thread priority"
|
|
default 7
|
|
help
|
|
Sets the priority of the RX workqueue thread.
|
|
|
|
module = UART_MUX
|
|
module-str = UART mux
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
endif # UART_MUX
|
|
|
|
config UART_MUX_VERBOSE_DEBUG
|
|
bool "Print hexdump of sent and received packets"
|
|
depends on UART_MUX_LOG_LEVEL_DBG
|
|
help
|
|
As there might be lot of debug output printed, only enable
|
|
this if really needed.
|
|
|
|
config EFI_CONSOLE
|
|
bool "Use EFI console for console output"
|
|
select CONSOLE_HAS_DRIVER
|
|
help
|
|
Enable this option to use EFI console output.
|
|
|
|
config WINSTREAM_CONSOLE
|
|
bool "Use Winstream console"
|
|
depends on WINSTREAM
|
|
help
|
|
Use winstream as a console.
|
|
|
|
See the WINSTREAM Kconfig help for more information.
|
|
|
|
endif # CONSOLE
|