nuttx/drivers/segger/Kconfig
2023-09-29 13:00:06 +08:00

253 lines
6.7 KiB
Plaintext

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
menu "Segger RTT drivers"
config SEGGER_RTT
bool
---help---
Enable Segger J-Link RTT libraries for platforms that support it.
Selection of this option enables use of RTT for various subsystems.
Note that by enabling this option, RTT buffers consume more RAM.
if SEGGER_RTT
config SEGGER_RTT_SECTION
string "Segger RTT Control Block Section"
default ""
---help---
Declare _SEGGER_RTT global variable in the specific data section.
config SEGGER_RTT_BUFFER_SECTION
string "Segger RTT Buffer Block Section"
default SEGGER_RTT_SECTION
---help---
Declare _acUpBuffer/_acDownBuffer global variables in the specific
data section.
config SEGGER_RTT_CPU_CACHE_LINE_SIZE
int "Segger RTT Cache Line Size"
default 0
---help---
Largest cache line size (in bytes) in the target system.
config SEGGER_RTT_UNCACHED_OFF
int "Segger RTT uncached offset"
default 0
---help---
Address alias where RTT CB and buffers can be accessed uncached
config SEGGER_RTT_MAX_NUM_UP_BUFFERS
int "Segger RTT Maximum Number of UP Buffers"
default 3
---help---
Number of up-buffers (T->H) available on this target
config SEGGER_RTT_MAX_NUM_DOWN_BUFFERS
int "Segger RTT Maximum Number of Down Buffers"
default SEGGER_RTT_MAX_NUM_UP_BUFFERS
---help---
Number of down-buffers (H->T) available on this target
config SEGGER_RTT_BUFFER_SIZE_UP
int "Segger RTT UP Buffer Size"
default 1024
---help---
Size of the buffer for terminal output of target, up to host
config SEGGER_RTT_BUFFER_SIZE_DOWN
int "Segger RTT Down Buffer Size"
default 16
---help---
Size of the buffer for terminal input to target from host (Usually keyboard input)
config SEGGER_RTT1_BUFFER_SIZE_UP
int "Segger RTT Channel 1 UP Buffer Size"
depends on SEGGER_RTT_MAX_NUM_UP_BUFFERS >= 2
default SEGGER_RTT_BUFFER_SIZE_UP
---help---
Size of the buffer for channel 1 output of target, up to host
config SEGGER_RTT1_BUFFER_SIZE_DOWN
int "Segger RTT Channel 1 DOWN Buffer Size"
depends on SEGGER_RTT_MAX_NUM_DOWN_BUFFERS >= 2
default SEGGER_RTT_BUFFER_SIZE_DOWN
---help---
Size of the buffer for channel 1 input to target from host
config SEGGER_RTT2_BUFFER_SIZE_UP
int "Segger RTT Channel 2 UP Buffer Size"
depends on SEGGER_RTT_MAX_NUM_UP_BUFFERS >= 3
default SEGGER_RTT_BUFFER_SIZE_UP
---help---
Size of the buffer for channel 2 output of target, up to host
config SEGGER_RTT2_BUFFER_SIZE_DOWN
int "Segger RTT Channel 2 Down Buffer Size"
depends on SEGGER_RTT_MAX_NUM_DOWN_BUFFERS >= 3
default SEGGER_RTT_BUFFER_SIZE_DOWN
---help---
Size of the buffer for channel 2 input to target from host
choice
prompt "SEGGER_RTT_MODE"
default SEGGER_RTT_MODE_NO_BLOCK_SKIP
config SEGGER_RTT_MODE_NO_BLOCK_SKIP
bool "Skip. Do not block, output nothing. (Default)"
config SEGGER_RTT_MODE_NO_BLOCK_TRIM
bool "Trim: Do not block, output as much as fits."
config SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL
bool "Block: Wait until there is space in the buffer."
endchoice # SEGGER_RTT_MODE
endif # SEGGER_RTT
config STREAM_RTT
bool "Stream to/from Segger J-Link RTT"
select SEGGER_RTT
default n
---help---
Use Segger J-Link RTT as a stream input and output.
config SYSLOG_RTT
bool "Log to Segger J-Link RTT"
select SEGGER_RTT
default n
---help---
Use Segger J-Link RTT as a SYSLOG output device.
if SYSLOG_RTT
config SYSLOG_RTT_CHANNEL
int "SYSLOG RTT channel"
default 0
---help---
SYSLOG RTT channel number
endif
config SERIAL_RTT
bool
select SEGGER_RTT
select SERIAL_RXDMA
select SERIAL_TXDMA
default n
---help---
This option is used to enable RTT serial device
In Segger RTT serial driver, RTT channel buffer and serial DMA buffer are shared,
So you cannot use RTT stream to operate it
config SERIAL_RTT_POLLING_INTERVAL
int "Segger RTT serial pilling interval (us)"
depends on SERIAL_RTT
default USEC_PER_TICK
---help---
This option is used to configure the RTT serial polling interval
config SERIAL_RTT0
bool "Segger RTT serial for channel 0"
select SERIAL_RTT
depends on SERIAL
default n
---help---
This option is used to enable the serial driver of channel 0
config SERIAL_RTT1
bool "Segger RTT serial for channel 1"
select SERIAL_RTT
depends on SERIAL
default n
---help---
This option is used to enable the serial driver of channel 1
config SERIAL_RTT2
bool "Segger RTT serial for channel 2"
select SERIAL_RTT
depends on SERIAL
default n
---help---
This option is used to enable the serial driver of channel 2
config SERIAL_RTT_CONSOLE
bool "Segger RTT console support"
depends on SERIAL_RTT
default y
---help---
If this opsion is selected, then RTT channel can be used as console
config SERIAL_RTT_CONSOLE_CHANNEL
int "Segger RTT console channel"
depends on SERIAL_RTT && SERIAL_RTT_CONSOLE
default 0 if SERIAL_RTT0
default 1 if SERIAL_RTT1
default 2 if SERIAL_RTT2
default -1
---help---
Select RTT console channel, using RTT channel 0 by default.
The buffer size of RTT channel 0 is configured by SEGGER_RTT_BUFFER_SIZE_UP/DOWN
You need to turn off other console devices before using Segger RTT console
if DRIVERS_NOTE
config NOTE_RTT
bool "Note RTT driver, write note into Segger J-Link RTTLog"
default n
---help---
If this option is selected, then jlink rtt is enabled to capture
scheduler instrumentation data.
if NOTE_RTT
config NOTE_RTT_CHANNEL
int "Note RTT driver, Segger J-Link stream channel"
default 0
---help---
Channel of notertt jlink stream channel
config NOTE_RTT_BUFFER_SIZE_UP
int "Note RTT driver, Segger J-Link buffer size"
default 1024
---help---
Buffer size config for notertt jlink config buffer
endif # NOTE_RTT
config SEGGER_SYSVIEW
bool "Note SEGGER SystemView driver"
select SEGGER_RTT
---help---
SystemView is a real-time recording and visualization tool for embedded
systems that reveals the true runtime behavior of an application,
going far deeper than the system insights provided by debuggers. This is
particularly effective when developing and working with complex embedded
systems comprising multiple threads and interrupts. SystemView can ensure
unintended interactions and resource conflicts.
if SEGGER_SYSVIEW
config SEGGER_SYSVIEW_RTT_CHANNEL
int "Segger System View RTT channel"
default 0
---help---
The RTT channel number for SystemView, zero find the unused one.
config SEGGER_SYSVIEW_RTT_BUFFER_SIZE
int "Segger System View buffer size"
default SEGGER_RTT_BUFFER_SIZE_UP
---help---
Number of bytes that SystemView uses for the RTT buffer.
config SEGGER_SYSVIEW_RAM_BASE
int "Segger System View Ram Base"
default 0
---help---
The lowest RAM address used for IDs
endif # SEGGER_SYSVIEW
endif # DRIVERS_NOTE
endmenu # Segger RTT drivers