menu "Application Level Tracing" choice APPTRACE_DESTINATION1 prompt "Data Destination 1" default APPTRACE_DEST_NONE help Select destination for application trace: JTAG or none (to disable). config APPTRACE_DEST_JTAG bool "JTAG" select APPTRACE_DEST_TRAX if IDF_TARGET_ARCH_XTENSA select APPTRACE_MEMBUFS_APPTRACE_PROTO_ENABLE select APPTRACE_ENABLE config APPTRACE_DEST_NONE bool "None" endchoice config APPTRACE_DEST_UART bool config APPTRACE_DEST_UART_NOUSB bool choice APPTRACE_DESTINATION2 prompt "Data Destination 2" default APPTRACE_DEST_UART_NONE help Select destination for application trace: UART(XX) or none (to disable). config APPTRACE_DEST_UART0 bool "UART0" select APPTRACE_ENABLE select APPTRACE_DEST_UART select APPTRACE_DEST_UART_NOUSB depends on (ESP_CONSOLE_UART_NUM !=0) config APPTRACE_DEST_UART1 bool "UART1" select APPTRACE_ENABLE select APPTRACE_DEST_UART select APPTRACE_DEST_UART_NOUSB depends on (ESP_CONSOLE_UART_NUM !=1) config APPTRACE_DEST_UART2 bool "UART2" select APPTRACE_ENABLE select APPTRACE_DEST_UART select APPTRACE_DEST_UART_NOUSB depends on (ESP_CONSOLE_UART_NUM !=2) && !IDF_TARGET_ESP32C3 && !IDF_TARGET_ESP32S2 && !IDF_TARGET_ESP32H2 config APPTRACE_DEST_USB_CDC bool "USB_CDC" select APPTRACE_ENABLE select APPTRACE_DEST_UART depends on !ESP_CONSOLE_USB_CDC && (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3) && !USB_ENABLED config APPTRACE_DEST_UART_NONE bool "None" endchoice config APPTRACE_UART_TX_GPIO int "UART TX on GPIO#" depends on APPTRACE_DEST_UART_NOUSB range 0 46 default 12 if IDF_TARGET_ESP32 default 12 if IDF_TARGET_ESP32C3 default 12 help This GPIO is used for UART TX pin. config APPTRACE_UART_RX_GPIO int "UART RX on GPIO#" depends on APPTRACE_DEST_UART_NOUSB range 0 46 default 13 if IDF_TARGET_ESP32 default 13 if IDF_TARGET_ESP32C3 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_RX_BUFF_SIZE int prompt "UART RX ring buffer size" if APPTRACE_DEST_UART depends on APPTRACE_DEST_UART default 128 range 64 32768 help Size of the UART input ring buffer. This size related to the baudrate, system tick frequency and amount of data to transfer. The data placed to this buffer before sent out to the interface. 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. 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_UART_TASK_PRIO int prompt "UART Task Priority" if APPTRACE_DEST_UART default 1 range 1 32 help UART task priority. In case of high events rate, this parameter could be changed up to (configMAX_PRIORITIES-1). config APPTRACE_DEST_TRAX 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_MEMBUFS_APPTRACE_PROTO_ENABLE bool default n help Enables/disable swapping memory buffers tracing protocol. config APPTRACE_ENABLE bool default n help Enables/disable application tracing module. config APPTRACE_LOCK_ENABLE bool default !APPTRACE_SV_ENABLE help Enables/disable application tracing module internal sync lock. config APPTRACE_ONPANIC_HOST_FLUSH_TMO int "Timeout for flushing last trace data to host on panic" depends on APPTRACE_ENABLE 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" depends on APPTRACE_ENABLE 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. config APPTRACE_BUF_SIZE int "Size of the apptrace buffer" depends on APPTRACE_MEMBUFS_APPTRACE_PROTO_ENABLE && !APPTRACE_DEST_TRAX default 16384 help Size of the memory buffer for trace data in bytes. config APPTRACE_PENDING_DATA_SIZE_MAX int "Size of the pending data buffer" depends on APPTRACE_MEMBUFS_APPTRACE_PROTO_ENABLE default 0 help Size of the buffer for events in bytes. It is useful for buffering events from the time critical code (scheduler, ISRs etc). If this parameter is 0 then events will be discarded when main HW buffer is full. menu "FreeRTOS SystemView Tracing" depends on APPTRACE_ENABLE config APPTRACE_SV_ENABLE bool "SystemView Tracing Enable" depends on APPTRACE_ENABLE default n help Enables supporrt for SEGGER SystemView tracing functionality. choice APPTRACE_SV_DEST prompt "SystemView destination" depends on APPTRACE_SV_ENABLE default APPTRACE_SV_DEST_JTAG help SystemView witt transfer data trough defined interface. config APPTRACE_SV_DEST_JTAG bool "Data destination JTAG" depends on !PM_ENABLE && !APPTRACE_DEST_NONE help Send SEGGER SystemView events through JTAG interface. config APPTRACE_SV_DEST_UART bool "Data destination UART" depends on APPTRACE_DEST_UART help Send SEGGER SystemView events through UART interface. endchoice choice APPTRACE_SV_CPU prompt "CPU to trace" depends on APPTRACE_SV_DEST_UART && !FREERTOS_UNICORE default APPTRACE_SV_DEST_CPU_0 help Define the CPU to trace by SystemView. config APPTRACE_SV_DEST_CPU_0 bool "CPU0" help Send SEGGER SystemView events for Pro CPU. config APPTRACE_SV_DEST_CPU_1 bool "CPU1" help Send SEGGER SystemView events for App CPU. endchoice choice APPTRACE_SV_TS_SOURCE prompt "Timer to use as timestamp source" depends on APPTRACE_SV_ENABLE default APPTRACE_SV_TS_SOURCE_CCOUNT if FREERTOS_UNICORE && !PM_ENABLE && !IDF_TARGET_ESP32C3 default APPTRACE_SV_TS_SOURCE_GPTIMER if !FREERTOS_UNICORE && !PM_ENABLE && !IDF_TARGET_ESP32C3 default APPTRACE_SV_TS_SOURCE_ESP_TIMER if PM_ENABLE || IDF_TARGET_ESP32C3 help SystemView needs to use a hardware timer as the source of timestamps when tracing. This option selects the timer for it. config APPTRACE_SV_TS_SOURCE_CCOUNT bool "CPU cycle counter (CCOUNT)" depends on FREERTOS_UNICORE && !PM_ENABLE && !IDF_TARGET_ESP32C3 config APPTRACE_SV_TS_SOURCE_GPTIMER bool "General Purpose Timer (Timer Group)" depends on !PM_ENABLE && !IDF_TARGET_ESP32C3 config APPTRACE_SV_TS_SOURCE_ESP_TIMER bool "esp_timer high resolution timer" endchoice config APPTRACE_SV_MAX_TASKS int "Maximum supported tasks" depends on APPTRACE_SV_ENABLE range 1 64 default 16 help Configures maximum supported tasks in sysview debug config APPTRACE_SV_BUF_WAIT_TMO int "Trace buffer wait timeout" depends on APPTRACE_SV_ENABLE default 500 help Configures timeout (in us) to wait for free space in trace buffer. Set to -1 to wait forever and avoid lost events. config APPTRACE_SV_EVT_OVERFLOW_ENABLE bool "Trace Buffer Overflow Event" depends on APPTRACE_SV_ENABLE default y help Enables "Trace Buffer Overflow" event. config APPTRACE_SV_EVT_ISR_ENTER_ENABLE bool "ISR Enter Event" depends on APPTRACE_SV_ENABLE default y help Enables "ISR Enter" event. config APPTRACE_SV_EVT_ISR_EXIT_ENABLE bool "ISR Exit Event" depends on APPTRACE_SV_ENABLE default y help Enables "ISR Exit" event. config APPTRACE_SV_EVT_ISR_TO_SCHED_ENABLE bool "ISR Exit to Scheduler Event" depends on APPTRACE_SV_ENABLE default y help Enables "ISR to Scheduler" event. config APPTRACE_SV_EVT_TASK_START_EXEC_ENABLE bool "Task Start Execution Event" depends on APPTRACE_SV_ENABLE default y help Enables "Task Start Execution" event. config APPTRACE_SV_EVT_TASK_STOP_EXEC_ENABLE bool "Task Stop Execution Event" depends on APPTRACE_SV_ENABLE default y help Enables "Task Stop Execution" event. config APPTRACE_SV_EVT_TASK_START_READY_ENABLE bool "Task Start Ready State Event" depends on APPTRACE_SV_ENABLE default y help Enables "Task Start Ready State" event. config APPTRACE_SV_EVT_TASK_STOP_READY_ENABLE bool "Task Stop Ready State Event" depends on APPTRACE_SV_ENABLE default y help Enables "Task Stop Ready State" event. config APPTRACE_SV_EVT_TASK_CREATE_ENABLE bool "Task Create Event" depends on APPTRACE_SV_ENABLE default y help Enables "Task Create" event. config APPTRACE_SV_EVT_TASK_TERMINATE_ENABLE bool "Task Terminate Event" depends on APPTRACE_SV_ENABLE default y help Enables "Task Terminate" event. config APPTRACE_SV_EVT_IDLE_ENABLE bool "System Idle Event" depends on APPTRACE_SV_ENABLE default y help Enables "System Idle" event. config APPTRACE_SV_EVT_TIMER_ENTER_ENABLE bool "Timer Enter Event" depends on APPTRACE_SV_ENABLE default y help Enables "Timer Enter" event. config APPTRACE_SV_EVT_TIMER_EXIT_ENABLE bool "Timer Exit Event" depends on APPTRACE_SV_ENABLE default y help Enables "Timer Exit" event. endmenu config APPTRACE_GCOV_ENABLE bool "GCOV to Host Enable" depends on APPTRACE_ENABLE && !APPTRACE_SV_ENABLE select ESP_DEBUG_STUBS_ENABLE default n help Enables support for GCOV data transfer to host. config APPTRACE_GCOV_DUMP_TASK_STACK_SIZE int "Gcov dump task stack size" depends on APPTRACE_GCOV_ENABLE default 2048 help Configures stack size of Gcov dump task endmenu