📄 ssp_cmd.c
字号:
aos_sprintf(szBuffer,"%-3d %-8s %-4d %-10d %-8x\r\n", i,szName, g_pstSem[i].flags, g_pstSem[i].value, (U32)g_pstSem[i].sys_sem); lRet = (S32)cli_out_string_wait(ulUserIndex,szBuffer,&ulCurrentLine); if(lRet == CLI_DISPLAY_STOP) { ulDisplay = AOS_FAIL; } } } aos_sprintf(szBuffer,"\r\ntotal num:%d,display num:%d",ulSemCount,ulSemDisplay); cli_out_string(ulUserIndex,szBuffer);}VOID aos_cmd_show_que(U32 argc,S8 * argv[]){ U32 ulDisplay; U32 i,j; U32 ulUserIndex; U32 ulCurrentLine; U32 ulQueCount; U32 ulQueDisplay; S32 lRet; U32 ulFlag; U32 ulMaxMsg; U32 ulMsgSize; S8 szBuffer[80]; S8 szName[AOS_NAME_LEN+1]; ulDisplay = AOS_SUCC; ulCurrentLine = 0; ulQueCount = 0; ulQueDisplay = 0; lRet = aos_atol(argv[0], (S32 *)&ulUserIndex); if(lRet != AOS_SUCC) { cli_out_string(0,"\r\nshow que:get userindex error!!!\r\n"); return; } if(argc > 2) { cli_out_string(0,"\r\nshow que:too many parameter!!!\r\n"); return; } cli_out_string(ulUserIndex, "\r\nID Name Flag MaxMsgNum MaxMsgSize CurMsgNum SysID(0x)\r\n"); for(i = 0;i < CONFIG_QUE_NUM;i++) { if(g_pstMque[i].status == QUE_CB_FREE) { continue; } ulQueCount++; if(ulDisplay == AOS_SUCC) { ulQueDisplay++; for(j = 0;j < AOS_NAME_LEN;j++) { szName[j] = (S8)(g_pstMque[i].name[j]); } szName[j] = '\0'; lRet = (S32)aos_mq_info(i,&ulFlag,&ulMaxMsg,&ulMsgSize); if(lRet == AOS_SUCC) { aos_sprintf(szBuffer,"%-3d %-8s %-4d %-10d %-10d %-10d %-8x\r\n", i,szName, ulFlag, ulMaxMsg, ulMsgSize, aos_mq_curmsgs(i), (U32)g_pstMque[i].sys_mq); lRet = (S32)cli_out_string_wait(ulUserIndex,szBuffer,&ulCurrentLine); if(lRet == CLI_DISPLAY_STOP) { ulDisplay = AOS_FAIL; } } } } aos_sprintf(szBuffer,"\r\ntotal num:%d,display num:%d",ulQueCount,ulQueDisplay); cli_out_string(ulUserIndex,szBuffer);}VOID aos_cmd_show_smem(U32 argc,S8 * argv[]){ U32 ulDisplay; U32 ulUserIndex; U32 ulCurrentLine; U32 ulSmemDisplay; S32 lRet; S8 szBuffer[80]; S8 szName[AOS_NAME_LEN+1]; STA_MEM_S * pSmem; ulDisplay = AOS_SUCC; ulCurrentLine = 0; ulSmemDisplay = 0; pSmem = g_pstStaMemList; lRet = aos_atol(argv[0], (S32*)&ulUserIndex); if(lRet != AOS_SUCC) { cli_out_string(0,"\r\nshow smem:get userindex error!!!\r\n"); return; } if(argc > 2) { cli_out_string(0,"\r\nshow smem:too many parameter!!!\r\n"); return; } cli_out_string(ulUserIndex,"\r\nAddr(0x) Size mpe name sid tick \r\n"); while(pSmem != NULL) { if(ulDisplay == AOS_SUCC) { ulSmemDisplay += pSmem->len; if( AOS_SUCC != aos_mpe_name(pSmem->mpe,szName ) ) { aos_sprintf(szName,"%s","nulmpe"); } aos_sprintf(szBuffer,"%-8x %-10d %-3d %-8s %-3d %-10d\r\n", pSmem->s_mem, pSmem->len, pSmem->mpe, szName, pSmem->sid, pSmem->tick ); lRet = (S32)cli_out_string_wait(ulUserIndex,szBuffer,&ulCurrentLine); if(lRet == CLI_DISPLAY_STOP) { ulDisplay = AOS_FAIL; } } pSmem = pSmem->next; } aos_sprintf(szBuffer,"\r\ntotal len:0x%x,display len:0x%x",g_ulTotalStaMemSize,ulSmemDisplay); cli_out_string(ulUserIndex,szBuffer);}VOID aos_cmd_show_slab(U32 argc,S8 * argv[]){ U32 ulDisplay; U32 i,j; U32 ulUserIndex; U32 ulCurrentLine; U32 ulSlabCount; U32 ulSlabDisplay; S32 lRet; S8 szBuffer[80]; S8 szName[MAX_SLAB_NAME_LEN+1]; ulDisplay = AOS_SUCC; ulCurrentLine = 0; ulSlabCount = 0; ulSlabDisplay = 0; lRet = aos_atol(argv[0], (S32*)&ulUserIndex); if(lRet != AOS_SUCC) { cli_out_string(0,"\r\nshow slab:get userindex error!!!\r\n"); return; } if(argc > 2) { cli_out_string(0,"\r\nshow slab:too many parameter!!!\r\n"); return; } cli_out_string(ulUserIndex, "\r\nID Name Objsize ObjNum PageNum SlabNum Waste\r\n"); for(i = 0;i < CONFIG_MEM_BUF_NUM;i++) { if(g_pstMemBuf[i].status == FALSE) { continue; } ulSlabCount++; if(ulDisplay == AOS_SUCC) { ulSlabDisplay++; for(j = 0;j < MAX_SLAB_NAME_LEN;j++) { szName[j] = g_pstMemBuf[i].name[j]; } szName[j] = '\0'; aos_sprintf(szBuffer,"%-3d %-16s %-8d %-6d %-7d %-7d %-8d\r\n", i,szName, g_pstMemBuf[i].objsize, g_pstMemBuf[i].objnum, g_pstMemBuf[i].page_num, g_pstMemBuf[i].slab_num, g_pstMemBuf[i].page_num*MEM_PAGE_SIZE - g_pstMemBuf[i].objnum * g_pstMemBuf[i].objsize); lRet = (S32)cli_out_string_wait(ulUserIndex,szBuffer,&ulCurrentLine); if(lRet == CLI_DISPLAY_STOP) { ulDisplay = AOS_FAIL; } } } aos_sprintf(szBuffer,"\r\ntotal num:%d,display num:%d",ulSlabCount,ulSlabDisplay); cli_out_string(ulUserIndex,szBuffer); aos_sprintf(szBuffer,"\r\nSlab PoolSize=0x%x AllocFlag=<%u,%u,%u>\r\n", g_ulSlabPoolSize, slab_dbg_info.is_slab_s_insufficient, slab_dbg_info.is_page_insufficient, slab_dbg_info.is_release_slab); cli_out_string(ulUserIndex,szBuffer); }VOID aos_cmd_show_page (U32 argc,S8 * argv[]){ U32 ulUserIndex; S32 lRet; U32 pageNo,ulFreePageNum = 0,ulMngtPageNum = 0,ulFixPageNum = 0,ulSlabPageNum = 0; U32 ulErrPageNum = 0; S8 string[128]; lRet = aos_atol(argv[0], (S32*)&ulUserIndex); if( AOS_SUCC != lRet ) { cli_out_string(0,"\r\nget userindex error!!!\r\n"); return; } for( pageNo = 0; pageNo < g_ulPageNum; pageNo++ ) { switch( g_pstPages[pageNo].status ) { case PAGE_FREE: ulFreePageNum++; break; case PAGE_MNG: ulMngtPageNum++; break; case PAGE_FIX: ulFixPageNum++; break; case PAGE_SLAB: ulSlabPageNum++; break; default: ulErrPageNum++; break; } } aos_sprintf(string,"\r\nTotal memory size : 0x%7x,page num=%u", MEM_PAGE_SIZE*g_ulPageNum,g_ulPageNum ); cli_out_string(ulUserIndex,string); aos_sprintf(string,"\r\nManagement memory size: 0x%7x,page num=%u", MEM_PAGE_SIZE*ulMngtPageNum,ulMngtPageNum ); cli_out_string(ulUserIndex,string); aos_sprintf(string,"\r\nDynamic memory size : 0x%7x,page num=%u", MEM_PAGE_SIZE*ulSlabPageNum,ulSlabPageNum ); cli_out_string(ulUserIndex,string); aos_sprintf(string,"\r\nStatic memory size : 0x%7x,page num=%u", MEM_PAGE_SIZE*ulFixPageNum,ulFixPageNum ); cli_out_string(ulUserIndex,string); aos_sprintf(string,"\r\nFree memory size : 0x%7x,page num=%u\r\n", MEM_PAGE_SIZE*ulFreePageNum,ulFreePageNum ); cli_out_string(ulUserIndex,string); if( ulErrPageNum ) { aos_sprintf(string,"Error memory size : 0x%7x,page num=%u\r\n", MEM_PAGE_SIZE*ulErrPageNum,ulErrPageNum ); cli_out_string(ulUserIndex,string); }}VOID aos_cmd_show_dmem (U32 argc,S8 * argv[]){ U32 ulUserIndex; S32 lRet; U32 ulMemSize = 0; U32 ulMpeID = U32_BUTT; U32 ulSID = U32_BUTT; U32 ulTickNum = 0; S8 *szCmdHelp = { "\r\ncommand format:\r\n" " show memory detail \r\n" " show memory detail {check}\r\n" " show memory detail {all|memsize} \r\n" " show memory detail {all|memsize} {mpeid [sid]} | all} \r\n" " show memory detail {all|memsize} {{mpeid [sid]} | all} tick\r\n" }; lRet = aos_atol(argv[0], (S32*)&ulUserIndex); if( AOS_SUCC != lRet ) { cli_out_string(0,"\r\nget userindex error!!!\r\n"); return; } if(argc < 2) { cli_out_string(ulUserIndex,"\r\ntoo few paramters\r\n"); cli_out_string(ulUserIndex,szCmdHelp); return; } if(argc > 6) { cli_out_string(ulUserIndex,"\r\ntoo many paramters\r\n"); cli_out_string(ulUserIndex,szCmdHelp); return; } if(argc == 2) { ulMemSize = 0; ulMpeID = U32_BUTT; ulSID = U32_BUTT; ulTickNum = 0; aos_cmd_show_dmem_details(ulUserIndex,ulMemSize,ulMpeID,ulSID,ulTickNum, 0); return; } if(argc == 3 && 0 == aos_strcmp(argv[2],"?") ) { cli_out_string(ulUserIndex,szCmdHelp); return; } if(argc == 3) { if( 0 == aos_stricmp(argv[2],"check") ) { ulMemSize = 0; ulMpeID = U32_BUTT; ulSID = U32_BUTT; ulTickNum = 0; aos_cmd_show_dmem_details(ulUserIndex,ulMemSize,ulMpeID,ulSID,ulTickNum,1); return; } if(aos_smd_show_dmem_getsize(argv[2],&ulMemSize) != AOS_SUCC) { cli_out_string(ulUserIndex, "\r\nIncorrect momery size\r\n"); return; } ulMpeID = U32_BUTT; ulSID = U32_BUTT; ulTickNum = 0; aos_cmd_show_dmem_details(ulUserIndex,ulMemSize,ulMpeID,ulSID,ulTickNum,0); return; } if(argc == 4) { if(aos_smd_show_dmem_getsize(argv[2],&ulMemSize) != AOS_SUCC) { cli_out_string(ulUserIndex, "\r\nIncorrect momery size\r\n"); return; } if(aos_smd_show_dmem_getmpe(argv[3],&ulMpeID) != AOS_SUCC) { cli_out_string(ulUserIndex, "\r\nIncorrect MPE ID\r\n"); return; } ulSID = U32_BUTT; ulTickNum = 0; aos_cmd_show_dmem_details(ulUserIndex,ulMemSize,ulMpeID,ulSID,ulTickNum,0); return; } if(argc == 5) { if(aos_smd_show_dmem_getsize(argv[2],&ulMemSize) != AOS_SUCC) { cli_out_string(ulUserIndex, "\r\nIncorrect momery size\r\n"); return; } if(aos_smd_show_dmem_getmpe(argv[3],&ulMpeID) != AOS_SUCC) { cli_out_string(ulUserIndex, "\r\nIncorrect MPE ID\r\n"); return; } if(ulMpeID == U32_BUTT) { ulSID = U32_BUTT; lRet = aos_atoul(argv[4], &ulTickNum); if(lRet != AOS_SUCC) { cli_out_string(ulUserIndex,"\r\nIncorrect tick num\r\n"); return; } } else { lRet = aos_atoul(argv[4], &ulSID); if(lRet != AOS_SUCC) { cli_out_string(ulUserIndex,"\r\nIncorrect SID\r\n"); return; } ulTickNum = 0; } aos_cmd_show_dmem_details(ulUserIndex,ulMemSize,ulMpeID,ulSID,ulTickNum,0); return; } if(argc == 6) { if(aos_smd_show_dmem_getsize(argv[2],&ulMemSize) != AOS_SUCC) { cli_out_string(ulUserIndex, "\r\nIncorrect momery size\r\n"); return; } if(aos_smd_show_dmem_getmpe(argv[3],&ulMpeID) != AOS_SUCC) { cli_out_string(ulUserIndex, "\r\nIncorrect MPE ID\r\n"); return; } if(ulMpeID == U32_BUTT) { cli_out_string(ulUserIndex,"\r\nIncorrect MPE ID\r\n"); return; } lRet = aos_atoul(argv[4], &ulSID); if(lRet != AOS_SUCC) { cli_out_string(ulUserIndex,"\r\nIncorrect SID\r\n"); return; } lRet = aos_atoul(argv[5], &ulTickNum); if(lRet != AOS_SUCC) { cli_out_string(ulUserIndex,"\r\nIncorrect tick num\r\n"); return; } if(ulTickNum == 0) { cli_out_string(ulUserIndex,"\r\ntick num cannot be 0\r\n"); return; } aos_cmd_show_dmem_details(ulUserIndex,ulMemSize,ulMpeID,ulSID,ulTickNum,0); return; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -