OpenCSD - CoreSight Trace Decode Library
0.14.1
|
Go to the documentation of this file.
36 #ifndef ARM_OCSD_DCD_TREE_H_INCLUDED
37 #define ARM_OCSD_DCD_TREE_H_INCLUDED
123 const uint32_t dataBlockSize,
124 const uint8_t *pDataBlock,
125 uint32_t *numBytesProcessed);
385 ocsd_err_t createDecodeElement(
const uint8_t CSID);
386 void destroyDecodeElement(
const uint8_t CSID);
387 void destroyMemAccMapper();
404 uint8_t m_decode_elem_iter;
407 bool m_created_mapper;
409 std::vector<ItemPrinter *> m_printer_list;
413 static std::list<DecodeTree *> s_trace_dcd_trees;
419 static TrcIDecode s_instruction_decoder;
424 #endif // ARM_OCSD_DCD_TREE_H_INCLUDED
ocsd_err_t updateBinFileRegionMemAcc(const ocsd_file_mem_region_t *region_array, const int num_regions, const ocsd_mem_space_acc_t mem_space, const std::string &filepath)
~DecodeTree()
default destructor
enum _ocsd_datapath_resp_t ocsd_datapath_resp_t
void setExternMemAccMapper(TrcMemAccMapper *pMapper)
ocsd_err_t createMemAccMapper(memacc_mapper_t type=MEMACC_MAP_GLOBAL)
uint32_t(* Fn_MemAcc_CB)(const void *p_context, const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space, const uint32_t reqBytes, uint8_t *byteBuffer)
virtual ocsd_datapath_resp_t TraceDataIn(const ocsd_datapath_op_t op, const ocsd_trc_index_t index, const uint32_t dataBlockSize, const uint8_t *pDataBlock, uint32_t *numBytesProcessed)
Trace Data input interface (ITrcDataIn)
@ OCSD_TRC_SRC_FRAME_FORMATTED
const bool hasMemAccMapper() const
static DecodeTree * CreateDecodeTree(const ocsd_dcd_tree_src_t src_type, const uint32_t formatterCfgFlags)
Create a decode tree. Automatically creates a trace frame deformatter if required and a default error...
Base class for configuration data on CoreSight trace component.
ocsd_err_t clearIDFilter()
remove filter, all IDs will be decoded
ITrcGenElemIn * getGenTraceElemOutI() const
Return the connected generic element interface.
TrcMemAccMapper * getMemAccMapper() const
DecodeTreeElement * getNextElement(uint8_t &elemID)
Class to manage the decoding of data from a single trace sink .
enum _ocsd_dcd_tree_src_t ocsd_dcd_tree_src_t
void setInstrDecoder(IInstrDecode *i_instr_decode)
ocsd_err_t removeDecoder(const uint8_t CSID)
Interface for the input of generic trace elements.
ocsd_err_t addPacketPrinter(uint8_t CSID, bool bMonitor, ItemPrinter **ppPrinter)
static ITraceErrorLog * getCurrentErrorLogI()
ocsd_err_t addCallbackMemAcc(const ocsd_vaddr_t st_address, const ocsd_vaddr_t en_address, const ocsd_mem_space_acc_t mem_space, Fn_MemAcc_CB p_cb_func, const void *p_context)
enum _ocsd_err_t ocsd_err_t
ocsd_err_t addCallbackIDMemAcc(const ocsd_vaddr_t st_address, const ocsd_vaddr_t en_address, const ocsd_mem_space_acc_t mem_space, Fn_MemAccID_CB p_cb_func, const void *p_context)
OpenCSD : Decode tree element.
ocsd_err_t addBinFileRegionMemAcc(const ocsd_file_mem_region_t *region_array, const int num_regions, const ocsd_mem_space_acc_t mem_space, const std::string &filepath)
OpenCSD: Open CoreSight Trace Decoder -Master include file for C++ library.
Interface to target memory access.
enum _ocsd_datapath_op_t ocsd_datapath_op_t
static ocsdDefaultErrorLogger * getDefaultErrorLogger()
The library default error logger.
enum _memacc_mapper_t memacc_mapper_t
DecodeTreeElement * getDecoderElement(const uint8_t CSID) const
Interface class to an instruction opcode decoder.
uint32_t(* Fn_MemAccID_CB)(const void *p_context, const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space, const uint8_t trcID, const uint32_t reqBytes, uint8_t *byteBuffer)
ocsd_err_t addBufferMemAcc(const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space, const uint8_t *p_mem_buffer, const uint32_t mem_length)
uint32_t ocsd_trc_index_t
DecodeTreeElement * getFirstElement(uint8_t &elemID)
static void setAlternateErrorLogger(ITraceErrorLog *p_error_logger)
enum _ocsd_mem_space_acc_t ocsd_mem_space_acc_t
std::vector< ItemPrinter * > & getPrinterList()
ocsd_err_t setIDFilter(std::vector< uint8_t > &ids)
ID filtering - sets the output filter on the trace deformatter.
void logMappedRanges()
Log the mapped memory ranges to the default message logger.
ocsd_err_t createDecoder(const std::string &decoderName, const int createFlags, const CSConfig *pConfig)
void setGenTraceElemOutI(ITrcGenElemIn *i_gen_trace_elem)
Decoded Trace output.
ocsd_err_t addGenElemPrinter(TrcGenericElementPrinter **ppPrinter)
ocsd_err_t addBinFileMemAcc(const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space, const std::string &filepath)
ocsd_err_t removeMemAccByAddress(const ocsd_vaddr_t address, const ocsd_mem_space_acc_t mem_space)
Base Packet processing interface.
void setMemAccessI(ITargetMemAccess *i_mem_access)
static void DestroyDecodeTree(DecodeTree *p_dcd_tree)
Destroy a decode tree.
ocsd_err_t addRawFramePrinter(RawFramePrinter **ppPrinter, uint32_t flags)
DecodeTree()
default constructor
TraceFormatterFrameDecoder * getFrameDeformatter() const
Get the Trace Frame de-mux.
Interface to either trace data frame deformatter or packet processor.