OpenCSD - CoreSight Trace Decode Library  1.3.3
Public Member Functions | List of all members
ITrcSrcIndexCreator Class Referenceabstract

Interface class to index the frame formatted trace stream. More...

#include <trc_indexer_src_i.h>

Public Member Functions

 ITrcSrcIndexCreator ()
 
virtual ~ITrcSrcIndexCreator ()
 
virtual const uint32_t IndexBlockSize () const
 
virtual ocsd_err_t TrcIDIndex (const ocsd_trc_index_t src_idx, const uint8_t ID)=0
 
virtual ocsd_err_t TrcIDBlockMap (const ocsd_trc_index_t src_idx_start, const std::vector< uint8_t > IDs)=0
 
virtual ocsd_err_t TrcEventIndex (const ocsd_trc_index_t src_idx, const int event_type)=0
 
virtual void TrcSyncIndex (const ocsd_trc_index_t src_idx)
 

Detailed Description

Interface class to index the frame formatted trace stream.

This indexer creates an index of trace IDs present in the frame formatted trace stream. It will also index any trigger point markers indicated in the frame format.

Indexing is optional at runtime. Indexes can be saved and re-used.

Definition at line 55 of file trc_indexer_src_i.h.

Constructor & Destructor Documentation

◆ ITrcSrcIndexCreator()

ITrcSrcIndexCreator::ITrcSrcIndexCreator ( )
inline

Definition at line 58 of file trc_indexer_src_i.h.

◆ ~ITrcSrcIndexCreator()

virtual ITrcSrcIndexCreator::~ITrcSrcIndexCreator ( )
inlinevirtual

Default constructor.

Definition at line 59 of file trc_indexer_src_i.h.

Member Function Documentation

◆ IndexBlockSize()

virtual const uint32_t ITrcSrcIndexCreator::IndexBlockSize ( ) const
virtual

Default destructor.

The size of block that the indexer will split trace into - this is effectively the index granularity. The indexing will indicate if an indexed element - e.g. a source ID - is present in the block. Smaller granularity will mean a larger index but more resolution in IDs and event positions.

Block sizes will be power of 2 aligned, not less 256 bytes (16 frames). Indexer will choose block size based on total trace size and desired granularity.

Returns
uint32_t : Size of indexing block.

◆ TrcEventIndex()

virtual ocsd_err_t ITrcSrcIndexCreator::TrcEventIndex ( const ocsd_trc_index_t  src_idx,
const int  event_type 
)
pure virtual

The CoreSight frame format can use a reserved ID to indicate trigger or other events programmed into the trace protocol generator. This call indexes these events.

Parameters
src_idx: trace index of the event.
event_type: type of event.
Returns
ocsd_err_t : OCSD_OK if indexed correctly, OCSD_ERR_INVALID_PARAM_VAL if incorrect value used.

◆ TrcIDBlockMap()

virtual ocsd_err_t ITrcSrcIndexCreator::TrcIDBlockMap ( const ocsd_trc_index_t  src_idx_start,
const std::vector< uint8_t >  IDs 
)
pure virtual

Index a set of IDs in a block. Block is assumed to be one of size IndexBlockSize()

May be used by the deformatter to collate IDs and reduce indexing calls. May be used by hardware capture source that has its own index of IDs, to transfer indexing information into the decoder indexer.

Parameters
src_idx_start: Index of start of block.
IDs: IDs within the block.
Returns
virtual ocsd_err_t : OCSD_OK if successful.

◆ TrcIDIndex()

virtual ocsd_err_t ITrcSrcIndexCreator::TrcIDIndex ( const ocsd_trc_index_t  src_idx,
const uint8_t  ID 
)
pure virtual

Index a single ID

Parameters
src_idx: trace index of source ID
ID: The source ID.
Returns
virtual ocsd_err_t : OCSD_OK if successful.

◆ TrcSyncIndex()

virtual void ITrcSrcIndexCreator::TrcSyncIndex ( const ocsd_trc_index_t  src_idx)
virtual

When the frame formatter is using frame syncs (typically TPIU output captured on off chip capture device), this index call notes the position of these elements.

Parameters
src_idx: trace index of sync point.

The documentation for this class was generated from the following file: