mirror of
https://github.com/espressif/esp-idf.git
synced 2025-12-27 13:43:25 +00:00
135 lines
4.9 KiB
Plaintext
135 lines
4.9 KiB
Plaintext
menu "Application Level Tracing"
|
|
depends on ESP_TRACE_TRANSPORT_APPTRACE
|
|
choice APPTRACE_DESTINATION
|
|
prompt "Data Destination"
|
|
default APPTRACE_DEST_JTAG if !PM_ENABLE
|
|
default APPTRACE_DEST_UART if PM_ENABLE
|
|
help
|
|
Select destination for application trace: JTAG, UART, or both.
|
|
|
|
config APPTRACE_DEST_JTAG
|
|
bool "JTAG"
|
|
select APPTRACE_TRAX_ENABLE if IDF_TARGET_ARCH_XTENSA
|
|
depends on !PM_ENABLE
|
|
|
|
config APPTRACE_DEST_UART
|
|
bool "UART"
|
|
|
|
config APPTRACE_DEST_ALL
|
|
bool "All (runtime selection)"
|
|
help
|
|
Compile both JTAG and UART interfaces in advance (higher IRAM usage).
|
|
Allows runtime switching between JTAG and UART via esp_apptrace_get_user_params().
|
|
|
|
If esp_apptrace_get_user_params() is not provided by the
|
|
application, JTAG is used by default with the default
|
|
configuration defined in components/app_trace/include/esp_app_trace_config.h.
|
|
endchoice
|
|
|
|
config APPTRACE_BUF_SIZE
|
|
int "Size of the apptrace buffer"
|
|
depends on APPTRACE_DEST_JTAG && !APPTRACE_TRAX_ENABLE
|
|
default 16384
|
|
help
|
|
Size of the memory buffer for trace data in bytes.
|
|
|
|
config APPTRACE_DEST_UART_NUM
|
|
int "UART port number"
|
|
depends on APPTRACE_DEST_UART
|
|
range 0 1 if (SOC_UART_HP_NUM <= 2)
|
|
range 0 2 if (SOC_UART_HP_NUM <= 3)
|
|
range 0 4 if (SOC_UART_HP_NUM <= 5)
|
|
default 1
|
|
help
|
|
UART communication port number for the apptrace destination.
|
|
See UART documentation for available port numbers.
|
|
|
|
config APPTRACE_UART_TX_GPIO
|
|
int "UART TX on GPIO<num>"
|
|
depends on APPTRACE_DEST_UART
|
|
range 0 46
|
|
default 12
|
|
help
|
|
This GPIO is used for UART TX pin.
|
|
|
|
config APPTRACE_UART_RX_GPIO
|
|
int "UART RX on GPIO<num>"
|
|
depends on APPTRACE_DEST_UART
|
|
range 0 46
|
|
default 13
|
|
help
|
|
This GPIO is used for UART RX pin.
|
|
|
|
config APPTRACE_UART_BAUDRATE
|
|
int
|
|
prompt "UART baud rate" if APPTRACE_DEST_UART
|
|
depends on APPTRACE_DEST_UART
|
|
default 1000000
|
|
range 1200 8000000
|
|
range 1200 1000000
|
|
help
|
|
This baud rate is used for UART.
|
|
|
|
The app's maximum baud rate depends on the UART clock source. If Power Management is disabled,
|
|
the UART clock source is the APB clock and all baud rates in the available range will be sufficiently
|
|
accurate. If Power Management is enabled, REF_TICK clock source is used so the baud rate is divided
|
|
from 1MHz. Baud rates above 1Mbps are not possible and values between 500Kbps and 1Mbps may not be
|
|
accurate.
|
|
|
|
config APPTRACE_UART_TX_BUFF_SIZE
|
|
int
|
|
prompt "UART TX ring buffer size" if APPTRACE_DEST_UART
|
|
depends on APPTRACE_DEST_UART
|
|
default 4096
|
|
range 2048 32768
|
|
help
|
|
Size of the UART output ring buffer. Must be power of two.
|
|
This size related to the baudrate, system tick frequency and amount of data to transfer.
|
|
|
|
config APPTRACE_UART_TX_MSG_SIZE
|
|
int
|
|
prompt "UART TX message size" if APPTRACE_DEST_UART
|
|
depends on APPTRACE_DEST_UART
|
|
default 128
|
|
range 64 32768
|
|
help
|
|
Maximum size of the single message to transfer.
|
|
|
|
config APPTRACE_TRAX_ENABLE
|
|
bool
|
|
depends on IDF_TARGET_ARCH_XTENSA && !ESP32_TRAX && !ESP32S2_TRAX && !ESP32S3_TRAX
|
|
select ESP32_MEMMAP_TRACEMEM
|
|
select ESP32S2_MEMMAP_TRACEMEM
|
|
select ESP32S3_MEMMAP_TRACEMEM
|
|
select ESP32_MEMMAP_TRACEMEM_TWOBANKS
|
|
select ESP32S2_MEMMAP_TRACEMEM_TWOBANKS
|
|
select ESP32S3_MEMMAP_TRACEMEM_TWOBANKS
|
|
default n
|
|
help
|
|
Enables/disable TRAX tracing HW.
|
|
|
|
config APPTRACE_LOCK_ENABLE
|
|
bool "Internal Sync Lock Enable"
|
|
default n
|
|
help
|
|
Enables/disable application tracing module internal sync lock to prevent data corruption
|
|
when multiple tasks are writing to the same trace buffer.
|
|
Keep in mind this will slow down the trace data transfer to the host.
|
|
|
|
config APPTRACE_ONPANIC_HOST_FLUSH_TMO
|
|
int "Timeout for flushing last trace data to host on panic"
|
|
range -1 5000
|
|
default -1
|
|
help
|
|
Timeout for flushing last trace data to host in case of panic. In ms.
|
|
Use -1 to disable timeout and wait forever.
|
|
|
|
config APPTRACE_POSTMORTEM_FLUSH_THRESH
|
|
int "Threshold for flushing last trace data to host on panic"
|
|
range 0 16384
|
|
default 0
|
|
help
|
|
Threshold for flushing last trace data to host on panic in post-mortem mode.
|
|
This is minimal amount of data needed to perform flush. In bytes.
|
|
endmenu
|