管理员
  
- 积分
- 165394
- 金钱
- 165394
- 注册时间
- 2010-12-1
- 在线时间
- 2112 小时
|
发表于 2016-7-20 23:24:14
|
显示全部楼层
[mw_shl_code=c,true]//释放内存(外部调用)
//memx:所属内存块
//ptr:内存首地址
void myfree(u8 memx,void *ptr)
{
OS_CPU_SR cpu_sr=0;
u32 offset;
if(ptr==NULL)return; //地址为0.
OS_ENTER_CRITICAL(); //添加保护
offset=(u32)ptr-(u32)mallco_dev.membase[memx];
my_mem_free(memx,offset); //释放内存
OS_EXIT_CRITICAL();
}
//分配内存(外部调用)
//memx:所属内存块
//size:内存大小(字节)
//返回值:分配到的内存首地址.
void *mymalloc(u8 memx,u32 size)
{
OS_CPU_SR cpu_sr=0;
u32 offset;
OS_ENTER_CRITICAL(); //添加保护
offset=my_mem_malloc(memx,size);
OS_EXIT_CRITICAL();
if(offset==0XFFFFFFFF)return NULL;
else return (void*)((u32)mallco_dev.membase[memx]+offset);
} [/mw_shl_code] |
|