Open dwjbosman opened 1 month ago
Ok, it seems that if the actual data transfer buffer is before the ramstart parameter, the app crashes.
So I started the app with a lower ramstart and larger ramsize. Now it runs.
It could be a solution to resize the memory cache if it finds bufferDesc.pBuffer < ramStart and then to adjust ramStart
Good finding. Can you send some code that let me replicate this and I try to fix it?
Sorry, I can't share the code.
1. If you check SEGGER_RTT.c the _acDownBuffer is allocated, and also _SEGGER_RTT
You could move the allocations to ensure that _acUpBuffer is allocated to an address lower than _SEGGER_RTT 2. And then in the .map file find the exact address of _SEGGER_RTT
Start the rtt viewer with -ramstart setting of the exact _SEGGER_RTT address
This will trigger the fault
I am testing strtt on a STM32U5, it finds the RTT info but then crashes
./strtt -v 4 -ramstart 0x2023af49
I added some debugging code, but I don't know how to fix this:
Debug: 96 62 strtt.cpp:281 readRtt(): readrtt: pushblock pb=539208521, rs=539209545 start = 4294966272, size = 1024
Somehow bufferDesc.pBuffer < ramStart, which causes start to overflow, which in turn causes _memory[start] to fail.