I am developping a baremetal application for a Cortex-A9 core, which has a CoreSight debug interface. I am using GCC for compiling and GDB for debugging (JTAG Interface), and things work fine. However, as a next step, I would like to be able to print data to a terminal in "printf" style. I don't want to use a UART for this, I want to do it over JTAG, I just don't know how.
I have done exactly this before on a Cortex-M core, sending my printf data to the Instrumentation Trace Macrocell (ITM). I was able to see this in my debug server as SWO Output.
I need something similar for the Cortex-A9 platform. I have read that ITM is only available in Cortex-M platforms, so what is the equivalent for Cortex-A?
Does your platform support the System Trace Macrocell (STM)? This (series of) blogs may help you:https://community.arm.com/developer/tools-software/tools/b/tools-software-ides-blog/posts/introduction-to-arm-s-system-trace-macrocell
Thank you Ronan, this is great. Parts 1 and 2 are very helpful for me. However part 3 is not that helpful, as I am not using DS-5, but just a GDB server.
How can I read STM data with GDB?
Sorry, I've no experience with that.