33#ifdef LOSCFG_SHELL_CMD_DEBUG
39#define OS_ALL_SWTMR_MASK 0xffffffff
40#define SWTMR_STRLEN 12
60 PRINTK(
"%7u%10s%8s%12u%7u%#12x%#12x\n",
61 swtmr->
usTimerID % LOSCFG_BASE_CORE_SWTMR_LIMIT,
72 PRINTK(
"\r\nSwTmrID State Mode Interval Count Arg handlerAddr\n");
83 for (index = 0; index < LOSCFG_BASE_CORE_SWTMR_LIMIT; index++, swtmr1++) {
89 if (num == LOSCFG_BASE_CORE_SWTMR_LIMIT) {
90 PRINTK(
"\r\nThere is no swtmr was created!\n");
94 if (timerID == OS_ALL_SWTMR_MASK) {
96 for (index = 0; index < LOSCFG_BASE_CORE_SWTMR_LIMIT; index++, swtmr++) {
102 for (index = 0; index < LOSCFG_BASE_CORE_SWTMR_LIMIT; index++, swtmr++) {
103 if ((timerID == (
size_t)(swtmr->
usTimerID % LOSCFG_BASE_CORE_SWTMR_LIMIT)) && (swtmr->
ucState != 0)) {
109 PRINTK(
"\r\nThe SwTimerID is not exist.\n");
114#ifdef LOSCFG_SWTMR_DEBUG
120 PRINTK(
"SwtmrID Cpuid Mode Period(us) WaitTime(us) WaitMax(us) RTime(us) RTimeMax(us) ReTime(us)"
121 " ReTimeMax(us) RunCount LostNum Handler\n");
122 for (
UINT32 index = 0; index < LOSCFG_BASE_CORE_SWTMR_LIMIT; index++) {
136 UINT64 runTimeMax = (base->
runTimeMax * OS_NS_PER_CYCLE) / OS_SYS_NS_PER_US;
139 PRINTK(
"%4u%10u%7s%14u%13llu%12llu%10llu%13llu%10llu%14llu%15llu%11u%#12x\n",
156 timerID = OS_ALL_SWTMR_MASK;
157#ifdef LOSCFG_SWTMR_DEBUG
158 }
else if (strcmp(
"-t", argv[0]) == 0) {
163 timerID = strtoul(argv[0], &endPtr, 0);
164 if ((endPtr == NULL) || (*endPtr != 0) || (timerID > LOSCFG_BASE_CORE_SWTMR_LIMIT)) {
165 PRINTK(
"\nswtmr ID can't access %s.\n", argv[0]);
173 PRINTK(
" swtmr --- Information about all created software timers.\n");
174 PRINTK(
" swtmr ID --- Specifies information about a software timer.\n");
@ CMD_TYPE_EX
不支持标准命令参数输入,会把用户填写的命令关键字屏蔽掉,例如:输入ls /ramfs,传入给注册函数的参数只有/ramfs,而ls命令关键字并不会被传入。
LITE_OS_SEC_TEXT UINT32 LOS_SwtmrTimeGet(UINT16 swtmrID, UINT32 *tick)
接口函数 获得软件定时器剩余Tick数 通过 *tick 带走
LITE_OS_SEC_BSS SWTMR_CTRL_S * g_swtmrCBArray
UINT32 OsSwtmrDebugDataGet(UINT32 swtmrID, SwtmrDebugData *data, UINT32 len, UINT8 *mode)
BOOL OsSwtmrDebugDataUsed(UINT32 swtmrID)
SWTMR_PROC_FUNC pfnHandler
STATIC VOID OsSwtmrTimeInfoShow(VOID)
LITE_OS_SEC_TEXT_MINOR UINT32 OsShellCmdSwtmrInfoGet(INT32 argc, const CHAR **argv)
STATIC UINT32 SwtmrBaseInfoGet(UINT32 timerID)
shell命令之swtmr 命令用于查询系统软件定时器相关信息。
STATIC INLINE VOID OsPrintSwtmrMsgHead(VOID)
LITE_OS_SEC_DATA_MINOR STATIC CHAR g_shellSwtmrMode[][SWTMR_STRLEN]
STATIC VOID OsPrintSwtmrMsg(const SWTMR_CTRL_S *swtmr)
LITE_OS_SEC_DATA_MINOR STATIC CHAR g_shellSwtmrStatus[][SWTMR_STRLEN]
SHELLCMD_ENTRY(swtmr_shellcmd, CMD_TYPE_EX, "swtmr", 1,(CmdCallBackFunc) OsShellCmdSwtmrInfoGet)
u32_t(* CmdCallBackFunc)(u32_t argc, const char **argv)