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

📄 ssp_smem.c

📁 abstract rtos
💻 C
字号:
#include "syscfg.h"#ifdef __cplusplusextern "C"{#endif #include "sys/sys_pub.h"#include "aos.h"#include "ssp_smem.h"STA_MEM_S *g_pstStaMemList;U32        g_ulTotalStaMemSize;U32 m_smem_init( ){    g_pstStaMemList = NULL;    g_ulTotalStaMemSize = 0;        return AOS_SUCC;}VOID * aos_smem_alloc( MPE mpe, U32 sid, U32 ulSize ){    STA_MEM_S *pNewMem;    U32 lockKey;    if( 0 == ulSize )    {        return NULL;    }        if( ulSize & 0xF )    {        ulSize >>= 4;        ulSize++;        ulSize <<= 4;    }    lockKey = aos_int_lock();    pNewMem =  (STA_MEM_S *)mem_buf_fix( ulSize + sizeof( STA_MEM_S) );    if( NULL == pNewMem )    {        aos_int_unlock(lockKey);        aos_printf( MPE_SYS, "allocate static memory fail,mpe=%d,size=%d\r\n",mpe,ulSize  );        return NULL;    }    pNewMem->magic_number = RED_MAGIC1;    pNewMem->mpe = mpe;    pNewMem->sid = sid;    pNewMem->tick= aos_tick_get();    pNewMem->len = ulSize;        *(U32*)(&pNewMem->s_mem[ulSize]) = RED_MAGIC3;     	        pNewMem->next = g_pstStaMemList;    g_pstStaMemList = pNewMem;    g_ulTotalStaMemSize+=ulSize;    aos_int_unlock(lockKey);        return (VOID*)pNewMem->s_mem;}#ifdef __cplusplus}#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -