| # Debug configuration options | 
 |  | 
 | # Copyright (c) 2015 Wind River Systems, Inc. | 
 | # SPDX-License-Identifier: Apache-2.0 | 
 |  | 
 | DT_CHOSEN_Z_CONSOLE := zephyr,console | 
 |  | 
 | config TRACING | 
 | 	bool "Tracing Support" | 
 | 	imply THREAD_NAME | 
 | 	imply THREAD_STACK_INFO | 
 | 	imply THREAD_MONITOR | 
 | 	select INSTRUMENT_THREAD_SWITCHING | 
 | 	help | 
 | 	  Enable system tracing. This requires a backend such as SEGGER | 
 | 	  Systemview to be enabled as well. | 
 |  | 
 | if TRACING | 
 |  | 
 | config TRACING_CORE | 
 | 	bool | 
 | 	help | 
 | 	  Automatically selected by formats that require the core | 
 | 	  tracing infrastructure. | 
 |  | 
 | choice | 
 | 	prompt "Tracing Format" | 
 | 	default TRACING_NONE | 
 |  | 
 | config TRACING_NONE | 
 | 	bool "No tracing format selected" | 
 | 	help | 
 | 	  None of the available tracing formats is selected. | 
 |  | 
 | config PERCEPIO_TRACERECORDER | 
 | 	bool "Percepio Tracealyzer support" | 
 | 	select THREAD_NAME | 
 | 	select INIT_STACKS | 
 | 	select THREAD_MONITOR | 
 | 	depends on ZEPHYR_TRACERECORDER_MODULE | 
 |  | 
 | config SEGGER_SYSTEMVIEW | 
 | 	bool "Segger SystemView support" | 
 | 	select CONSOLE | 
 | 	select RTT_CONSOLE | 
 | 	select USE_SEGGER_RTT | 
 | 	select THREAD_MONITOR | 
 | 	select SEGGER_RTT_CUSTOM_LOCKING | 
 |  | 
 | config TRACING_CTF | 
 | 	bool "Tracing via Common Trace Format support" | 
 | 	select TRACING_CORE | 
 | 	help | 
 | 	  Enable tracing to a Common Trace Format stream. | 
 |  | 
 | config TRACING_TEST | 
 | 	bool "Tracing for test usage" | 
 | 	select TRACING_CORE | 
 | 	help | 
 | 	  Enable tracing for testing kinds of format purpose. It must | 
 | 	  implement the tracing hooks defined in tracing_test.h | 
 |  | 
 | config TRACING_USER | 
 | 	bool "Tracing using user-defined functions" | 
 | 	help | 
 | 	  Use user-defined functions for tracing task switching and irqs | 
 |  | 
 | endchoice | 
 |  | 
 |  | 
 | config TRACING_CTF_TIMESTAMP | 
 | 	bool "CTF internal timestamp" | 
 | 	default y | 
 | 	depends on TRACING_CTF | 
 | 	help | 
 | 	  Timestamp prefix will be added to the beginning of CTF | 
 | 	  event internally. | 
 |  | 
 | choice | 
 | 	prompt "Tracing Method" | 
 | 	default TRACING_ASYNC | 
 |  | 
 | config TRACING_SYNC | 
 | 	bool "Synchronous Tracing" | 
 | 	select RING_BUFFER | 
 | 	help | 
 | 	  Enable synchronous tracing. This requires the backend to be | 
 | 	  very low-latency. | 
 |  | 
 | config TRACING_ASYNC | 
 | 	bool "Asynchronous Tracing" | 
 | 	select RING_BUFFER | 
 | 	help | 
 | 	  Enable asynchronous tracing. This will buffer all the tracing | 
 | 	  packets to the ring buffer first, tracing thread will try to | 
 | 	  output as much data as possible from the buffer when tracing | 
 | 	  thread get scheduled. | 
 |  | 
 | endchoice | 
 |  | 
 | config TRACING_THREAD_STACK_SIZE | 
 | 	int "Stack size of tracing thread" | 
 | 	default 1024 | 
 | 	depends on TRACING_ASYNC | 
 | 	help | 
 | 	  Stack size of tracing thread. | 
 |  | 
 | config TRACING_THREAD_WAIT_THRESHOLD | 
 | 	int "Tracing thread waiting threshold" | 
 | 	default 100 | 
 | 	depends on TRACING_ASYNC | 
 | 	help | 
 | 	  Tracing thread waiting period given in milliseconds after | 
 | 	  every first packet put to tracing buffer. | 
 |  | 
 | config TRACING_BUFFER_SIZE | 
 | 	int "Size of tracing buffer" | 
 | 	default 2048 if TRACING_ASYNC | 
 | 	default TRACING_PACKET_MAX_SIZE if TRACING_SYNC | 
 | 	range 32 65536 | 
 | 	help | 
 | 	  Size of tracing buffer. If TRACING_ASYNC is enabled, tracing buffer | 
 | 	  is used as a ring buffer to buffer data packet and string packet. If | 
 | 	  TRACING_SYNC is enabled, the buffer is used to hold the formatted data. | 
 |  | 
 | config TRACING_PACKET_MAX_SIZE | 
 | 	int "Max size of one tracing packet" | 
 | 	default 32 | 
 | 	help | 
 | 	  Max size of one tracing packet. | 
 |  | 
 | choice | 
 | 	prompt "Tracing Backend" | 
 | 	default TRACING_BACKEND_UART | 
 |  | 
 | config TRACING_BACKEND_UART | 
 | 	bool "UART backend" | 
 | 	depends on UART_CONSOLE | 
 |  | 
 | 	help | 
 | 	  Use UART to output tracing data. | 
 |  | 
 | config TRACING_BACKEND_USB | 
 | 	bool "USB backend" | 
 | 	depends on USB_DEVICE_STACK | 
 | 	depends on TRACING_ASYNC | 
 | 	help | 
 | 	  Use USB to output tracing data. | 
 |  | 
 | config TRACING_BACKEND_POSIX | 
 | 	bool "Posix architecture (native) backend" | 
 | 	depends on TRACING_SYNC | 
 | 	depends on ARCH_POSIX | 
 | 	help | 
 | 	  Use posix architecture to output tracing data to file system. | 
 |  | 
 | config TRACING_BACKEND_RAM | 
 | 	bool "RAM backend" | 
 | 	help | 
 | 	  Use a ram buffer to output tracing data which can | 
 | 	  be dumped to a file at runtime with a debugger. | 
 | 	  See gdb dump binary memory documentation for example. | 
 | endchoice | 
 |  | 
 | config RAM_TRACING_BUFFER_SIZE | 
 | 	int "Ram Tracing buffer size" | 
 | 	default 4096 | 
 | 	depends on TRACING_BACKEND_RAM | 
 | 	help | 
 | 	  Size of the RAM trace buffer. Trace will be discarded if the | 
 | 	  length is exceeded. | 
 |  | 
 | config TRACING_USB_MPS | 
 | 	int "USB backend max packet size" | 
 | 	default 64 | 
 | 	depends on TRACING_BACKEND_USB | 
 | 	help | 
 | 	  USB tracing backend max packet size(endpoint MPS). | 
 |  | 
 | config TRACING_HANDLE_HOST_CMD | 
 | 	bool "Host command handle" | 
 | 	select UART_INTERRUPT_DRIVEN if TRACING_BACKEND_UART | 
 | 	help | 
 | 	  When enabled tracing will handle cmd from host to dynamically | 
 | 	  enable and disable tracing to have host capture tracing stream | 
 | 	  data conveniently. | 
 |  | 
 | config TRACING_CMD_BUFFER_SIZE | 
 | 	int "Size of tracing command buffer" | 
 | 	default 32 | 
 | 	range 32 128 | 
 | 	help | 
 | 	  Size of tracing command buffer. | 
 |  | 
 | config TRACING_OBJECT_TRACKING | 
 | 	bool "Object tracking" | 
 | 	help | 
 | 	  Keep lists to track kernel objects. | 
 |  | 
 | menu "Tracing Configuration" | 
 |  | 
 | config TRACING_SYSCALL | 
 | 	bool "Tracing Syscalls" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing Syscalls. | 
 |  | 
 | config TRACING_THREAD | 
 | 	bool "Tracing Threads" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing Threads. | 
 |  | 
 | config TRACING_WORK | 
 | 	bool "Tracing Work" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing Work and Work queue events | 
 |  | 
 | config TRACING_ISR | 
 | 	bool "Tracing ISRs" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing ISRs. This requires the backend to be | 
 | 	  very low-latency. | 
 |  | 
 | config TRACING_SEMAPHORE | 
 | 	bool "Tracing Semaphores" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing Semaphores. | 
 |  | 
 | config TRACING_MUTEX | 
 | 	bool "Tracing Mutexes" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing Mutexes. | 
 |  | 
 | config TRACING_CONDVAR | 
 | 	bool "Tracing Condition Variables" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing Condition Variables | 
 |  | 
 | config TRACING_QUEUE | 
 | 	bool "Tracing Queues" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing Queues. | 
 |  | 
 | config TRACING_FIFO | 
 | 	bool "Tracing FIFO queues" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing FIFO queues. | 
 |  | 
 | config TRACING_LIFO | 
 | 	bool "Tracing LIFO queues" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing LIFO queues. | 
 |  | 
 | config TRACING_STACK | 
 | 	bool "Tracing Memory Stacks" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing Memory Stacks. | 
 |  | 
 | config TRACING_MESSAGE_QUEUE | 
 | 	bool "Tracing Message Queues" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing Message Queues. | 
 |  | 
 | config TRACING_MAILBOX | 
 | 	bool "Tracing Mailboxes" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing Mailboxes. | 
 |  | 
 | config TRACING_PIPE | 
 | 	bool "Tracing Pipes" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing Pipes. | 
 |  | 
 | config TRACING_HEAP | 
 | 	bool "Tracing Memory Heaps" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing Memory Heaps. | 
 |  | 
 | config TRACING_MEMORY_SLAB | 
 | 	bool "Tracing Memory Slabs" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing Memory Slabs. | 
 |  | 
 | config TRACING_TIMER | 
 | 	bool "Tracing Timers" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing Timers. | 
 |  | 
 | config TRACING_EVENT | 
 | 	bool "Tracing Events" | 
 | 	default y | 
 | 	help | 
 | 	  Enable tracing Events. | 
 |  | 
 | endmenu  # Tracing Configuration | 
 |  | 
 | endif | 
 |  | 
 | source "subsys/tracing/sysview/Kconfig" |