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. 1. First I enable the sink (ETF) 2. Then the Funnel ports are activated 3. 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. 4. Then the configuration of the ETM is set 5. Finally, cs_trace_enable is called, which clears the programming bit, which should also lead to an a-sync packet.
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?