113 lines
3.0 KiB
Plaintext
113 lines
3.0 KiB
Plaintext
# Copyright (c) 2024 Nordic Semiconductor ASA
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
DT_COMPAT_NORDIC_NRF_TBM := nordic,nrf-tbm
|
|
|
|
config NRF_ETR
|
|
bool "Coresight ETR handler (with Nordic TBM)"
|
|
depends on $(dt_compat_enabled,$(DT_COMPAT_NORDIC_NRF_TBM))
|
|
select NRFX_TBM
|
|
imply UART_ASYNC_API
|
|
default y
|
|
help
|
|
Module handles data stored in the ETR circular buffer (e.g. STM logging
|
|
data). Busyness is tracked using TBM (Trace Buffer Monitor) peripheral
|
|
which is specific to Nordic Semiconductor SoCs.
|
|
|
|
if NRF_ETR
|
|
|
|
config NRF_ETR_DECODE
|
|
bool "Decode ETR content"
|
|
default y if LOG_FRONTEND_STMESP_FSC
|
|
select MIPI_STP_DECODER
|
|
select CS_TRACE_DEFMT
|
|
select LOG_FRONTEND_STMESP_DEMUX
|
|
select LOG_OUTPUT
|
|
imply CBPRINTF_FP_SUPPORT
|
|
help
|
|
In this mode, log messages stored by Coresight STM logging frontends are
|
|
decoded and printed in the human readable form.
|
|
|
|
config NRF_ETR_DECODE_DROP_PERIOD
|
|
int "Period of dropped messages notification"
|
|
default 5000
|
|
help
|
|
Period (in milliseconds) how often it is checked if any dropped messages
|
|
have occurred.
|
|
|
|
config NRF_ETR_DEBUG
|
|
bool "Debug mode"
|
|
depends on !LOG_PRINTK
|
|
select MIPI_STP_DECODER
|
|
select CS_TRACE_DEFMT
|
|
help
|
|
In debug mode STPv2 decoded data is printed.
|
|
|
|
config NRF_ETR_STACK_SIZE
|
|
int "ETR thread stack size"
|
|
default 2048 if NRF_ETR_DECODE || NRF_ETR_DEBUG
|
|
default 1024
|
|
|
|
config NRF_ETR_BACKOFF
|
|
int "Thread backoff time (ms)"
|
|
default 10
|
|
help
|
|
Determines how often attempt to dump the data is performed.
|
|
|
|
config NRF_ETR_FLUSH_TIMEOUT
|
|
int "Backoff time during flushing (ms)"
|
|
default 100
|
|
help
|
|
When thread triggers flushing of ETR data, it periodically checks if
|
|
there is still a pending ETR data. This option specifies how often
|
|
thread is waking up to check. Given in milliseconds.
|
|
|
|
config NRF_ETR_SYNC_PERIOD
|
|
int "Period of custom synchronization frame"
|
|
default 0 if NRF_ETR_DECODE
|
|
default 0 if NRF_ETR_DEBUG
|
|
default 16
|
|
help
|
|
To help find the synchronization when decoding the ETR content
|
|
by a host tool a synchronization pattern (16 bytes of 0xFF) can be
|
|
sent on regular intervals. This frame is sent between Coresight formatter
|
|
frames. Use 0 to disable.
|
|
|
|
config NRF_ETR_SHELL
|
|
bool "Use shell"
|
|
select UART_ASYNC_API
|
|
select UART_ASYNC_RX_HELPER
|
|
select SHELL_LOG_BACKEND_CUSTOM
|
|
depends on NRF_ETR_DECODE
|
|
default y if SHELL
|
|
help
|
|
Enable shell with Coresight STM logging support.
|
|
|
|
if NRF_ETR_SHELL
|
|
|
|
config NRF_ETR_SHELL_PROMPT
|
|
string "Displayed prompt name"
|
|
default "uart:~$ "
|
|
help
|
|
Displayed prompt name for UART shell with Coresight STM logging.
|
|
|
|
config NRF_ETR_SHELL_ASYNC_RX_BUFFER_SIZE
|
|
int "Size of the RX buffer"
|
|
default 16
|
|
help
|
|
Size of a single RX buffer. Together with buffer count it defines the
|
|
space that can hold RX data. It may be decreased if shell input is
|
|
slow and may need to be increased if long messages are pasted directly
|
|
to the shell prompt.
|
|
|
|
config NRF_ETR_SHELL_ASYNC_RX_BUFFER_COUNT
|
|
int "Number of RX buffers"
|
|
default 4
|
|
range 2 64
|
|
help
|
|
Number of RX buffers.
|
|
|
|
endif # NRF_ETR_SHELL
|
|
|
|
endif # NRF_ETR
|