Skip to main content
Associate III
Jan 30, 2025 9:27 PM UTC
Solved

RTT Output Broken After Adding Large Static Variable

Hi,

when I increase the size of the ThreadX trace buffer above 30k the RTT output is not working anymore (Below 30k RTT works fine).

 

static uint8_t trace_buffer[1024*64] __attribute__((section(".trace")));

 

WhoIsJohnGalt_0-1738270216551.png

My guess is that the RTT viewer can't find the RTT control block anymore. I can't explain myself why this is the case.
When checking the map file I find the control block near the end of SRAM1, which should not be a problem I think?

WhoIsJohnGalt_2-1738271509426.png

WhoIsJohnGalt_1-1738270436861.png

Anyone some idea, how to fix the RTT output? Any help is appreciated :)
Thank you

Regards

John

 

 

 

This topic has been closed for replies.
WhoIsJohnGaltBest answer
Associate III
Jan 31, 2025 8:56 AM UTC

After setting the address of the control block in the RTT viewer the output works again.

WhoIsJohnGalt_0-1738313799230.png

 

2 replies

WhoIsJohnGaltAuthorBest answer
Associate III
Jan 31, 2025 8:56 AM UTC

After setting the address of the control block in the RTT viewer the output works again.

WhoIsJohnGalt_0-1738313799230.png

 

Andrew Neil
Super User
Jan 31, 2025 9:03 AM UTC

@WhoIsJohnGalt wrote:

My guess is that the RTT viewer can't find the RTT control block anymore.


That would be something to take up with Segger:

https://forum.segger.com/index.php/Board/3-J-Link-Flasher-related/?s=c02a6b0d2096ae321cdf9ebd41d79f02de3514dd

 

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.