ITrcSrcIndexCreator Class Referenceabstract
OpenCSD Library : Interfaces

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 | ( |  | ) |

inline virtual

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:

- /build/libopencsd-WqHKQU/libopencsd-0.12.2/decoder/include/interfaces/trc_indexer_src_i.h