109 lines
3.3 KiB
Plaintext
109 lines
3.3 KiB
Plaintext
# Copyright (c) 2021 Nordic Semiconductor ASA
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config LOG_BACKEND_RTT
|
|
bool "Segger J-Link RTT backend"
|
|
depends on USE_SEGGER_RTT
|
|
default y if !SHELL_BACKEND_RTT
|
|
select SEGGER_RTT_CUSTOM_LOCKING
|
|
select LOG_OUTPUT
|
|
help
|
|
When enabled, backend will use RTT for logging. This backend works on a per
|
|
message basis. Only a whole message (terminated with a carriage return: '\r')
|
|
is transferred to up-buffer at once depending on available space and
|
|
selected mode.
|
|
In panic mode backend always blocks and waits until there is space
|
|
in up-buffer for a message and message is transferred to host.
|
|
|
|
if LOG_BACKEND_RTT
|
|
|
|
choice LOG_BACKEND_RTT_MODE
|
|
prompt "Logger behavior"
|
|
default LOG_BACKEND_RTT_MODE_BLOCK
|
|
|
|
config LOG_BACKEND_RTT_MODE_DROP
|
|
bool "Drop messages that do not fit in up-buffer."
|
|
help
|
|
If there is not enough space in up-buffer for a message, drop it.
|
|
Number of dropped messages will be logged.
|
|
Increase up-buffer size helps to reduce dropping of messages.
|
|
|
|
config LOG_BACKEND_RTT_MODE_BLOCK
|
|
bool "Block until message is transferred to host."
|
|
help
|
|
Waits until there is enough space in the up-buffer for a message.
|
|
|
|
config LOG_BACKEND_RTT_MODE_OVERWRITE
|
|
bool "Overwrite messages if up-buffer full"
|
|
help
|
|
If there is not enough space in up-buffer for a message overwrite
|
|
oldest one.
|
|
|
|
endchoice
|
|
|
|
backend = RTT
|
|
backend-str = rtt
|
|
source "subsys/logging/Kconfig.template.log_format_config"
|
|
|
|
config LOG_BACKEND_RTT_MESSAGE_SIZE
|
|
int "Size of internal buffer for storing messages."
|
|
range 32 256
|
|
default 128
|
|
depends on LOG_BACKEND_RTT_MODE_DROP
|
|
help
|
|
This option defines maximum message size transferable to up-buffer.
|
|
|
|
if LOG_BACKEND_RTT_MODE_BLOCK
|
|
|
|
config LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE
|
|
int "Size of the output buffer"
|
|
default 16
|
|
help
|
|
Buffer is used by log_output module for preparing output data (e.g.
|
|
string formatting).
|
|
|
|
config LOG_BACKEND_RTT_RETRY_CNT
|
|
int "Number of retries"
|
|
default 4
|
|
help
|
|
Number of TX retries before dropping the data and assuming that
|
|
RTT session is inactive.
|
|
|
|
config LOG_BACKEND_RTT_RETRY_DELAY_MS
|
|
int "Delay between TX retries in milliseconds"
|
|
default 5
|
|
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.
|
|
|
|
endif # LOG_BACKEND_RTT_MODE_BLOCK
|
|
|
|
config LOG_BACKEND_RTT_BUFFER
|
|
int "Buffer number used for logger output."
|
|
range 0 SEGGER_RTT_MAX_NUM_UP_BUFFERS
|
|
default 0
|
|
help
|
|
Select index of up-buffer used for logger output, by default it uses
|
|
terminal up-buffer and its settings.
|
|
|
|
config LOG_BACKEND_RTT_BUFFER_SIZE
|
|
int "Size of reserved up-buffer for logger output."
|
|
default 1024
|
|
depends on LOG_BACKEND_RTT_BUFFER > 0
|
|
help
|
|
Specify reserved size of up-buffer used for logger output.
|
|
|
|
# Enable processing of printk calls using log if terminal buffer is used.
|
|
# Same buffer is used by RTT console. If printk would go through RTT console
|
|
# that will lead to corruption of RTT data which is not protected against being
|
|
# interrupted by an interrupt.
|
|
config LOG_BACKEND_RTT_FORCE_PRINTK
|
|
bool
|
|
default y if LOG_BACKEND_RTT_BUFFER = 0 && RTT_CONSOLE
|
|
select LOG_PRINTK
|
|
|
|
endif # LOG_BACKEND_RTT
|