Menu

#391 RTT Only Prints To Console When it is Stopped and Started Again

0.10.0
new
nobody
None
2023-04-14
2023-04-14
No

I am debugging an AM6548 SoC, specifically the Cortex-R5 core of the SoC, I am using the development board's (AM65x_GP_EVM) integrated XDS110 debugger. I have been able to integrate SEGGER print statements into my code as well, and configuring RTT on OpenOCD I am able to see the _SEGGER_RTT symbol and find the control block.

The issue is that the RTT console that is created by OpenOCD does not print out data in real time, I have to monitor rtt stop then monitor rtt start in the debug console, and then all the print data that was in the RTT control block is printed out. This behavior is pretty consistent. I use just a basic telnet connection to monitor the RTT terminal.

Here are some details about my setup
OS: WSL: Ubuntu 20.04 LTS
GDB Version: gdb-multiarch (GNU gdb (Ubuntu 9.2-0ubuntu1~20.04.1) 9.2)
OpenOCD version: Open On-Chip Debugger 0.12.0-rc1+dev-00924-gae937791d (2022-09-29-09:21)

The commands I am using to initialize the RTT terminal are as follows:

(gdb) monitor rtt setup 0xa040f974 10 {SEGGER RTT}
(gdb) monitor rtt server start 60000 0
Listening on port 60000 for rtt connections
(gdb) monitor rtt start
rtt: Searching for control block 'SEGGER RTT'
rtt: Control block found at 0xa040f974

And then to connect to the RTT terminal I use telnet localhost 60001. And my print statements are not printed as I run the code, only when I monitor rtt stop and monitor rtt start from the gdb terminal do I see all the buffered print statements dumped.

Discussion


Log in to post a comment.