本帖最后由 liuchang 于 2016-10-19 11:00 编辑
[mw_shl_code=c,true]u8 lwip_comm_mem_malloc(void)
{
u32 mempsize;
u32 ramheapsize;
mempsize=memp_get_memorysize();
memp_memory=mymalloc(SRAMIN,mempsize);
ramheapsize=LWIP_MEM_ALIGN_SIZE(MEM_SIZE)+2*LWIP_MEM_ALIGN_SIZE(4*3)+MEM_ALIGNMENT;
ram_heap=mymalloc(SRAMIN,ramheapsize);
TCPIP_THREAD_TASK_STK=mymalloc(SRAMIN,TCPIP_THREAD_STACKSIZE*4); //这里可以采用栈内存的方式申请嘛(我之前在创建ucos任务的时候都是创建栈空间)?使用堆方式有啥优点?
//为什么申请的空间是LWIP_DHCP_STK_SIZE*4,这里为什么是*4?为了4字节对齐?还是?
LWIP_DHCP_TASK_STK=mymalloc(SRAMIN,LWIP_DHCP_STK_SIZE*4);
if(!memp_memory||!ram_heap||!TCPIP_THREAD_TASK_STK||!LWIP_DHCP_TASK_STK)
{
lwip_comm_mem_free();
return 1;
}
return 0;
}[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>