Hi,
On Tue, 28 Jun 2022 at 09:36, finn.burmester@student.uni-luebeck.de wrote:
I think I have double-checked everything, but still no A-sync. I tried different orders of enabling and configuring the tracing components, but nothing seems to change.
- First I enable the sink (ETF)
- Then the Funnel ports are activated
- ETM source id is set. This uses the function cs_set_trace_source_id() which calls _cs_unlock(d), so this should lead to the ETM emitting an a-sync packet, which does not happen.
No - cs_unlock only enables access to the coresight device registers . This will not cause any trace to be emitted.
- Then the configuration of the ETM is set
- Finally, cs_trace_enable is called, which clears the programming bit, which should also lead to an a-sync packet.
Enabling trace is where the first ASYNC should appear.
My quick&dirty workaround so far is to manually insert an a-sync packet at the beginning of cstrace.bin . That leads to a decodable trace that seems to be correct. Does this have any disadvantages?
This will fail is the trace wraps in the buffer. There would then be no guarantee that the earliest trace is actually synchronised. I this case you must allow the decoder to look for the first ASYNC packet. It is advisable to set the periodic sync to less than your buffer size.
Regards
Mike
CoreSight mailing list -- coresight@lists.linaro.org To unsubscribe send an email to coresight-leave@lists.linaro.org