コード例 #1
0
/*****************************************************************************
* 函 数 名  : mdrv_smalloc
*
* 功能描述  :为分配一个内存。
*
* 输入参数  : size: 需要分配的字节的数量
*
* 输出参数  : 无
* 返 回 值  :     NULL : 分配内存失败
*            非NULL指针: 分配内存成功,该指针指向分配的内存块的指针
****************************************************************************/
void* mdrv_smalloc (unsigned int size,MEM_POOL_TYPE flags)
{
#ifdef CONFIG_MEM
    return bsp_smalloc(size, flags);
#else
    return NULL;
#endif
}
コード例 #2
0
STATIC u32 mem_smalloc_test(u32 size)
{
    void * pret = bsp_smalloc(size, MEM_ICC_DDR_POOL);
    if(pret)
    {
        mem_print_dbg("sucess BSP_Malloc addr:%x   size:%d", pret, size);
        bsp_sfree(pret);
        return MEM_TEST_OK;
    }
    else
    {
        mem_print_error("fail! BSP_Malloc addr:%x   size:%d", pret, size);
        return MEM_TEST_ERROR;
    }

}
コード例 #3
0
STATIC s32 use_smem_test(int size)
{
    u32* pret = (u32*)bsp_smalloc(size, MEM_ICC_DDR_POOL);
    u32* praw = pret;
    u32  rawsize = size;
    if(pret)
    {
        mem_print_dbg("sucess BSP_Malloc addr:%x   size:%d", pret, size);
        while(size > 0)
        {
            size -= sizeof(u32);
            *pret = ACORE_MAGIC_NUM;
            pret++;
        }
        taskDelay(200);
        size = rawsize;
        pret = praw;
        while(size > 0)
        {
            size -= sizeof(u32);
            if(*pret != ACORE_MAGIC_NUM)
            {
                mem_print_error("fail! Use smalloc fail addr:%x     size:%d", pret, size);
                return MEM_TEST_ERROR;
            }
            pret++;
        }

        bsp_sfree(praw);
        return MEM_TEST_OK;
    }
    else
    {
        mem_print_error("fail! BSP_Malloc addr:%x   size:%d", pret, size);
        return MEM_TEST_ERROR;
    }
}