We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello, I post here a question I have made already, but probably this is the right forum,
since I have not received answer till now.
I need some clues (better if it is a code example) about how to set up triggers in a way that a trace
disable in a core will automatically set the trace disable for all core in a cluster (without invalidating
the contents in ETB). So far, that's the sequence I have:
for(i=0; i<cpu_to_trace; i++) cs_trace_disable(devices.ptm[i]);if (itm) { cs_trace_disable(devices.itm);}cs_sink_disable(devices.etb);if (devices.itm_etb != NULL) { cs_sink_disable(devices.itm_etb);
}
(cs_xxx functions are taken from csaccess.c ARM file). This could take too long time
and I'd like to freeze the contents of PTM/ETB quite soon when requested
(and for all cores housed in a cluster).
Thanks in advance for your kind answers.
Best Regards,
Carlo
Hello,
now I have a draft indication on which procedure I should follow:
- program ITM CTI to route the TRIGOUT signal from the CTI trigger input to one of the channels (CTI Trigger to Channel Enable Register n, where n is the trigger input TRIGOUT is connected to), let's say channel 0
- program each ETM CTI to route the TRIGOUT signal from the CTI trigger input to the same channel, channel 0
- program the ETB CTI to route channel 0 to the trigger output connected to the ETB's TRIGIN input (CTI Channel to Trigger Enable register n, where n is the trigger output TRIGIN is connected to)
- program the ETB Trigger Counter register to 0
- program the ETB FFCR to set the StopTrig bit, and probably also the FOnTrig bit to cause the data in the trace infrastructure to be flushed to the ETB before trace capture stops. I don't think it's necessary to also set the StopFl bit, but there would be no harm in also setting this.
I'm still curious to know how that could be done using CoreSight Access Library and how to insert the stopping trigger on command.
BR/