9c6f48e57b
usage: 1. Connect Jlink, start JLinkGDBServer JLinkGDBServer -if SWD -device stm32h743zi -speed 16000 2. Listen to the RTT port data and forward it to the virtual serial port sudo socat -d -d PTY,link=/dev/ttyRTT0,raw,ignoreeof TCP:127.0.0.1:19021,reuseaddr 3. Read serial data minicom -D /dev/ttyRTT0 Performance:(STM32H743, 400MHZ) time "dd if=/dev/zero of=/dev/console bs=512 count=2048" 6.67 sec 157KB/s Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
213 lines
5.8 KiB
Plaintext
213 lines
5.8 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.
|
|
|
|
config SERIAL_RTT
|
|
bool "Segger RTT serial driver"
|
|
select SEGGER_RTT
|
|
select SERIAL_RXDMA
|
|
select SERIAL_TXDMA
|
|
depends on SERIAL
|
|
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
|
|
|
|
if SERIAL_RTT
|
|
|
|
config SERIAL_RTT_POLLING_INTERVAL
|
|
int "Segger RTT serial pilling interval (us)"
|
|
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"
|
|
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"
|
|
default n
|
|
depends on SEGGER_RTT_MAX_NUM_DOWN_BUFFERS >= 2
|
|
---help---
|
|
This option is used to enable the serial driver of channel 1
|
|
|
|
config SERIAL_RTT2
|
|
bool "Segger RTT serial for channel 2"
|
|
default n
|
|
depends on SEGGER_RTT_MAX_NUM_DOWN_BUFFERS >= 3
|
|
---help---
|
|
This option is used to enable the serial driver of channel 2
|
|
|
|
config SERIAL_RTT_CONSOLE
|
|
int "Segger RTT console channel"
|
|
default 0 if SERIAL_RTT0
|
|
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
|
|
|
|
endif # SERIAL_RTT
|
|
|
|
if DRIVERS_NOTE
|
|
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.
|
|
|
|
endif # DRIVERS_NOTE
|
|
|
|
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
|
|
|
|
endmenu # Segger RTT drivers
|