Skip to main content
Associate III
January 30, 2025
Solved

RTT Output Broken After Adding Large Static Variable

  • January 30, 2025
  • 2 replies
  • 1334 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

 

 

 

This topic has been closed for replies.
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.