dmesg命令用于控制内核dmesg缓存区。 http://weharmonyos.com/openharmony/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-dmesg.html https://man7.org/linux/man-pages/man1/dmesg.1.html 更多...
函数 | |
LITE_OS_SEC_BSS STATIC | SPIN_LOCK_INIT (g_dmesgSpin) |
STATIC VOID | OsLockConsole (VOID) |
关闭控制台 更多... | |
STATIC VOID | OsUnlockConsole (VOID) |
打开控制台 更多... | |
STATIC VOID | OsLockUart (VOID) |
关闭串口 更多... | |
STATIC VOID | OsUnlockUart (VOID) |
打开串口 更多... | |
STATIC UINT32 | OsCheckError (VOID) |
读取dmesg日志 更多... | |
STATIC INT32 | OsDmesgRead (CHAR *buf, UINT32 len) |
STATIC INT32 | OsCopyToNew (const VOID *addr, UINT32 size) |
把旧人账目移交给新人 更多... | |
STATIC UINT32 | OsDmesgResetMem (const VOID *addr, UINT32 size) |
重置内存 更多... | |
STATIC UINT32 | OsDmesgChangeSize (UINT32 size) |
调整缓冲区大小,如下五个步骤 更多... | |
UINT32 | OsCheckConsoleLock (VOID) |
UINT32 | OsCheckUartLock (VOID) |
UINT32 | OsDmesgInit (VOID) |
初始化 dmesg 更多... | |
STATIC CHAR | OsLogRecordChar (CHAR c) |
只记录一个字符 更多... | |
UINT32 | OsLogRecordStr (const CHAR *str, UINT32 len) |
记录一个字符串 更多... | |
STATIC VOID | OsBufFullWrite (const CHAR *dst, UINT32 logLen) |
STATIC VOID | OsWriteTailToHead (const CHAR *dst, UINT32 logLen) |
从头写入 更多... | |
STATIC VOID | OsWriteTailToEnd (const CHAR *dst, UINT32 logLen) |
从尾写入 更多... | |
INT32 | OsLogMemcpyRecord (const CHAR *buf, UINT32 logLen) |
内存拷贝日志 更多... | |
VOID | OsLogShow (VOID) |
使用串口打印日志 更多... | |
STATIC INT32 | OsDmesgLvSet (const CHAR *level) |
设置日志层级 更多... | |
STATIC INT32 | OsDmesgMemSizeSet (const CHAR *size) |
UINT32 | OsDmesgLvGet (VOID) |
UINT32 | LOS_DmesgLvSet (UINT32 level) |
Set the dmesg level 更多... | |
VOID | LOS_DmesgClear (VOID) |
Clear dmesg log. 更多... | |
UINT32 | LOS_DmesgMemSet (const VOID *addr, UINT32 size) |
设置dmesg缓存大小 更多... | |
INT32 | LOS_DmesgRead (CHAR *buf, UINT32 len) |
读取 dmesg 消息 更多... | |
INT32 | OsDmesgWrite2File (const CHAR *fullpath, const CHAR *buf, UINT32 logSize) |
INT32 | LOS_DmesgToFile (const CHAR *filename) |
将dmesg 保存到文件中 更多... | |
INT32 | LOS_DmesgToFile (CHAR *filename) |
INT32 | OsShellCmdDmesg (INT32 argc, const CHAR **argv) |
dmesg全称是display message (or display driver),即显示信息。 更多... | |
SHELLCMD_ENTRY (dmesg_shellcmd, CMD_TYPE_STD, "dmesg", XARGS,(CmdCallBackFunc) OsShellCmdDmesg) | |
LOS_MODULE_INIT (OsDmesgInit, LOS_INIT_LEVEL_EARLIEST) | |
变量 | |
STATIC DmesgInfo * | g_dmesgInfo = NULL |
保存在 g_mallocAddr 的开始位置,即头信息 更多... | |
STATIC UINT32 | g_logBufSize = 0 |
缓冲区内容体大小 更多... | |
STATIC VOID * | g_mallocAddr = NULL |
缓存区开始位置,即头位置 更多... | |
STATIC UINT32 | g_dmesgLogLevel = 3 |
日志等级 更多... | |
STATIC UINT32 | g_consoleLock = 0 |
用于关闭和打开控制台 更多... | |
STATIC UINT32 | g_uartLock = 0 |
用于关闭和打开串口 更多... | |
STATIC const CHAR * | g_levelString [] |
dmesg命令用于控制内核dmesg缓存区。 http://weharmonyos.com/openharmony/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-dmesg.html https://man7.org/linux/man-pages/man1/dmesg.1.html
+-------------------------------------------------------+ | Info | log_space | +-------------------------------------------------------+ | |__buffer_space Case A: +-------------------------------------------------------+ | |#############################| | +-------------------------------------------------------+ | | Head Tail Case B: +-------------------------------------------------------+ |##########| |#######| +-------------------------------------------------------+ | | Tail Head
在文件 dmesg.c 中定义.
VOID LOS_DmesgClear | ( | VOID | ) |
Clear dmesg log.
None. |
None. |
Set the dmesg level
level | [IN] Type UINT32 The level expected to set, range from 0 to 5. |
#1 | Set dmesg level fail. |
#0 | Set dmesg level success. |
设置dmesg缓存大小
Set dmesg buffer.
读取 dmesg 消息
Read log from dmesg buffer.
将dmesg 保存到文件中
Copy log to file.
LOS_MODULE_INIT | ( | OsDmesgInit | , |
LOS_INIT_LEVEL_EARLIEST | |||
) |
UINT32 OsCheckConsoleLock | ( | VOID | ) |
UINT32 OsCheckUartLock | ( | VOID | ) |
调整缓冲区大小,如下五个步骤
UINT32 OsDmesgInit | ( | VOID | ) |
初始化 dmesg
UINT32 OsDmesgLvGet | ( | VOID | ) |
设置日志层级
重置内存
STATIC VOID OsLockConsole | ( | VOID | ) |
STATIC VOID OsLockUart | ( | VOID | ) |
内存拷贝日志
只记录一个字符
记录一个字符串
VOID OsLogShow | ( | VOID | ) |
使用串口打印日志
dmesg全称是display message (or display driver),即显示信息。
dmesg命令用于控制内核dmesg缓存区 dmesg命令用于显示开机信息 该命令依赖于LOSCFG_SHELL_DMESG,使用时通过menuconfig在配置项中开启"Enable Shell dmesg":
Debug —> Enable a Debug Version —> Enable Shell —> Enable Shell dmesg
dmesg参数缺省时,默认打印缓存区内容。
各“ - ”选项不能混合使用。
写入文件需确保已挂载文件系统。 关闭串口打印会影响shell使用,建议先连接telnet再尝试关闭串口。
dmesg > /usr/dmesg.log。
argc | |
argv |
开启控制台打印。
STATIC VOID OsUnlockConsole | ( | VOID | ) |
STATIC VOID OsUnlockUart | ( | VOID | ) |
从尾写入
从头写入
SHELLCMD_ENTRY | ( | dmesg_shellcmd | , |
CMD_TYPE_STD | , | ||
"dmesg" | , | ||
XARGS | , | ||
(CmdCallBackFunc) | OsShellCmdDmesg | ||
) |
LITE_OS_SEC_BSS STATIC SPIN_LOCK_INIT | ( | g_dmesgSpin | ) |
STATIC const CHAR* g_levelString[] |