1# Copyright (c) 2021 Percepio AB
2# SPDX-License-Identifier: Apache-2.0
3
4menu "ITM Config"
5config PERCEPIO_TRC_CFG_ITM_PORT
6	int "ITM Port"
7	default 1
8	range 0 31
9	help
10	  What ITM port to use for the ITM software events. Make sure the IDE is
11	  configured for the same channel.
12
13	  Default: 1 (0 is typically terminal output)
14
15config PERCEPIO_TRC_CFG_STREAM_PORT_USE_INTERNAL_BUFFER
16	bool "Use internal buffer"
17	default n
18
19if PERCEPIO_TRC_CFG_STREAM_PORT_USE_INTERNAL_BUFFER
20config PERCEPIO_TRC_CFG_STREAM_PORT_INTERNAL_BUFFER_SIZE
21	int "Internal buffer size"
22	range 32 10485760
23	default 10240
24
25choice PERCEPIO_TRC_CFG_STREAM_PORT_INTERNAL_BUFFER_TRANSFER_MODE
26	prompt "Internal buffer transfer mode"
27	default PERCEPIO_TRC_INTERNAL_EVENT_BUFFER_OPTION_TRANSFER_MODE_ALL
28
29config PERCEPIO_TRC_INTERNAL_EVENT_BUFFER_OPTION_TRANSFER_MODE_ALL
30	bool "Transfer all"
31
32config PERCEPIO_TRC_INTERNAL_EVENT_BUFFER_OPTION_TRANSFER_MODE_CHUNK
33	bool "Transfer chunks"
34endchoice
35
36if PERCEPIO_TRC_INTERNAL_EVENT_BUFFER_OPTION_TRANSFER_MODE_CHUNK
37config PERCEPIO_TRC_CFG_STREAM_PORT_INTERNAL_BUFFER_CHUNK_SIZE
38	int "Chunk size"
39	range 4 10485760
40	default 2048
41
42config PERCEPIO_TRC_CFG_STREAM_PORT_INTERNAL_BUFFER_CHUNK_TRANSFER_AGAIN_SIZE_LIMIT
43	int "Transfer size limit for immediate re-transfer"
44	range 4 10485760
45	default 1024
46	help
47	  Defines the number of transferred bytes needed to trigger another immediate transfer.
48	  This will increase throughput by immediately doing a transfer and not wait for another xTraceTzCtrl() loop.
49
50config PERCEPIO_TRC_CFG_STREAM_PORT_INTERNAL_BUFFER_CHUNK_TRANSFER_AGAIN_COUNT_LIMIT
51	int "Immediate re-transfer count limit"
52	range 1 20
53	default 5
54	help
55	  Defines the maximum number of times to trigger another immediate transfer before returning to xTraceTzCtrl().
56	  This will increase throughput by immediately doing a transfer and not wait for another xTraceTzCtrl() loop.
57endif # PERCEPIO_TRC_INTERNAL_EVENT_BUFFER_OPTION_TRANSFER_MODE_CHUNK
58endif # PERCEPIO_TRC_CFG_STREAM_PORT_USE_INTERNAL_BUFFER
59endmenu # "ITM Config"
60