This is original closed thread: [SOLVED] J-Link RTT not working on AM335x
Where Niklas wrote:
Which is partially wrong.
Background memory access is optional in Cortex-A and it depends on silicon manufacturer.
In that case (TI AM335x) background memory access is present and RTT is working.
I have enabled it by providing the "Control Block" address to JLink.dll through JLink commander command (or inside script) or gdb command.
Without that JLink is scanning memory for the control block but the memory might be huge.
1) Run JLink and execute command:
Where <addr> is address of Control Block structure which you can find in map file or running 'nm' command on executable.
Example output:
_SEGGER_RTT is the control block structure with memory address 0x801761a4.
So the command is:
2) While debugging you can do it automatically creating custom .gdbinit script with this command inside:
And this is sample .gdbinit script:
Where Niklas wrote:
SEGGER - Niklas wrote:
Hi Alexandre,
as described on the website, J-Link RTT is supported by all devices/cores with background memory access.
Unfortunately, Cortex-A8 does not support this feature.
Best regards,
Niklas
Which is partially wrong.
Background memory access is optional in Cortex-A and it depends on silicon manufacturer.
In that case (TI AM335x) background memory access is present and RTT is working.
I have enabled it by providing the "Control Block" address to JLink.dll through JLink commander command (or inside script) or gdb command.
Without that JLink is scanning memory for the control block but the memory might be huge.
1) Run JLink and execute command:
Where <addr> is address of Control Block structure which you can find in map file or running 'nm' command on executable.
Example output:
So the command is:
2) While debugging you can do it automatically creating custom .gdbinit script with this command inside:
And this is sample .gdbinit script: