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

浏览源代码.

函数

LITE_OS_SEC_TEXT_MINOR BOOL OsSystemExcIsReset (VOID)
 
STATIC void StartWatchdog (void)
 
STATIC void StopWatchdog (void)
 
LITE_OS_SEC_TEXT_MINOR UINT32 OsShellCmdSystemExcReset (INT32 argc, const CHAR **argv)
 
 SHELLCMD_ENTRY (panic_reset_shellcmd, CMD_TYPE_EX, "panicreset", 1,(CmdCallBackFunc) OsShellCmdSystemExcReset)
 

变量

STATIC BOOL systemExcReset = FALSE
 
STATIC UINT16 g_swtmrID
 
STATIC BOOL g_wdStarted = FALSE
 
STATIC DevHandle g_wdHandle
 

函数说明

◆ OsShellCmdSystemExcReset()

LITE_OS_SEC_TEXT_MINOR UINT32 OsShellCmdSystemExcReset ( INT32  argc,
const CHAR **  argv 
)

在文件 panic_shellcmd.c99 行定义.

100{
101 if (argc != 1) {
102 goto EXC_RESET_HELP;
103 }
104
105 if (strcmp(argv[0], "on") == 0) {
106 systemExcReset = TRUE;
108 PRINTK("panicreset on!\n");
109 return LOS_OK;
110 }
111
112 if (strcmp(argv[0], "off") == 0) {
113 systemExcReset = FALSE;
114 StopWatchdog();
115 PRINTK("panicreset off!\n");
116 return LOS_OK;
117 }
118
119EXC_RESET_HELP:
120 PRINTK("usage: panicreset [on/off]\n");
121 return LOS_OK;
122}
STATIC void StartWatchdog(void)
STATIC BOOL systemExcReset
STATIC void StopWatchdog(void)
函数调用图:

◆ OsSystemExcIsReset()

LITE_OS_SEC_TEXT_MINOR BOOL OsSystemExcIsReset ( VOID  )

在文件 panic_shellcmd.c43 行定义.

44{
45 return systemExcReset;
46}
这是这个函数的调用关系图:

◆ SHELLCMD_ENTRY()

SHELLCMD_ENTRY ( panic_reset_shellcmd  ,
CMD_TYPE_EX  ,
"panicreset"  ,
,
(CmdCallBackFunc OsShellCmdSystemExcReset 
)

◆ StartWatchdog()

STATIC void StartWatchdog ( void  )

在文件 panic_shellcmd.c57 行定义.

58{
59 int32_t ret;
60 if (g_wdStarted) {
61 return;
62 }
63
64 ret = WatchdogOpen(0, &g_wdHandle);
65 if (ret != HDF_SUCCESS) {
66 return;
67 }
68 WatchdogSetTimeout(g_wdHandle, WATCHDOG_TIMER_INTERVAL);
69
70 if (LOS_SwtmrCreate(LOSCFG_BASE_CORE_TICK_PER_SECOND * WATCHDOG_TIMER_INTERVAL_HALF, LOS_SWTMR_MODE_PERIOD,
71 (SWTMR_PROC_FUNC)WatchdogFeed, &g_swtmrID, (UINTPTR)g_wdHandle) != LOS_OK) {
72 WatchdogClose(g_wdHandle);
73 g_wdHandle = NULL;
74 return;
75 }
76
77 WatchdogStart(g_wdHandle);
79 g_wdStarted = TRUE;
80}
LITE_OS_SEC_TEXT UINT32 LOS_SwtmrStart(UINT16 swtmrID)
接口函数 启动定时器 参数定时任务ID
Definition: los_swtmr.c:764
VOID(* SWTMR_PROC_FUNC)(UINTPTR arg)
Define the type of a callback function that handles software timer timeout.
Definition: los_swtmr.h:260
LITE_OS_SEC_TEXT_INIT UINT32 LOS_SwtmrCreate(UINT32 interval, UINT8 mode, SWTMR_PROC_FUNC handler, UINT16 *swtmrID, UINTPTR arg)
创建定时器,设置定时器的定时时长、定时器模式、回调函数,并返回定时器ID
Definition: los_swtmr.c:712
@ LOS_SWTMR_MODE_PERIOD
Definition: los_swtmr.h:233
unsigned long UINTPTR
Definition: los_typedef.h:68
STATIC BOOL g_wdStarted
STATIC DevHandle g_wdHandle
STATIC UINT16 g_swtmrID
函数调用图:
这是这个函数的调用关系图:

◆ StopWatchdog()

STATIC void StopWatchdog ( void  )

在文件 panic_shellcmd.c82 行定义.

83{
84 if (!g_wdStarted) {
85 return;
86 }
87
90 g_swtmrID = 0;
91
92 WatchdogStop(g_wdHandle);
93 WatchdogClose(g_wdHandle);
94 g_wdHandle = NULL;
95
96 g_wdStarted = FALSE;
97}
LITE_OS_SEC_TEXT UINT32 LOS_SwtmrStop(UINT16 swtmrID)
接口函数 停止定时器 参数定时任务ID
Definition: los_swtmr.c:808
LITE_OS_SEC_TEXT UINT32 LOS_SwtmrDelete(UINT16 swtmrID)
接口函数 删除定时器
Definition: los_swtmr.c:889
函数调用图:
这是这个函数的调用关系图:

变量说明

◆ g_swtmrID

STATIC UINT16 g_swtmrID

在文件 panic_shellcmd.c53 行定义.

◆ g_wdHandle

STATIC DevHandle g_wdHandle

在文件 panic_shellcmd.c55 行定义.

◆ g_wdStarted

STATIC BOOL g_wdStarted = FALSE

在文件 panic_shellcmd.c54 行定义.

◆ systemExcReset

STATIC BOOL systemExcReset = FALSE

在文件 panic_shellcmd.c41 行定义.