mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
1ee7953ebe
Add support for UART to the SystemView.
393 lines
13 KiB
Plaintext
393 lines
13 KiB
Plaintext
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.
|
|
|
|
endmenu
|