You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ctrace combines a CMSIS trace-run configuration with raw CoreSight trace data. It decodes the trace into backend-independent events and can produce CSV or CTF output for further analysis, including Trace Compass.
Integration tests for regular SWO input and recovery after a reset-like discontinuity
The selectors event, pmu and pcsample are accepted as specified. DWT event-counter and PMU packets are retained internally but are not emitted yet. Periodic DWT PC-sample packets are currently suppressed because no backend-independent PC-sample event exists yet. Formatted *.TB.raw input is discovered but currently skipped.
OpenCSD error handling
Invalid ITM packet sequences and packet headers are treated as recoverable stream errors:
Events before the reported raw offset are retained.
Events at or after the failing offset are discarded.
The OpenCSD decoder is reset.
Decoding resumes only after OpenCSD finds a real hardware ITM sync.
The lost byte range is emitted as an ordered error/data-loss event.
Pending DWT correlation is cleared and timestamp quality is marked unreliable.
Recoverable trace corruption is reported as [error] and causes a non-zero exit status, but decoding continues after the next valid synchronization point.
A non-recoverable OpenCSD failure aborts the current raw input and removes incomplete output artifacts. Other solution sets can still be processed.
Select and document the supported trace-run revision and define the architecture, comparator-role, grouped-source and symbol metadata required for complete decoding
Preserve logical references, processor bindings, grouped resources and exact trace-route context in the normalized metadata
Complete Armv7-M DWT comparator-role semantics, including linked comparators, address ranges and value matches
Add architecture-aware Armv8-M and Armv8.1-M DWT decoding, including match, PC+offset, compressed address/PC packets and linked-pair reconstruction
Finalize DWT event-counter semantics and implement event output
Finalize PMU event semantics and implement pmu output
Add a backend-independent DWT PC-sample event, retain periodic PC-sample packets in the decoder and implement pcsample output
Add formatted Trace Bus decoding for *.TB.raw
Add ETM instruction-trace decoding with target-image access
Add MTB instruction-trace decoding
Add multi-core support, including processor identity and trace-route bindings
Add support for multiple trace clocks and cross-stream time synchronization
Purpose
ctracecombines a CMSIS trace-run configuration with raw CoreSight trace data. It decodes the trace into backend-independent events and can produce CSV or CTF output for further analysis, including Trace Compass.Architecture
Architecture description
Supported today
The selectors
event,pmuandpcsampleare accepted as specified. DWT event-counter and PMU packets are retained internally but are not emitted yet. Periodic DWT PC-sample packets are currently suppressed because no backend-independent PC-sample event exists yet. Formatted*.TB.rawinput is discovered but currently skipped.OpenCSD error handling
Invalid ITM packet sequences and packet headers are treated as recoverable stream errors:
Recoverable trace corruption is reported as
[error]and causes a non-zero exit status, but decoding continues after the next valid synchronization point.A non-recoverable OpenCSD failure aborts the current raw input and removes incomplete output artifacts. Other solution sets can still be processed.
Current development
Remaining work
match,PC+offset, compressed address/PC packets and linked-pair reconstructioneventoutputpmuoutputpcsampleoutput*.TB.rawReferences
Issues