Hi there,
We have a Cortex-M33 and the coresight module is configured such that ITM traces are output on 2 pins of trace port TRACECLK and TRACEDATA[0], rather than the more traditional SWO pin.
So I have two questions please:
Is there any way (trace window or GUI) to capture ITM traces in ARM Development Studio using DStream for example? Or can this only be done on Keil MDK (uvision IDE) using Ulink-pro?
How do we configure the IDE trace capture to use only one bit (i.e. TRACEDATA[0]) of the four-pin trace port (on the connector)?
Thanks
Sarah
HiMy name is Stephen and I work at Arm.Yes, Arm DS and DSTREAM-family debug units can be used to capture ITM data from a target and display it in the Events view:
see developer.arm.com/.../Events-view
but Arm DS has no equivalent to the Serial Wire Viewer or Trace Records view as found in Keil MDK uVision.There is an example (named "ITM_Cortex-M4_MPS2") provided with the Arm DS examples that illustrates this.Depending on your target board and type of DSTREAM unit (e.g. -ST or -PT), there may be a ready-made debug configuration available that offers a variety of TPIU port widths. This is selected from the "DTSL Options" button.For example, this screenshot is for the Cortex-M33 SSE-200 platform:
To compare DSTREAM Editions, see https://developer.arm.com/Tools%20and%20Software/DSTREAM-ST?#Editions
Hope this helps,Stephen
Thank you Stephen. I assume going by this webpage that the IDE and probes cannot be mix and matched? In other words, we cant use Keil MDK (uVision IDE) with DStream Probes:
https://developer.arm.com/Tools%20and%20Software/Keil%20MDK
Is that correct?
Hi Sarah, Keil MDK cannot be used with DSTREAM, though Arm Development Studio does support the uLink probes.
thank you
Hi Stephen,follow up to this question, once i have exported both event and dstl confg is there a way i want put that into armdbg command? I am trying to automate this process with a python script that calls the command. Rather than having to use the gui.
Do you just need the 'trace report' command?
https://developer.arm.com/documentation/101471/2023-1/Arm-Debugger-commands/Arm-Debugger-commands-listed-in-alphabetical-order/trace-report
Hi Stephen,
Thank you for your helpful answer.
I am trying to find a way to capture trace data with Ulinkpro in armds, but I'm having no luck. It looks like capturing any trace data in Arm Developement Studio using Ulinkpro is only possible with the targets implementing ETB. Is this a correct assumption?
Regards
Amir
You are correct. You can only use Keil MDK with UlinkPro for off-chip trace.
https://developer.arm.com/Tools%20and%20Software/ULINKpro
Hi Stephen,I am still not clear on your statement: Arm DS has no equivalent to the Serial Wire Viewer or Trace Records view, but ARM DS can use Event View to display trace packets from ITM?Also I have a Coxtex-M33, connected with DStream, via SWD, and CSITM goes to SWO, in ARM DS 2023.0 Event Viewer Settings, it complains "Trace source or Device is invalid" with following config:
What could be wrong?
Xiaoming
Hi
Sorry, but SWO is not supported by Arm DS or DSTREAM.
To use SWO, you will need to use the Keil MDK and one of the uLink-family probes instead.
See:
https://www.keil.com/
https://developer.arm.com/documentation/101407/0541/Debugging/Code-and-Data-Trace--Cortex-M-/Trace-Features
https://learn.arm.com/learning-paths/microcontrollers/uv_debug/4_swv/
https://www.keil.com/download/files/swv_on_cortex-m3.pdf
https://community.arm.com/support-forums/f/keil-forum
Hope this helps
Stephen