更新日期: 2022/06/01 来源: https://gitee.com/weharmony/kernel_liteos_a_note
trace_pipeline.h 文件参考

浏览源代码.

结构体

struct  TracePipelineOps
 trace管道操作 更多...
 

枚举

enum  TraceMsgType {
  NOTIFY , HEAD , OBJ , EVENT ,
  TRACE_MSG_MAX
}
 
enum  TraceNotifySubType { CMD = 0x1 , PARAMS }
 
enum  TraceHeadSubType {
  ENDIAN = 0x1 , VERSION , OBJ_SIZE , OBJ_COUNT ,
  CUR_INDEX , MAX_RECODE , CUR_OBJ_INDEX , CLOCK_FREQ
}
 
enum  TraceObjSubType { ADDR = 0x1 , PRIO , NAME }
 
enum  TraceEvtSubType {
  CORE = 0x1 , EVENT_CODE , CUR_TIME , EVENT_COUNT ,
  CUR_TASK , IDENTITY , EVENT_PARAMS , CUR_PID ,
  EVENT_LR
}
 

函数

VOID OsTracePipelineReg (const TracePipelineOps *ops)
 
UINT32 OsTracePipelineInit (VOID)
 
VOID OsTraceDataSend (UINT8 type, UINT16 len, UINT8 *data)
 
UINT32 OsTraceDataRecv (UINT8 *data, UINT32 size, UINT32 timeout)
 
UINT32 OsTraceDataWait (VOID)
 

枚举类型说明

◆ TraceEvtSubType

枚举值
CORE 
EVENT_CODE 
CUR_TIME 
EVENT_COUNT 
CUR_TASK 
IDENTITY 
EVENT_PARAMS 
CUR_PID 
EVENT_LR 

在文件 trace_pipeline.h81 行定义.

81 {
82 CORE = 0x1,
89 CUR_PID,
91};
@ EVENT_PARAMS
@ EVENT_LR
@ EVENT_CODE
@ CUR_PID
@ CORE
@ EVENT_COUNT
@ CUR_TASK
@ CUR_TIME
@ IDENTITY

◆ TraceHeadSubType

枚举值
ENDIAN 
VERSION 
OBJ_SIZE 
OBJ_COUNT 
CUR_INDEX 
MAX_RECODE 
CUR_OBJ_INDEX 
CLOCK_FREQ 

在文件 trace_pipeline.h64 行定义.

64 {
65 ENDIAN = 0x1,
66 VERSION,
73};
@ OBJ_COUNT
@ ENDIAN
@ VERSION
@ CUR_OBJ_INDEX
@ CLOCK_FREQ
@ MAX_RECODE
@ OBJ_SIZE
@ CUR_INDEX

◆ TraceMsgType

枚举值
NOTIFY 

通知信息 即发送 TraceNotifyFrame

HEAD 

数据头信息, 即发送 TraceBaseHeaderInfo

OBJ 

指对象(例如:任务) 即发送 ObjData

EVENT 

指事件(例如:定时器开始) 即发送 TraceEventFrame

TRACE_MSG_MAX 

在文件 trace_pipeline.h51 行定义.

51 {
52 NOTIFY, ///< 通知信息 即发送 TraceNotifyFrame
53 HEAD, ///< 数据头信息, 即发送 TraceBaseHeaderInfo
54 OBJ, ///< 指对象(例如:任务) 即发送 ObjData
55 EVENT, ///< 指事件(例如:定时器开始) 即发送 TraceEventFrame
57};
@ EVENT
指事件(例如:定时器开始) 即发送 TraceEventFrame
@ HEAD
数据头信息, 即发送 TraceBaseHeaderInfo
@ OBJ
指对象(例如:任务) 即发送 ObjData
@ NOTIFY
通知信息 即发送 TraceNotifyFrame
@ TRACE_MSG_MAX

◆ TraceNotifySubType

枚举值
CMD 
PARAMS 

在文件 trace_pipeline.h59 行定义.

59 {
60 CMD = 0x1,
61 PARAMS,
62};
@ CMD
@ PARAMS

◆ TraceObjSubType

枚举值
ADDR 
PRIO 
NAME 

在文件 trace_pipeline.h75 行定义.

75 {
76 ADDR = 0x1,
77 PRIO,
78 NAME,
79};
@ PRIO
@ NAME
@ ADDR

函数说明

◆ OsTraceDataRecv()

UINT32 OsTraceDataRecv ( UINT8 data,
UINT32  size,
UINT32  timeout 
)

在文件 trace_pipeline.c146 行定义.

147{
148 return g_tracePipelineOps->dataRecv(data, size, timeout);
149}
UINT32(* dataRecv)(UINT8 *data, UINT32 size, UINT32 timeout)
接收数据
STATIC const TracePipelineOps * g_tracePipelineOps
这是这个函数的调用关系图:

◆ OsTraceDataSend()

VOID OsTraceDataSend ( UINT8  type,
UINT16  len,
UINT8 data 
)

在文件 trace_pipeline.c130 行定义.

131{
132 UINT32 intSave;
133 UINT8 outBuf[LOSCFG_TRACE_TLV_BUF_SIZE] = {0};
134
135 if ((type >= TRACE_MSG_MAX) || (len > LOSCFG_TRACE_TLV_BUF_SIZE)) {
136 return;
137 }
138
139 len = OsTraceDataEncode(type, g_traceTlvTbl[type], data, &outBuf[0], sizeof(outBuf));
140
141 PIPE_LOCK(intSave);
142 g_tracePipelineOps->dataSend(len, &outBuf[0]);
143 PIPE_UNLOCK(intSave);
144}
UINT32 OsTraceDataEncode(UINT8 type, const TlvTable *table, UINT8 *src, UINT8 *dest, INT32 destLen)
Encode trace raw data.
Definition: trace_tlv.c:115
unsigned char UINT8
Definition: los_typedef.h:55
unsigned int UINT32
Definition: los_typedef.h:57
VOID(* dataSend)(UINT16 len, UINT8 *data)
将数据发送给串口
STATIC TlvTable * g_traceTlvTbl[]
函数调用图:
这是这个函数的调用关系图:

◆ OsTraceDataWait()

UINT32 OsTraceDataWait ( VOID  )

在文件 trace_pipeline.c151 行定义.

152{
153 return g_tracePipelineOps->wait();
154}
UINT32(* wait)(VOID)
等待
这是这个函数的调用关系图:

◆ OsTracePipelineInit()

UINT32 OsTracePipelineInit ( VOID  )

说明trace将打印到串口上

在文件 trace_pipeline_serial.c84 行定义.

85{
86 OsTracePipelineReg(&g_serialOps);///说明trace将打印到串口上
87 return g_serialOps.init();
88}
UINT32(* init)(VOID)
初始化
VOID OsTracePipelineReg(const TracePipelineOps *ops)
STATIC const TracePipelineOps g_serialOps
函数调用图:
这是这个函数的调用关系图:

◆ OsTracePipelineReg()

VOID OsTracePipelineReg ( const TracePipelineOps ops)

在文件 trace_pipeline.c125 行定义.

126{
127 g_tracePipelineOps = ops;
128}
这是这个函数的调用关系图: