This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

does DS-5 community edition support snapshot tracing (i.e. getting the ETB trace and then displaying the instructions/functions)?

Hi, I've used the CoreSight library to create a "flight-recorder" -- one simple application is to stop on a data abort and capture the ETB trace. I know I can view the trace (for instructions and functions executed) in the DS-5 ultimate edition.

Does anyone know if the Community Edition can also support it? Is any effort in the works to be able to support it?

If not, can anyone recommend any packages/libraries to be able to decode the ETB trace?

I found this link on the web: GitHub - hwangcc23/ptm2human: ARM PTM decoder, and ARM ETM v4 decoder. ptm2human is a decoder for trace data outputted b…

Thanks.

Parents
  • Hi subramanian,

    Community Edition does not support ETB trace.

    You can decode trace, once extracted from the ETB in software, using libraries such as OpenCSD which is a modern alternative to 'older' solutions like ptm2human and decodes a few more trace formats. Since ptm2human required you to get a file with the trace information in the first place, we'll assume you can pull data from an ETB and feed it to an application.

    Remember that CoreSight trace is usually multiplexed and framed (please see the CoreSight Architecture Specification) and the packets encoded in those frames are usually highly "compressed" -- an ETM outputs very small amounts of data per instruction executed (or not-executed), and doesn't include anything but addresses and context information (instruction set type, exception/privilege level) around those "atoms." Actual instruction and function recognition is entirely down to the trace decoder software itself. OpenCSD has a good HOWTO document on using perf to get instruction information from a memory image (using perf under Linux). The obvious benefit of OpenCSD here is that it is a library of decoders, so you can write your own application (or data abort handler..) around it.

    Ta,

    Matt

Reply
  • Hi subramanian,

    Community Edition does not support ETB trace.

    You can decode trace, once extracted from the ETB in software, using libraries such as OpenCSD which is a modern alternative to 'older' solutions like ptm2human and decodes a few more trace formats. Since ptm2human required you to get a file with the trace information in the first place, we'll assume you can pull data from an ETB and feed it to an application.

    Remember that CoreSight trace is usually multiplexed and framed (please see the CoreSight Architecture Specification) and the packets encoded in those frames are usually highly "compressed" -- an ETM outputs very small amounts of data per instruction executed (or not-executed), and doesn't include anything but addresses and context information (instruction set type, exception/privilege level) around those "atoms." Actual instruction and function recognition is entirely down to the trace decoder software itself. OpenCSD has a good HOWTO document on using perf to get instruction information from a memory image (using perf under Linux). The obvious benefit of OpenCSD here is that it is a library of decoders, so you can write your own application (or data abort handler..) around it.

    Ta,

    Matt

Children
No data