This library provides a decoder and a tracer for the instruction tracing defined in the Efficient Trace for RISC-V specification. It provides:
- a decoder for instruction trace packets and the extraction from Siemens Messaging Infrastructure (SMI) packets,
- a tracer which processes these packets and generates a sequence of tracing items, each corresponding to a single traced instruction,
- a specialized instruction database with limited decoding capabilities and
- various utilities, including types for handling trace encoder parameters.
Some aspects of support packets are defined by trace encoder implementations. This library provides an interface for abstracting them and support for the followng specific encoders (and, of course, compatible units):
- the reference encoder implementation and
- the PULP rv tracer.
This library is licensed under the Apache License 2.0.
Development of this library was partially funded by the German Federal Ministry of Research, Technology, and Space (BMFTR) within the project Scale4Edge (grant number 16ME0126).