When CONFIG_LOG_OUTPUT is set, it indicates that logging strings are formatted by the application (using log_output module). It is not needed when backend works in the dictionary mode. So far LOG_OUTPUT was set also when dictionary mode was used and that prevented removing of the logging strings from binary which is an important feature of the dictionary logging. Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
59 lines
1.9 KiB
Text
59 lines
1.9 KiB
Text
# Copyright (c) 2021 Nordic Semiconductor ASA
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config LOG_BACKEND_SWO
|
|
bool "Serial Wire Output (SWO) backend"
|
|
depends on HAS_SWO
|
|
select LOG_BACKEND_SUPPORTS_FORMAT_TIMESTAMP
|
|
help
|
|
When enabled, backend will use SWO for logging.
|
|
|
|
if LOG_BACKEND_SWO
|
|
|
|
config LOG_BACKEND_SWO_REF_FREQ_HZ
|
|
int "SWO reference clock frequency"
|
|
default $(dt_node_int_prop_int,$(dt_nodelabel_path,itm),swo-ref-frequency) if $(dt_nodelabel_enabled,itm)
|
|
default $(dt_node_int_prop_int,/cpus/cpu@0,clock-frequency) if $(dt_node_has_prop,/cpus/cpu@0,clock-frequency)
|
|
default 0
|
|
help
|
|
Set SWO reference frequency. In most cases it is equal to CPU
|
|
frequency.
|
|
|
|
config LOG_BACKEND_SWO_FREQ_HZ
|
|
int "Set SWO output frequency"
|
|
default 0
|
|
help
|
|
Set SWO output frequency. Value 0 will select maximum frequency
|
|
supported by the given MCU. Not all debug probes support high
|
|
frequency SWO operation. In this case the frequency has to be set
|
|
manually.
|
|
|
|
SWO value defined by this option will be configured at boot. Most SWO
|
|
viewer programs will configure SWO frequency when attached to the
|
|
debug probe. Such configuration will persist only until the device
|
|
reset. To ensure flawless operation the frequency configured here and
|
|
by the SWO viewer program has to match.
|
|
|
|
choice
|
|
prompt "SWO protocol"
|
|
default LOG_BACKEND_SWO_PROTOCOL_NRZ
|
|
|
|
config LOG_BACKEND_SWO_PROTOCOL_NRZ
|
|
bool "NRZ encoding"
|
|
help
|
|
Use UART-like NRZ encoding. This is the most common option, but requires the SWO output
|
|
frequency to be known on the receiving side.
|
|
|
|
config LOG_BACKEND_SWO_PROTOCOL_MANCHESTER
|
|
bool "Manchester encoding"
|
|
help
|
|
Use Manchester encoding. This is less widely supported, but permits the clock to be
|
|
recovered automatically on the receiving side.
|
|
|
|
endchoice
|
|
|
|
backend = SWO
|
|
backend-str = swo
|
|
source "subsys/logging/Kconfig.template.log_format_config"
|
|
|
|
endif # LOG_BACKEND_SWO
|