| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342 | 
							- # 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 "Enable 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 formated 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 "Enable UART backend"
 
- 	depends on UART_CONSOLE
 
- 	help
 
- 	  Use UART to output tracing data.
 
- config TRACING_BACKEND_USB
 
- 	bool "Enable USB backend"
 
- 	depends on USB_DEVICE_STACK
 
- 	depends on TRACING_ASYNC
 
- 	help
 
- 	  Use USB to output tracing data.
 
- config TRACING_BACKEND_POSIX
 
- 	bool "Enable 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 "Enable 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.
 
- 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.
 
- endchoice
 
- config TRACING_BACKEND_UART_NAME
 
- 	string "Device Name of UART Device for UART backend"
 
- 	default "$(dt_chosen_label,$(DT_CHOSEN_Z_CONSOLE))" if HAS_DTS
 
- 	default "UART_0"
 
- 	depends on TRACING_BACKEND_UART
 
- 	help
 
- 	  This option specifies the name of UART device to be used for
 
- 	  tracing backend.
 
- 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 "Enable 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.
 
- menu "Tracing Configuration"
 
- config SYSCALL_TRACING
 
- 	bool "Enable tracing Syscalls"
 
- 	default y
 
- 	help
 
- 	  Enable tracing Syscalls.
 
- config TRACING_THREAD
 
- 	bool "Enable tracing Threads"
 
- 	default y
 
- 	help
 
- 	  Enable tracing Threads.
 
- config TRACING_WORK
 
- 	bool "Enable tracing Work"
 
- 	default y
 
- 	help
 
- 	  Enable tracing Work and Work queue events
 
- config TRACING_ISR
 
- 	bool "Enable tracing ISRs"
 
- 	default y
 
- 	help
 
- 	  Enable tracing ISRs. This requires the backend to be
 
- 	  very low-latency.
 
- config TRACING_SEMAPHORE
 
- 	bool "Enable tracing Semaphores"
 
- 	default y
 
- 	help
 
- 	  Enable tracing Semaphores.
 
- config TRACING_MUTEX
 
- 	bool "Enable tracing Mutexes"
 
- 	default y
 
- 	help
 
- 	  Enable tracing Mutexes.
 
- config TRACING_CONDVAR
 
- 	bool "Enable tracing Condition Variables"
 
- 	default y
 
- 	help
 
- 	  Enable tracing Condition Variables
 
- config TRACING_QUEUE
 
- 	bool "Enable tracing Queues"
 
- 	default y
 
- 	help
 
- 	  Enable tracing Queues.
 
- config TRACING_FIFO
 
- 	bool "Enable tracing FIFO queues"
 
- 	default y
 
- 	help
 
- 	  Enable tracing FIFO queues.
 
- config TRACING_LIFO
 
- 	bool "Enable tracing LIFO queues"
 
- 	default y
 
- 	help
 
- 	  Enable tracing LIFO queues.
 
- config TRACING_STACK
 
- 	bool "Enable tracing Memory Stacks"
 
- 	default y
 
- 	help
 
- 	  Enable tracing Memory Stacks.
 
- config TRACING_MESSAGE_QUEUE
 
- 	bool "Enable tracing Message Queues"
 
- 	default y
 
- 	help
 
- 	  Enable tracing Message Queues.
 
- config TRACING_MAILBOX
 
- 	bool "Enable tracing Mailboxes"
 
- 	default y
 
- 	help
 
- 	  Enable tracing Mailboxes.
 
- config TRACING_PIPE
 
- 	bool "Enable tracing Pipes"
 
- 	default y
 
- 	help
 
- 	  Enable tracing Pipes.
 
- config TRACING_HEAP
 
- 	bool "Enable tracing Memory Heaps"
 
- 	default y
 
- 	help
 
- 	  Enable tracing Memory Heaps.
 
- config TRACING_MEMORY_SLAB
 
- 	bool "Enable tracing Memory Slabs"
 
- 	default y
 
- 	help
 
- 	  Enable tracing Memory Slabs.
 
- config TRACING_TIMER
 
- 	bool "Enable tracing Timers"
 
- 	default y
 
- 	help
 
- 	  Enable tracing Timers.
 
- endmenu  # Tracing Configuration
 
- endif
 
- config TRACING_IRQ_PROFILER
 
- 	bool "Enable tracing ISRs profile"
 
- 	default n
 
- 	help
 
- 	  Enable tracing ISRs profiler. This requires the backend to be
 
- 	  very low-latency.
 
- config TRACING_IRQ_PROFILER_MAX_LATENCY
 
- 	bool "Enable tracing ISRs max latency time"
 
- 	default n
 
- 	help
 
- 	  Enable tracing ISRs  max latency time. This requires the backend to be
 
- 	  very low-latency.
 
- config TRACING_IRQ_PROFILE_MAX_LATENCY_CYCLES
 
- 	int "Enable tracing ISRs max latency time cycles(24MHZ)"
 
- 	default 320000
 
- 	help
 
- 	  Enable tracing ISRs  max latency time cycles. This requires the backend to be
 
- 	  very low-latency.
 
- config TRACING_IRQ_PROFILER_IRQLOADING
 
- 	bool "Enable tracing ISRs  irq loading"
 
- 	default n
 
- 	help
 
- 	  Enable tracing ISRs irq loading. This requires the backend to be
 
- 	  very low-latency.
 
- source "subsys/tracing/sysview/Kconfig"
 
 
  |