更新日期: 2022/06/01 来源: https://gitee.com/weharmony/kernel_liteos_a_note
trace_pipeline.h
浏览该文件的文档.
1/*
2 * Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved.
3 * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without modification,
6 * are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice, this list of
9 * conditions and the following disclaimer.
10 *
11 * 2. Redistributions in binary form must reproduce the above copyright notice, this list
12 * of conditions and the following disclaimer in the documentation and/or other materials
13 * provided with the distribution.
14 *
15 * 3. Neither the name of the copyright holder nor the names of its contributors may be used
16 * to endorse or promote products derived from this software without specific prior written
17 * permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
23 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
26 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
28 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
29 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef _TRACE_PIPELINE_H
33#define _TRACE_PIPELINE_H
34
35#include "los_typedef.h"
36
37#ifdef __cplusplus
38#if __cplusplus
39extern "C" {
40#endif /* __cplusplus */
41#endif /* __cplusplus */
42/// trace管道操作
43typedef struct { // 串口实现方式:g_serialOps
44 UINT32 (*init)(VOID);///< 初始化
45 VOID (*dataSend)(UINT16 len, UINT8 *data);///< 将数据发送给串口
46 UINT32 (*dataRecv)(UINT8 *data, UINT32 size, UINT32 timeout);///< 接收数据
47 UINT32 (*wait)(VOID);///< 等待
49
50/* used as tlv's tag */
52 NOTIFY, ///< 通知信息 即发送 TraceNotifyFrame
53 HEAD, ///< 数据头信息, 即发送 TraceBaseHeaderInfo
54 OBJ, ///< 指对象(例如:任务) 即发送 ObjData
55 EVENT, ///< 指事件(例如:定时器开始) 即发送 TraceEventFrame
57};
58
60 CMD = 0x1,
62};
63
65 ENDIAN = 0x1,
73};
74
76 ADDR = 0x1,
79};
80
82 CORE = 0x1,
91};
92
93extern VOID OsTracePipelineReg(const TracePipelineOps *ops);
94extern UINT32 OsTracePipelineInit(VOID);
95
96extern VOID OsTraceDataSend(UINT8 type, UINT16 len, UINT8 *data);
97extern UINT32 OsTraceDataRecv(UINT8 *data, UINT32 size, UINT32 timeout);
98extern UINT32 OsTraceDataWait(VOID);
99
100#ifdef __cplusplus
101#if __cplusplus
102}
103#endif /* __cplusplus */
104#endif /* __cplusplus */
105
106#endif /* _TRACE_PIPELINE_H */
unsigned short UINT16
Definition: los_typedef.h:56
unsigned char UINT8
Definition: los_typedef.h:55
unsigned int UINT32
Definition: los_typedef.h:57
trace管道操作
TraceMsgType
@ EVENT
指事件(例如:定时器开始) 即发送 TraceEventFrame
@ HEAD
数据头信息, 即发送 TraceBaseHeaderInfo
@ OBJ
指对象(例如:任务) 即发送 ObjData
@ NOTIFY
通知信息 即发送 TraceNotifyFrame
@ TRACE_MSG_MAX
TraceNotifySubType
@ CMD
@ PARAMS
TraceEvtSubType
@ EVENT_PARAMS
@ EVENT_LR
@ EVENT_CODE
@ CUR_PID
@ CORE
@ EVENT_COUNT
@ CUR_TASK
@ CUR_TIME
@ IDENTITY
UINT32 OsTraceDataWait(VOID)
TraceHeadSubType
@ OBJ_COUNT
@ ENDIAN
@ VERSION
@ CUR_OBJ_INDEX
@ CLOCK_FREQ
@ MAX_RECODE
@ OBJ_SIZE
@ CUR_INDEX
TraceObjSubType
@ PRIO
@ NAME
@ ADDR
UINT32 OsTracePipelineInit(VOID)
UINT32 OsTraceDataRecv(UINT8 *data, UINT32 size, UINT32 timeout)
VOID OsTracePipelineReg(const TracePipelineOps *ops)
VOID OsTraceDataSend(UINT8 type, UINT16 len, UINT8 *data)