📄 ssp_smem.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 + -