|
WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
|

结构体 | |
| struct | TraceClientCmd |
| struct | TraceNotifyFrame |
| struct | TraceOfflineHeaderInfo |
| struct | TraceBaseHeaderInfo |
| struct | TraceEventFrame |
| struct | ObjData |
| struct | OfflineHead |
宏定义 | |
| #define | _T(x) x |
| #define | LOSCFG_TRACE_OBJ_MAX_NUM 0 |
| #define | LOSCFG_TRACE_TLV_BUF_SIZE 100 |
| #define | LOS_ERRNO_TRACE_ERROR_STATUS LOS_ERRNO_OS_ERROR(LOS_MOD_TRACE, 0x00) |
| #define | LOS_ERRNO_TRACE_NO_MEMORY LOS_ERRNO_OS_ERROR(LOS_MOD_TRACE, 0x01) |
| #define | LOS_ERRNO_TRACE_BUF_TOO_SMALL LOS_ERRNO_OS_ERROR(LOS_MOD_TRACE, 0x02) |
| #define | LOS_ERRNO_TRACE_BUF_IS_NULL LOS_ERRNO_OS_ERROR(LOS_MOD_TRACE, 0x03) |
类型定义 | |
| typedef BOOL(* | TRACE_HWI_FILTER_HOOK) (UINT32 hwiNum) |
| Define the type of trace hardware interrupt filter hook function. | |
枚举 | |
| enum | TraceState { TRACE_UNINIT = 0 , TRACE_INITED , TRACE_STARTED , TRACE_STOPED } |
| enum | LOS_TRACE_MASK { TRACE_SYS_FLAG = 0x10 , TRACE_HWI_FLAG = 0x20 , TRACE_TASK_FLAG = 0x40 , TRACE_SWTMR_FLAG = 0x80 , TRACE_MEM_FLAG = 0x100 , TRACE_QUE_FLAG = 0x200 , TRACE_EVENT_FLAG = 0x400 , TRACE_SEM_FLAG = 0x800 , TRACE_MUX_FLAG = 0x1000 , TRACE_MAX_FLAG = 0x80000000 , TRACE_USER_DEFAULT_FLAG = 0xFFFFFFF0 } |
| enum | LOS_TRACE_TYPE { SYS_ERROR = TRACE_SYS_FLAG | 0 , SYS_START = TRACE_SYS_FLAG | 1 , SYS_STOP = TRACE_SYS_FLAG | 2 , HWI_CREATE = TRACE_HWI_FLAG | 0 , HWI_CREATE_NODE = TRACE_HWI_FLAG | 1 , HWI_DELETE = TRACE_HWI_FLAG | 2 , HWI_DELETE_NODE = TRACE_HWI_FLAG | 3 , HWI_RESPONSE_IN = TRACE_HWI_FLAG | 4 , HWI_RESPONSE_OUT = TRACE_HWI_FLAG | 5 , HWI_ENABLE = TRACE_HWI_FLAG | 6 , HWI_DISABLE = TRACE_HWI_FLAG | 7 , HWI_TRIGGER = TRACE_HWI_FLAG | 8 , HWI_SETPRI = TRACE_HWI_FLAG | 9 , HWI_CLEAR = TRACE_HWI_FLAG | 10 , HWI_SETAFFINITY = TRACE_HWI_FLAG | 11 , HWI_SENDIPI = TRACE_HWI_FLAG | 12 , TASK_CREATE = TRACE_TASK_FLAG | 0 , TASK_PRIOSET = TRACE_TASK_FLAG | 1 , TASK_DELETE = TRACE_TASK_FLAG | 2 , TASK_SUSPEND = TRACE_TASK_FLAG | 3 , TASK_RESUME = TRACE_TASK_FLAG | 4 , TASK_SWITCH = TRACE_TASK_FLAG | 5 , TASK_SIGNAL = TRACE_TASK_FLAG | 6 , SWTMR_CREATE = TRACE_SWTMR_FLAG | 0 , SWTMR_DELETE = TRACE_SWTMR_FLAG | 1 , SWTMR_START = TRACE_SWTMR_FLAG | 2 , SWTMR_STOP = TRACE_SWTMR_FLAG | 3 , SWTMR_EXPIRED = TRACE_SWTMR_FLAG | 4 , MEM_ALLOC = TRACE_MEM_FLAG | 0 , MEM_ALLOC_ALIGN = TRACE_MEM_FLAG | 1 , MEM_REALLOC = TRACE_MEM_FLAG | 2 , MEM_FREE = TRACE_MEM_FLAG | 3 , MEM_INFO_REQ = TRACE_MEM_FLAG | 4 , MEM_INFO = TRACE_MEM_FLAG | 5 , QUEUE_CREATE = TRACE_QUE_FLAG | 0 , QUEUE_DELETE = TRACE_QUE_FLAG | 1 , QUEUE_RW = TRACE_QUE_FLAG | 2 , EVENT_CREATE = TRACE_EVENT_FLAG | 0 , EVENT_DELETE = TRACE_EVENT_FLAG | 1 , EVENT_READ = TRACE_EVENT_FLAG | 2 , EVENT_WRITE = TRACE_EVENT_FLAG | 3 , EVENT_CLEAR = TRACE_EVENT_FLAG | 4 , EVENT_COND_READ = TRACE_EVENT_FLAG | 5 , EVENT_COND_WRITE = TRACE_EVENT_FLAG | 6 , SEM_CREATE = TRACE_SEM_FLAG | 0 , SEM_DELETE = TRACE_SEM_FLAG | 1 , SEM_PEND = TRACE_SEM_FLAG | 2 , SEM_POST = TRACE_SEM_FLAG | 3 , MUX_CREATE = TRACE_MUX_FLAG | 0 , MUX_DELETE = TRACE_MUX_FLAG | 1 , MUX_PEND = TRACE_MUX_FLAG | 2 , MUX_POST = TRACE_MUX_FLAG | 3 } |
函数 | |
| UINT32 | LOS_TraceInit (void *buf, UINT32 size) |
| Initialize the trace when the system startup. | |
| UINT32 | LOS_TraceStart (void) |
| Start trace. | |
| void | LOS_TraceStop (void) |
| Stop trace sample. | |
| void | LOS_TraceReset (void) |
| Clear the trace buf. | |
| void | LOS_TraceEventMaskSet (UINT32 mask) |
| Set trace event mask. | |
| void | LOS_TraceRecordDump (BOOL toClient) |
| Offline trace buffer display. | |
| OfflineHead * | LOS_TraceRecordGet (void) |
| Offline trace buffer export. | |
| void | LOS_TraceHwiFilterHookReg (TRACE_HWI_FILTER_HOOK hook) |
| Hwi num filter hook. | |
| #define _T | ( | x | ) | x |
It's the total size of trace buffer. Its unit is char. When dynamic memory not enabled, the address and size is calculated by symbols defined in the linker script. Recommended to define the section size using #LOSCFG_TRACE_BUFFER_SIZE. Version number
| #define LOS_ERRNO_TRACE_BUF_IS_NULL LOS_ERRNO_OS_ERROR(LOS_MOD_TRACE, 0x03) |
Trace error code: Passed NULL to LOS_TraceInit and dynamic memory not enabled.
Value: 0x02001403
Solution: Pass a valid memory address or enable dynamic memory allocation.
| #define LOS_ERRNO_TRACE_BUF_TOO_SMALL LOS_ERRNO_OS_ERROR(LOS_MOD_TRACE, 0x02) |
Trace error code: Insufficient memory for trace struct.
Value: 0x02001402
Solution: Increase trace buffer's size.
| #define LOS_ERRNO_TRACE_ERROR_STATUS LOS_ERRNO_OS_ERROR(LOS_MOD_TRACE, 0x00) |
Trace error code: init trace failed.
Value: 0x02001400
Solution: Follow the trace State Machine.
| #define LOS_ERRNO_TRACE_NO_MEMORY LOS_ERRNO_OS_ERROR(LOS_MOD_TRACE, 0x01) |
Trace error code: Insufficient memory for trace buf init.
Value: 0x02001401
Solution: Expand the configured system memory or decrease the value defined by LOS_TRACE_BUFFER_SIZE.
| #define LOSCFG_TRACE_OBJ_MAX_NUM 0 |
Trace records the max number of objects(kernel object, like tasks). if set to 0, trace will not record any object.
| #define LOSCFG_TRACE_TLV_BUF_SIZE 100 |
Trace tlv encode buffer size, the buffer is used to encode one piece raw frame to tlv message in online mode.
Define the type of trace hardware interrupt filter hook function.
| hwiNum | [IN] Type UINT32. The hardware interrupt number. |
| enum LOS_TRACE_MASK |
Trace mask is used to filter events in runtime. Each mask keep only one unique bit to 1, and user can define own module's trace mask.
| 枚举值 | |
|---|---|
| TRACE_SYS_FLAG | |
| TRACE_HWI_FLAG | |
| TRACE_TASK_FLAG | |
| TRACE_SWTMR_FLAG | |
| TRACE_MEM_FLAG | |
| TRACE_QUE_FLAG | |
| TRACE_EVENT_FLAG | |
| TRACE_SEM_FLAG | |
| TRACE_MUX_FLAG | |
| TRACE_MAX_FLAG | |
| TRACE_USER_DEFAULT_FLAG | |
| enum LOS_TRACE_TYPE |
Trace event type which indicate the exactly happend events, user can define own module's event type like TRACE_::MODULE::_FLAG | NUMBER. 28 4 0 0 0 0 0 0 0 0 X X X X X X X X 0 0 0 0 0 0 | | | trace_module_flag number
| enum TraceState |
|
extern |
Set trace event mask.
| mask | [IN] Type UINT32. The mask used to filter events of LOS_TRACE_MASK. |
| #NA. |
|
extern |
Hwi num filter hook.
| hook | [IN] Type TRACE_HWI_FILTER_HOOK. The user defined hook for hwi num filter, the hook should return true if you don't want trace this hwi num. |
| #None |
Initialize the trace when the system startup.
| buf | [IN] Type VOID *. The ptr is trace buffer address, if ptr is NULL, system will malloc a new one in trace offline mode if dynamic memory management is enabled. Otherwise, return an error. |
| size | [IN] Type UINT32. The trace buffer's size. |
| LOS_ERRNO_TRACE_ERROR_STATUS | 0x02001400: The trace status is not TRACE_UNINIT. |
| LOS_ERRNO_TRACE_NO_MEMORY | 0x02001401: The memory is not enough for initialization. |
| LOS_ERRNO_TRACE_BUF_TOO_SMALL | 0x02001402: Trace buf size not enough. |
| LOS_ERRNO_TRACE_BUF_IS_NULL | 0x02001403: Pass NULL to ptr and dynamic memory not enabled. |
| LOS_ERRNO_TSK_TCB_UNAVAILABLE | 0x02000211: No free task control block is available. |
| LOS_ERRNO_TSK_MP_SYNC_RESOURCE | 0x02000225: Mp sync resource create failed |
| LOS_OK | 0x00000000: The initialization is successful. |
|
extern |
Offline trace buffer display.
| toClient | [IN] Type BOOL. Whether send trace data to Client through pipeline. |
| #NA |
|
extern |
Offline trace buffer export.
| NA |
| #OfflineHead* | The trace buffer's address, analyze this buffer according to the structure of OfflineHead. |
|
extern |
Clear the trace buf.
| None. |
| #NA |
|
extern |
Start trace.
| None. |
| LOS_ERRNO_TRACE_ERROR_STATUS | 0x02001400: Trace start failed. |
| LOS_OK | 0x00000000: Trace start success. |
|
extern |
Stop trace sample.
| None. |
| #None. |