Skip to main content
Associate III
January 30, 2025
Solved

RTT Output Broken After Adding Large Static Variable

  • January 30, 2025
  • 2 replies
  • 1299 views

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

 

 

 

Best answer by WhoIsJohnGalt

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
January 31, 2025

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

WhoIsJohnGalt_0-1738313799230.png

 

Andrew Neil
Super User
January 31, 2025

@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.