WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
log_buffer.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2018-2020. All rights reserved.
3 * Description: LOG BUFFER INTERFACE
4 */
5
6#ifndef NON_OS_LOG_BUFFER_H
7#define NON_OS_LOG_BUFFER_H
8
9#include <stdint.h>
10#include "log_buffer_common.h"
11#include "log_memory_section.h"
12
18#define CHR_VALUE_NULL 0
19#define CHR_VALUE_SHFIT_24BIT 24
20#define CHR_INFO1_SHFIT_16BIT 16
21#define CHR_INFO2_SHFIT_8BIT 8
22#define CHR_VALUE_MASK 0xff
23#define CHR_BUFFER_WL_RATIO 2
24#define CHR_EXTEND_PARAM_MAX_LEN 128
25
26#define chr_tws_value_group(EVENT, INFO1, INFO2, INFO3) (((uint32_t)((uint32_t)(EVENT) & CHR_VALUE_MASK) << \
27 CHR_VALUE_SHFIT_24BIT) | \
28 ((uint32_t)((uint32_t)(INFO1) & CHR_VALUE_MASK) << \
29 CHR_INFO1_SHFIT_16BIT) | \
30 ((uint32_t)((uint32_t)(INFO2) & CHR_VALUE_MASK) << \
31 CHR_INFO2_SHFIT_8BIT) | \
32 ((INFO3) & CHR_VALUE_MASK))
33
34#define chr_wear_value_group(EVENT, INFO1, INFO2, INFO3) (((uint32_t)((uint32_t)(EVENT) & CHR_VALUE_MASK) << \
35 CHR_VALUE_SHFIT_24BIT) | \
36 ((uint32_t)((uint32_t)(INFO1) & CHR_VALUE_MASK) << \
37 CHR_INFO1_SHFIT_16BIT) | \
38 ((uint32_t)((uint32_t)(INFO2) & CHR_VALUE_MASK) << \
39 CHR_INFO2_SHFIT_8BIT) | \
40 ((INFO3) & CHR_VALUE_MASK))
41
49
58
59#define EVENT_ID_BEGIN 943900000
60#define EVENT_ID_END 943999999
61#define get_event_id(id, info1) (EVENT_ID_BEGIN + (((id) << 8) | (info1)))
62
69
70// upload chr type
71typedef enum {
72 CHR_DFT = 0x0,
73 CHR_UE_INT = 0x01,
74 CHR_UE_STR = 0x02,
79
80typedef struct {
81 uint32_t time_stamp;
82 uint32_t event_id; // diff from the 1 byte event ids, compose of EVENT_BEGIN | eventId<<8 | info1
83 uint8_t event_info; // info2
84 uint8_t magic_number;
85 uint8_t chr_up_type; // upload chr format type
86 uint8_t role; // byte align
87 uint32_t sub_event_info; // info3
88 uint32_t version;
89 uint32_t psn;
91
92#ifdef FEATURE_PLT_LB_CHECK
93typedef enum {
94 LOG_BUF_RET_OK = 0,
95 LOG_BUF_RLW_MAGIC_ERROR = 1,
96 LOG_RET_RGW_TOEND_MAGIC_ERROR = 2,
97 LOG_RET_RGW_LASTONE_MAGIC_ERROR = 3,
98 LOG_RET_MEMCPY_ERROR = 4,
99} log_buffer_check_error_t;
100#endif
101
102#pragma pack(1)
103typedef struct {
104 uint8_t type; // 0-event, 1-error.
105 uint8_t event_id;
106 uint8_t info1;
107 uint8_t info2;
108 uint16_t info3;
109 uint8_t data_len;
112#pragma pack()
113
119
120#if (BTH_WITH_SMART_WEAR == YES) && defined(SUPPORT_IPC)
125void massdata_record_system_event(uint8_t event_id, uint8_t info1, uint8_t info2, uint8_t info3);
126
131void massdata_record_system_error(uint8_t event_id, uint8_t info1, uint8_t info2, uint8_t info3);
132
133#else
134#if (CORE == APPS)
143void chr_record_ue(uint8_t eid, uint8_t sub_eid, uint8_t code, uint32_t sub_code);
144
149void massdata_record_system_event(uint8_t event_id, uint8_t info1, uint8_t info2, uint32_t info3);
150
155void massdata_record_system_error(uint8_t event_id, uint8_t info1, uint8_t info2, uint32_t info3);
156
157#elif (CORE == BT)
158
159void massdata_set_role(uint8_t role);
160
169void chr_record_ue(uint8_t eid, uint8_t sub_eid, uint8_t code, uint32_t sub_code);
170
175void massdata_record_system_event(uint8_t event_id, uint8_t info1, uint8_t info2, uint32_t info3);
176
181void massdata_record_system_error(uint8_t event_id, uint8_t info1, uint8_t info2, uint32_t info3);
182#endif
183#endif
184
185void log_buffer_massdata_record_system_error_wear(uint8_t event_id, uint8_t info1, uint8_t info2, uint8_t info3);
186
192
197uint32_t mass_data_write_roll_buffer(const uint8_t *data, uint32_t length);
198
204
211uint32_t massdata_triger_queue(const uint8_t *pay_i, uint32_t type);
212
219void log_buffer_write(const log_buffer_header_t *lb_header, const uint8_t *buffer, bool *was_empty);
220
227
228#ifdef FEATURE_PLT_LB_CHECK
229uint8_t log_buffer_check(void);
230#endif
231
232#if (USE_COMPRESS_LOG_INSTEAD_OF_SDT_LOG == YES)
233log_ret_t compress_log_write(const uint8_t *data, uint32_t length);
234#endif
235
240void log_buffer_record_system_event(uint32_t chr_event);
241
246void log_buffer_record_system_error(uint32_t chr_error);
247
253
257#endif
chr_type_t
Definition log_buffer.h:71
void massdata_record_system_event(uint8_t event_id, uint8_t info1, uint8_t info2, uint32_t info3)
record the system event.
Definition log_buffer.c:566
log_ret_t compress_log_write(const uint8_t *data, uint32_t length)
Definition log_buffer.c:307
uint32_t mass_data_write_roll_buffer(const uint8_t *data, uint32_t length)
write seg in the mass share mem.
Definition log_buffer.c:705
mass_data_ret_t
Definition log_buffer.h:50
void chr_record_ue(uint8_t eid, uint8_t sub_eid, uint8_t code, uint32_t sub_code)
record the system event
Definition log_buffer.c:496
#define CHR_EXTEND_PARAM_MAX_LEN
Definition log_buffer.h:24
log_memory_region_section_t
LOG MEMORY REGIONS
Definition log_memory_definitions.h:20
struct system_event_s_t system_error_s_t
void massdata_record_system_error(uint8_t event_id, uint8_t info1, uint8_t info2, uint32_t info3)
record the system error.
Definition log_buffer.c:534
void log_buffer_write(const log_buffer_header_t *lb_header, const uint8_t *buffer, bool *was_empty)
Add data to the circular buffer with updating the write index.
Definition log_buffer.c:123
void log_buffer_massdata_record_system_error_wear(uint8_t event_id, uint8_t info1, uint8_t info2, uint8_t info3)
void log_buffer_init(log_memory_region_section_t logsec)
Initialize the log buffer module to log in the given log memory region section.
Definition log_buffer.c:272
log_ret_t
Definition log_buffer.h:42
void log_buffer_record_system_error(uint32_t chr_error)
Record chr error
Definition log_buffer.c:789
uint32_t massdata_triger_queue(const uint8_t *pay_i, uint32_t type)
triger mass data to flush by queue.
Definition log_buffer.c:527
mass_point_type_t
Definition log_buffer.h:63
log_ret_t log_buffer_get_available_for_next_message(uint32_t *av)
Get the available space for the next message
Definition log_buffer.c:288
void log_buffer_record_system_event(uint32_t chr_event)
Record chr event
Definition log_buffer.c:770
mass_data_memory_region_section_t
MASSDATA MEMORY REGIONS
Definition log_memory_definitions.h:38
void mass_buffer_init(mass_data_memory_region_section_t sec)
init the mass share mem.
Definition log_buffer.c:386
uint32_t massdata_triger_event(void)
triger mass data to flush.
void massdata_record_system_info_with_extend(chr_extend_data_t *extend_data)
Record chr info with extend parameter.
@ CHR_UE_BETA
Definition log_buffer.h:76
@ CHR_END
Definition log_buffer.h:77
@ CHR_DFT
Definition log_buffer.h:72
@ CHR_UE_JSON
Definition log_buffer.h:75
@ CHR_UE_STR
Definition log_buffer.h:74
@ CHR_UE_INT
Definition log_buffer.h:73
@ MASS_RET_ERROR_NOT_ENOUGH_SPACE
Definition log_buffer.h:53
@ MASS_MEM_COPY_FAIL
Definition log_buffer.h:55
@ MASS_OVER_BUFFER_THD
Definition log_buffer.h:56
@ MASS_RET_ERROR_IN_PARAMETERS
Definition log_buffer.h:52
@ MASS_RET_ERROR_CORRUPT_SHARED_MEMORY
Definition log_buffer.h:54
@ MASS_RET_OK
Definition log_buffer.h:51
@ LOG_RET_OK
Definition log_buffer.h:43
@ LOG_RET_ERROR_NOT_ENOUGH_SPACE
Definition log_buffer.h:45
@ LOG_RET_ERROR_OVERFLOW
Definition log_buffer.h:47
@ LOG_RET_ERROR_CORRUPT_SHARED_MEMORY
Definition log_buffer.h:46
@ LOG_RET_ERROR_IN_PARAMETERS
Definition log_buffer.h:44
@ MASS_ERROR_POINT_EXTEND
Definition log_buffer.h:67
@ MASS_ERROR_POINT
Definition log_buffer.h:65
@ MASS_EVENT_POINT
Definition log_buffer.h:64
@ MASS_EVENT_POINT_EXTEND
Definition log_buffer.h:66
osal_u8 type
Definition oal_net.h:0
osal_u8 code
Definition oal_net.h:1
Definition log_buffer.h:103
uint8_t data_len
Definition log_buffer.h:109
uint16_t info3
Definition log_buffer.h:108
uint8_t info1
Definition log_buffer.h:106
uint8_t info2
Definition log_buffer.h:107
uint8_t type
Definition log_buffer.h:104
uint8_t event_id
Definition log_buffer.h:105
Definition log_buffer.h:80
uint32_t event_id
Definition log_buffer.h:82
uint32_t time_stamp
Definition log_buffer.h:81
uint8_t chr_up_type
Definition log_buffer.h:85
uint32_t version
Definition log_buffer.h:88
uint32_t sub_event_info
Definition log_buffer.h:87
uint8_t event_info
Definition log_buffer.h:83
uint8_t role
Definition log_buffer.h:86
uint8_t magic_number
Definition log_buffer.h:84
uint32_t psn
Definition log_buffer.h:89
Definition hal_uart_v151_regs_def.h:38