I am currently using SWO to get tracing data from ITM and DWT successfully.
Now I want to use parallel trace for more throughput. For that I use an FPGA, no JTrace or similar. Also I don't use any debugging software or IDE, I want everything to be set up via the target code or GDB.
I switched the TRACE switch on my nRF52840 DK to "Alt".
When looking into the documentation it seems to me the only thing I have to do is setting TRACEMUX in TRACECONFIG to 2 for parallel trace and configure the pins correctly. This is precisely what system_nrf52840.c does if I define ENABLE_TRACE.
So I expected to get trace output then. I also expected TPI->SPPR (Selected Pin Protocol Register) to be zero for TracePort mode. However it is "01" for SerialWire Output.
When ENABLE_TRACE is defined, the TRACECLK and TRACEDATA[0] pins are at around 1.4v. The other data pins are zero though. When I am in SWO mode, TRACECLK is zero as well. So ENABLE_TRACE has an effect. I can also verify that TRACEMUX is set up correctly.
Is there anything else that I need to configure to get ITM packets through the TPIU to the trace pins? Can you give me some hints or a tutorial? For me as someone how doesn't do low level development regularly the documentation is not very clear, it seems like you need to know what to do already so that you can look up the specifics about the registers.
Thanks
Bennet