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

浏览源代码.

函数

VOID SetExcInfoRW (log_read_write_fn func)
 
log_read_write_fn GetExcInfoRW (VOID)
 获取异常信息读写函数 更多...
 
VOID SetExcInfoBuf (CHAR *buf)
 设置异常信息的缓存 更多...
 
CHARGetExcInfoBuf (VOID)
 获取异常信息的缓存 更多...
 
VOID SetExcInfoIndex (UINT32 index)
 设置异常信息索引位 更多...
 
UINT32 GetExcInfoIndex (VOID)
 获取异常信息索引位 更多...
 
VOID SetRecordAddr (UINT32 addr)
 
UINT32 GetRecordAddr (VOID)
 
VOID SetRecordSpace (UINT32 space)
 
UINT32 GetRecordSpace (VOID)
 
VOID WriteExcBufVa (const CHAR *format, va_list arg)
 vsnprintf 为C标准库可变参数的实现函数 见于 ..\third_party\musl\kernel\src\stdio\vsnprintf.c 更多...
 
VOID WriteExcInfoToBuf (const CHAR *format,...)
 写异常信息到系统异常信息中心 更多...
 
VOID OsRecordExcInfoTime (VOID)
 记录异常信息产生的时间 更多...
 

函数说明

◆ GetExcInfoBuf()

CHAR * GetExcInfoBuf ( VOID  )

获取异常信息的缓存

在文件 los_excinfo.c64 行定义.

65{
66 return g_excInfoBuf;
67}
STATIC CHAR * g_excInfoBuf
Definition: los_excinfo.c:44
这是这个函数的调用关系图:

◆ GetExcInfoIndex()

UINT32 GetExcInfoIndex ( VOID  )

获取异常信息索引位

在文件 los_excinfo.c74 行定义.

75{
76 return g_excInfoIndex;
77}
STATIC UINT32 g_excInfoIndex
Definition: los_excinfo.c:45
这是这个函数的调用关系图:

◆ GetExcInfoRW()

log_read_write_fn GetExcInfoRW ( VOID  )

获取异常信息读写函数

在文件 los_excinfo.c54 行定义.

55{
56 return g_excInfoRW;
57}
STATIC log_read_write_fn g_excInfoRW
Definition: los_excinfo.c:43
这是这个函数的调用关系图:

◆ GetRecordAddr()

UINT32 GetRecordAddr ( VOID  )

在文件 los_excinfo.c84 行定义.

85{
86 return g_recordAddr;
87}
STATIC UINT32 g_recordAddr
Definition: los_excinfo.c:46
这是这个函数的调用关系图:

◆ GetRecordSpace()

UINT32 GetRecordSpace ( VOID  )

在文件 los_excinfo.c94 行定义.

95{
96 return g_recordSpace;
97}
STATIC UINT32 g_recordSpace
Definition: los_excinfo.c:47
这是这个函数的调用关系图:

◆ OsRecordExcInfoTime()

VOID OsRecordExcInfoTime ( VOID  )

记录异常信息产生的时间

在文件 los_excinfo.c149 行定义.

150{
151#ifdef LOSCFG_FS_VFS
152#define NOW_TIME_LENGTH 24
153 time_t t;
154 struct tm *tmTime = NULL;
155 CHAR nowTime[NOW_TIME_LENGTH];
156
157 (VOID)time(&t);
158 tmTime = localtime(&t);//获取本地时间的标准C库函数
159 if (tmTime == NULL) {
160 return;
161 }
162 (VOID)memset_s(nowTime, sizeof(nowTime), 0, sizeof(nowTime));
163 (VOID)strftime(nowTime, NOW_TIME_LENGTH, "%Y-%m-%d %H:%M:%S", tmTime);//生成时间格式
164#undef NOW_TIME_LENGTH
165 WriteExcInfoToBuf("%s \n", nowTime);
166#endif
167}
VOID WriteExcInfoToBuf(const CHAR *format,...)
写异常信息到系统异常信息中心
Definition: los_excinfo.c:114
char CHAR
Definition: los_typedef.h:63
time_t time(time_t *t)
Definition: time.c:1224
函数调用图:
这是这个函数的调用关系图:

◆ SetExcInfoBuf()

VOID SetExcInfoBuf ( CHAR buf)

设置异常信息的缓存

在文件 los_excinfo.c59 行定义.

60{
61 g_excInfoBuf = buf;
62}

◆ SetExcInfoIndex()

VOID SetExcInfoIndex ( UINT32  index)

设置异常信息索引位

在文件 los_excinfo.c69 行定义.

70{
71 g_excInfoIndex = index;
72}
这是这个函数的调用关系图:

◆ SetExcInfoRW()

VOID SetExcInfoRW ( log_read_write_fn  func)

在文件 los_excinfo.c49 行定义.

50{
51 g_excInfoRW = func;
52}

◆ SetRecordAddr()

VOID SetRecordAddr ( UINT32  addr)

在文件 los_excinfo.c79 行定义.

80{
81 g_recordAddr = addr;
82}

◆ SetRecordSpace()

VOID SetRecordSpace ( UINT32  space)

在文件 los_excinfo.c89 行定义.

90{
91 g_recordSpace = space;
92}

◆ WriteExcBufVa()

VOID WriteExcBufVa ( const CHAR format,
va_list  arg 
)

vsnprintf 为C标准库可变参数的实现函数 见于 ..\third_party\musl\kernel\src\stdio\vsnprintf.c

在文件 los_excinfo.c99 行定义.

100{
101 errno_t ret;
102
104 ret = vsnprintf_s((g_excInfoBuf + g_excInfoIndex), (g_recordSpace - g_excInfoIndex),
105 (g_recordSpace - g_excInfoIndex - 1), format, arglist);
106 if (ret == -1) {
107 PRINT_ERR("exc info buffer is not enough or vsnprintf_s is error.\n");
108 return;
109 }
110 g_excInfoIndex += ret;
111 }
112}
int format(const char *dev, int sectors, int option)
formatting sd card
Definition: format.c:44
函数调用图:
这是这个函数的调用关系图:

◆ WriteExcInfoToBuf()

VOID WriteExcInfoToBuf ( const CHAR format,
  ... 
)

写异常信息到系统异常信息中心

在文件 los_excinfo.c114 行定义.

115{
116 va_list arglist;//va_arg
117 va_start(arglist, format);//从任务栈中取出入栈参数
118 WriteExcBufVa(format, arglist);//入栈参数列表作为实参传入交由vsnprintf处理
119 va_end(arglist);//释放资源
120}
VOID WriteExcBufVa(const CHAR *format, va_list arglist)
vsnprintf 为C标准库可变参数的实现函数 见于 ..\third_party\musl\kernel\src\stdio\vsnprintf.c
Definition: los_excinfo.c:99
函数调用图:
这是这个函数的调用关系图: