336 lines
6.9 KiB
Plaintext
336 lines
6.9 KiB
Plaintext
# 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_PERCEPIO_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.
|
|
|
|
config TRACING_BACKEND_ADSP_MEMORY_WINDOW
|
|
bool "Memory window in RAM"
|
|
depends on SOC_FAMILY_INTEL_ADSP
|
|
depends on TRACING_SYNC
|
|
help
|
|
Use ADSP memory debug memory window to output tracing data
|
|
|
|
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.
|
|
|
|
config TRACING_POLLING
|
|
bool "Tracing Polling"
|
|
default y
|
|
help
|
|
Enable tracing Work Polling and Polling API.
|
|
|
|
config TRACING_PM
|
|
bool "Tracing Power Management"
|
|
default y
|
|
help
|
|
Enable tracing Power Management.
|
|
|
|
endmenu # Tracing Configuration
|
|
|
|
endif
|
|
|
|
source "subsys/tracing/sysview/Kconfig"
|