⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ssp_cmd.c

📁 abstract rtos
💻 C
📖 第 1 页 / 共 4 页
字号:
            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 + -